#ifndef _H_VIDEODEV_VFW_H_ #define _H_VIDEODEV_VFW_H_ #include "videodev.h" class VideoDev_VFW: public VideoDev { private: unsigned char *inframe; int inframe_size; int inframe_w, inframe_h; int inframe_pixfmt; int vfw_size; ConvertData cdata; int camid; HWND cap, hwnd; WNDCLASSEX * hclass; HINSTANCE hinst; int Grab(VideoFrameRaw *vf); int Open(); int Close(); int CaptureStart(); int CaptureStop(); int SetDevCtrl(unsigned int id, int value); int GetDevCtrl(unsigned int id, int *value); int CreateClass(); int DestroyClass(); void HandleMessages(); void GetCapabilities(); void print_error(int err); public: VideoDev_VFW(); ~VideoDev_VFW(); int GetDeviceList(std::list *list); int GetDeviceFormats(string device, std::list *formats); int GetDeviceResolutions(string device, std::list *formats) { return VDEV_STATUS_OK; }; unsigned char * GetFrameBuffer(void) { return inframe; }; void SetFrameBufferSize(int s) { vfw_size = s; }; int GetFrameBufferSize(void) { return vfw_size; }; }; #endif