#pragma once #include "FrameBufferController.h" #define INITX64_SUCCESS 0 #define INITX64_FAIL_GETSERVER 11 #define INITX64_FAIL_CREATEACQ 12 #define INITX64_FAIL_TDIDIRECTION 13 #define INITX64_FAIL_CAMNVIC 14 #define INITX64_FAIL_CREATEBUFFER 15 #define INITX64_FAIL_VIRTUALBUFFER 16 #define INITX64_FAIL_CREATEXFER 17 #define INITX64_FAIL_INVALID 18 typedef enum { eMIL_GRAB_OFF = 0, eMIL_GRAB_ON, eMIL_SNAP_ON } _eGrabStatus_; #define MAX_DFC_PATH 1024 typedef struct _tag_struct_Grabber_Intialize_Parameter_ { HWND hWnd; BOOL bDemo; int nScanCount; int nGrabBufCount; int nGrabBufSize; int nFrameWidth; int nFrameHeight; int nConnectPort; int nImgFlipX; int nCameraIdx; int nCameraScan; int nBoardIdx; int nBoardCh; char cDCFPath[MAX_DFC_PATH]; char cVICPath[MAX_DFC_PATH]; int nExposure; int nExposureDelay; _tag_struct_Grabber_Intialize_Parameter_() { ZeroMemory(this, sizeof(this)); } } _GRABBER_INIT_PARAM_; class AFX_EXT_CLASS CGrabberControl { public: CGrabberControl(void); virtual ~CGrabberControl(void); public: virtual BOOL Initialize(void *pParam, int *pErrorCode, int iBoard = 0) = 0; // Grabber ÃʱâÈ­ virtual BOOL InitializeBuffer(void *pParam) = 0; ////////////////////////////////////////////////////////////////////////// // Deinit virtual BOOL Deinitialize() = 0; virtual BOOL GrabScanStart(int iScan, BOOL bFreeRun, int nPeriod, int nExposure = 10, BOOL bAuto = TRUE) = 0; virtual BOOL GrabLiveStart(int nExposure = 15) = 0; virtual BOOL GrabScanStop() = 0; virtual BOOL IsGrabbing() = 0; virtual int IsAcqFrame(int nFrameNo, int nThreadIdx = -1) = 0; virtual LPBYTE GetFrameHeader(int iScan, int nFrameNo, BOOL* bSuccess = NULL) = 0; virtual LPBYTE GetFrameHeaderLine(int iScan, int nLine, BOOL* bSuccess = NULL) = 0; virtual BOOL GetSmallImage(int iScan, LPBYTE lpIn, int nXStart, int nYStart, int nXSize, int nYSize, BOOL bMustMapping = TRUE) = 0; virtual int GetStartFrameIdx() { return 0; } virtual int GetEndFrameIdx() { return 0; } virtual void SetSimulFrame(int nFrame) = 0; virtual int GetGrabFrameCount() = 0; virtual void ClearGrabIdx() = 0; virtual stFrameIndex GetGrabFrame() = 0; virtual stFrameIndex GetGrabFrameNoRemove() = 0; virtual CFrameBufferController *GetFrameBuffer() = 0; virtual BOOL SetTriggerMode(BOOL bExTrigger) = 0; };