#pragma once #include "ui_CToolDialog.h" #include "../../Common/DllToolCommon.h" #include "../../ShowUnit/HWndUnit.h" #include #include ////////////////////////////////////////////////////////////////////////// #include #include "CameraApi.h" ////////////////////////////////////////////////////////////////////////// class ToolDialogImpl : public DllToolDialog { Q_OBJECT public: ToolDialogImpl(QWidget *parent, DllTool* pDllTool); ~ToolDialogImpl(); Ui::CToolDialog ui; public: virtual VPEnum::RETURN_VALUE Execute(); virtual void Running(bool bRun); virtual bool Serialized(QDataStream& ar, bool bIsOut); protected: public: HImage m_Image; ToolEvent m_eventOut; signals: void sigUpdateUI(); private slots: void on_UpdateUI(); void on_btnOK_clicked(); void on_btnCancel_clicked(); void on_btnExecute_clicked(); private: void getDevices(tSdkCameraDevInfo** devices, int& count, bool redo = false); bool Initialize(int DeviceNumber, QString varParamPath); static void GrabImageCallback(CameraHandle hCamera, BYTE* pFrameBuffer, tSdkFrameHead* pFrameHead, PVOID pContext); HWndUnit* hwndUnit; int m_hCamera; //设备句柄 unsigned char* m_pRgbBuffer; //处理后数据缓存区 BYTE* m_readBuf; //画板显示数据区 tSdkCameraCapbility m_sCameraInfo; //相机特性描述 std::shared_ptr m_data; QVector grayColourTable; };