Main Page | Class Hierarchy | Alphabetical List | Class List | File List | Class Members | File Members | Related Pages

Hybrid/vtkWin32VideoSource.h

Go to the documentation of this file.
00001 /*=========================================================================
00002 
00003   Program:   Visualization Toolkit
00004   Module:    $RCSfile: vtkWin32VideoSource.h,v $
00005 
00006   Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
00007   All rights reserved.
00008   See Copyright.txt or http://www.kitware.com/Copyright.htm for details.
00009 
00010      This software is distributed WITHOUT ANY WARRANTY; without even
00011      the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
00012      PURPOSE.  See the above copyright notice for more information.
00013 
00014 =========================================================================*/
00033 #ifndef __vtkWin32VideoSource_h
00034 #define __vtkWin32VideoSource_h
00035 
00036 #include "vtkVideoSource.h"
00037 
00038 class vtkWin32VideoSourceInternal;
00039 
00040 class VTK_HYBRID_EXPORT vtkWin32VideoSource : public vtkVideoSource
00041 {
00042 public:
00043   static vtkWin32VideoSource *New();
00044   vtkTypeRevisionMacro(vtkWin32VideoSource,vtkVideoSource);
00045   void PrintSelf(ostream& os, vtkIndent indent);   
00046 
00048   void Record();
00049 
00051   void Play();
00052 
00054   void Stop();
00055 
00057   void Grab();
00058  
00060   void SetFrameSize(int x, int y, int z);
00061   
00063   void SetFrameRate(float rate);
00064 
00066   void SetOutputFormat(int format);
00067 
00069 
00070   void SetPreview(int p);
00071   vtkBooleanMacro(Preview,int);
00072   vtkGetMacro(Preview,int);
00074 
00076   void VideoFormatDialog();
00077 
00079   void VideoSourceDialog();
00080 
00083   void Initialize();
00084 
00086   void ReleaseSystemResources();
00087 
00089 
00090   void InternalGrab(void*);
00091   void OnParentWndDestroy();
00093 
00094 protected:
00095   vtkWin32VideoSource();
00096   ~vtkWin32VideoSource();
00097 
00098   char WndClassName[16];
00099   int BitMapSize;
00100   int Preview;
00101 
00102   vtkWin32VideoSourceInternal *Internal;
00103 
00104   void CheckBuffer();
00105   void UnpackRasterLine(char *outptr, char *inptr, 
00106                         int start, int count);
00107 
00108   void DoVFWFormatSetup();
00109   void DoVFWFormatCheck();
00110 
00111 private:
00112   vtkWin32VideoSource(const vtkWin32VideoSource&);  // Not implemented.
00113   void operator=(const vtkWin32VideoSource&);  // Not implemented.
00114 };
00115 
00116 #endif
00117 
00118 
00119 
00120 
00121