ToolDialog.h 1.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182
  1. #pragma once
  2. #include "ui_CToolDialog.h"
  3. #include "../../Common/DllToolCommon.h"
  4. #include "../../ShowUnit/HWndUnit.h"
  5. #include <QBuffer>
  6. #include <QCloseEvent>
  7. //////////////////////////////////////////////////////////////////////////
  8. #include <windows.h>
  9. #include "CameraApi.h"
  10. //////////////////////////////////////////////////////////////////////////
  11. class ToolDialogImpl : public DllToolDialog
  12. {
  13. Q_OBJECT
  14. public:
  15. ToolDialogImpl(QWidget *parent, DllTool* pDllTool);
  16. ~ToolDialogImpl();
  17. Ui::CToolDialog ui;
  18. public:
  19. virtual VPEnum::RETURN_VALUE Execute();
  20. virtual void Running(bool bRun);
  21. virtual bool Serialized(QDataStream& ar, bool bIsOut);
  22. protected:
  23. public:
  24. HImage m_Image;
  25. ToolEvent m_eventOut;
  26. signals:
  27. void sigUpdateUI();
  28. private slots:
  29. void on_UpdateUI();
  30. void on_btnOK_clicked();
  31. void on_btnCancel_clicked();
  32. void on_btnExecute_clicked();
  33. private:
  34. void getDevices(tSdkCameraDevInfo** devices, int& count, bool redo = false);
  35. bool Initialize(int DeviceNumber, QString varParamPath);
  36. static void GrabImageCallback(CameraHandle hCamera, BYTE* pFrameBuffer, tSdkFrameHead* pFrameHead, PVOID pContext);
  37. HWndUnit* hwndUnit;
  38. int m_hCamera; //设备句柄
  39. unsigned char* m_pRgbBuffer; //处理后数据缓存区
  40. BYTE* m_readBuf; //画板显示数据区
  41. tSdkCameraCapbility m_sCameraInfo; //相机特性描述
  42. std::shared_ptr<uchar[]> m_data;
  43. QVector<QRgb> grayColourTable;
  44. };