#pragma once // CDlgAlignCamera 대화 상자입니다. #include "CameraViewAlign.h" #include "CameraControlAlign.h" #include "CHCommonControls/GradientStatic.h" #include "CHCommonControls/FontStatic.h" #include "SharedImageData.h" #include "afxwin.h" #include "CHCommonControls/GridCtrl.h" #include "CHReviewSetting/AlignCalibrator.h" #include "CoordCalibrator.h" #include "akControlPack/akGroupCtrl.h" #include "akControlPack/akButtonColorCtrl.h" #include "akControlPack/akStaticTextCtrl.h" #include "akControlPack/akRadio.h" interface IDialogAlignCamera2Parent { virtual BOOL DAC2P_GetAlignImage(int nType, int nIndex, CCHImageData* pImageData) = 0; virtual void DAC2P_SetLightLevel(int nModuleIndex, int nValue) = 0; virtual void DAC2P_ManualAlignProcess() = 0; virtual void DAC2P_SaveAlignTempImage() = 0; virtual CCoordCalibrator* DAC2P_GetCoordCalibrator() = 0; virtual void DAC2P_SetActiveAlignCameraDialog() = 0; }; class CDlgAlignCamera : public CDialog, public IUpdateProcessStatus { DECLARE_DYNAMIC(CDlgAlignCamera) public: CDlgAlignCamera(CWnd* pParent = NULL); // 표준 생성자입니다. virtual ~CDlgAlignCamera(); void Reset(); void SetDAC2P(IDialogAlignCamera2Parent* pDAC2P) { m_pDAC2P = pDAC2P; } void SetAlignResult(int nResultCode, double dDX, double dDy, double dTheta); virtual void UpdateProcessStatus(int nLineType, int nMachineType, int nProcessStatus, const CGlassResult* pGlassResult); // LJY-20180905 void UpdateAlignResult(const CGlassResult* pGlassResult); // 대화 상자 데이터입니다. enum { IDD = IDD_DLG_ALIGN_CAMERA }; protected: void InitGridAlignInfo(); void InitGridOriginInfo(); void SetGridAlignInfo(); void SetGridOriginInfo(); void SetImageMode(int nMode); protected: CakGroupCtrl m_ctrlGroupCtrl; CakGroupCtrl m_ctrlGroupCtrlAlign; CakButtonColorCtrl m_ctrlGetTempleteImage; CakButtonColorCtrl m_ctrlButtonColorCtrl; IDialogAlignCamera2Parent* m_pDAC2P; CGradientStatic m_ctrlAlignResult; CFontStatic m_ctrlAlignAngle; CFontStatic m_ctrlAlignDx; CFontStatic m_ctrlAlignDy; CFontStatic m_ctrlAlignOx; CFontStatic m_ctrlAlignOy; VectorCameraImageView m_vecCameraImageView; CComboBox m_ctrlViewMode; CRITICAL_SECTION m_csImageCaptured; CSharedImageData m_SharedImageData; CGridCtrl m_ctrlAlignInfo; CGridCtrl m_ctrlOriginInfo; int m_nImageMode; CAlignRecipe m_AlignRecipe; CAlignResult m_AlignResult; SAlignResult m_sPreAlignResult; SAlignResult m_sPostAlignResult; void UpdateCameraView(); void UpdateCameraView(int nCameraIndex); virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV 지원입니다. DECLARE_MESSAGE_MAP() public: afx_msg void OnBnClickedOk(); afx_msg void OnBnClickedCancel(); virtual BOOL OnInitDialog(); afx_msg void OnCbnSelchangeComboViewMode(); virtual BOOL DestroyWindow(); afx_msg void OnTimer(UINT_PTR nIDEvent); afx_msg void OnBnClickedButtonAlignProcess(); CButton m_ctrlImageMode; afx_msg void OnBnClickedRadioImageMode(); afx_msg LRESULT OnProcessStatusUpdate(WPARAM wParam, LPARAM lParam); afx_msg void OnBnClickedButtonGetTempleteImage(); afx_msg BOOL OnEraseBkgnd(CDC* pDC); afx_msg HBRUSH OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor); };