VTK
vtkWin32VideoSource.h
Go to the documentation of this file.
1 /*=========================================================================
2 
3  Program: Visualization Toolkit
4  Module: vtkWin32VideoSource.h
5 
6  Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
7  All rights reserved.
8  See Copyright.txt or http://www.kitware.com/Copyright.htm for details.
9 
10  This software is distributed WITHOUT ANY WARRANTY; without even
11  the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
12  PURPOSE. See the above copyright notice for more information.
13 
14 =========================================================================*/
33 #ifndef __vtkWin32VideoSource_h
34 #define __vtkWin32VideoSource_h
35 
36 #include "vtkVideoSource.h"
37 
38 class vtkWin32VideoSourceInternal;
39 
41 {
42 public:
43  static vtkWin32VideoSource *New();
45  void PrintSelf(ostream& os, vtkIndent indent);
46 
48  void Record();
49 
51  void Play();
52 
54  void Stop();
55 
57  void Grab();
58 
60 
61  void SetFrameSize(int x, int y, int z);
62  virtual void SetFrameSize(int dim[3]) {
63  this->SetFrameSize(dim[0], dim[1], dim[2]); };
65 
67  void SetFrameRate(float rate);
68 
70  void SetOutputFormat(int format);
71 
73 
74  void SetPreview(int p);
75  vtkBooleanMacro(Preview,int);
76  vtkGetMacro(Preview,int);
78 
80  void VideoFormatDialog();
81 
83  void VideoSourceDialog();
84 
87  void Initialize();
88 
91 
93 
94  void LocalInternalGrab(void*);
95  void OnParentWndDestroy();
97 
98 protected:
101 
102  char WndClassName[16];
104  int Preview;
105 
106  vtkWin32VideoSourceInternal *Internal;
107 
108  void CheckBuffer();
109  void UnpackRasterLine(char *outptr, char *inptr,
110  int start, int count);
111 
112  void DoVFWFormatSetup();
113  void DoVFWFormatCheck();
114 
115 private:
116  vtkWin32VideoSource(const vtkWin32VideoSource&); // Not implemented.
117  void operator=(const vtkWin32VideoSource&); // Not implemented.
118 };
119 
120 #endif
121 
122 
123 
124 
125