// MFCWarpDlg.h : header file // #if !defined(AFX_MFCWARPDLG_H__95FAF32B_EF78_4639_9AEC_2FBFA38FC43E__INCLUDED_) #define AFX_MFCWARPDLG_H__95FAF32B_EF78_4639_9AEC_2FBFA38FC43E__INCLUDED_ #if _MSC_VER > 1000 #pragma once #endif // _MSC_VER > 1000 ///////////////////////////////////////////////////////////////////////////// // CAPIWarpDlg dialog #define RECTWIDTH(lpRect) (((LPRECT) lpRect)->right - ((LPRECT) lpRect)->left) #define RECTHEIGHT(lpRect) (((LPRECT) lpRect)->bottom - ((LPRECT) lpRect)->top) #define PROP_MASTER TEXT("PROP_MASTER") #define PROP_SLAVE TEXT("PROP_SLAVE") class CAPIWarpDlg : public CDialog { // Construction public: // Callback functions static LRESULT CALLBACK MasterWndProcS(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam); static LRESULT CALLBACK SlaveWndProcS(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam); LRESULT CALLBACK MasterWndProc(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam); LRESULT CALLBACK SlaveWndProc(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam); void CreateNewPolygon(); L_FLOAT MatchAspectRatioSize(LPRECT pRect, L_INT nWidth, L_INT nHeight, HWND hWnd); void DisableMasterRadioButtons(); void SetPolygonPoints(); L_VOID CenterBitmap(RECT* pRect, HWND hWnd); L_VOID CreateMasterWindow(); L_VOID CreateSlaveWindow(); L_VOID UpdatePolygonScale(); L_VOID OnMasterVScroll(L_UINT uCode, L_INT nPos); L_VOID OnMasterHScroll(L_UINT uCode, L_INT nPos); L_VOID OnSlaveHScroll(L_UINT uCode, L_INT nPos); L_VOID OnSlaveVScroll(L_UINT uCode, L_INT nPos); L_VOID UpdateMasterScrollBar(L_BOOL bFitImage); L_VOID UpdateSlaveScrollBar(L_BOOL bFitImage); L_VOID SetZoomFactor(); L_BOOL OnMasterEraseBkgnd(HDC hDC); L_BOOL OnSlaveEraseBkgnd(HDC hDC); BITMAPHANDLE m_MasterBitmap; BITMAPHANDLE m_SlaveBitmap; HANNOBJECT m_hAnnPolygon; HANNOBJECT m_hContainer; HANNOBJECT m_hAutomation; RECT m_rcDstMaster; RECT m_rcDstSlave; L_INT m_nZoomFactor; L_BOOL m_bBilinearInterpolate; L_BOOL m_bResampleDisplay; L_INT m_nMasterVscrollMax; L_INT m_nMasterVscrollPos; L_INT m_nMasterVscrollStep; L_INT m_nSlaveVscrollMax; L_INT m_nSlaveVscrollPos; L_INT m_nSlaveVscrollStep; L_INT m_nMasterHscrollMax; L_INT m_nMasterHscrollPos; L_INT m_nMasterHscrollStep; L_INT m_nSlaveHscrollMax; L_INT m_nSlaveHscrollPos; L_INT m_nSlaveHscrollStep; L_BOOL m_bMasterInScroll; L_BOOL m_bSlaveInScroll; HPALETTE m_hMasterPalette; HPALETTE m_hSlavePalette; L_INT m_nMasterWidth; L_INT m_nMasterHeight; ANNPOINT m_Points[4]; HWND m_hWndSlave; HWND m_hWndMaster; CAPIWarpDlg(CWnd* pParent = NULL); // standard constructor // Dialog Data //{{AFX_DATA(CAPIWarpDlg) enum { IDD = IDD_APIWARP_DIALOG }; //}}AFX_DATA // ClassWizard generated virtual function overrides //{{AFX_VIRTUAL(CAPIWarpDlg) protected: virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support //}}AFX_VIRTUAL // Implementation protected: HICON m_hIcon; // Generated message map functions //{{AFX_MSG(CAPIWarpDlg) virtual BOOL OnInitDialog(); afx_msg void OnSysCommand(UINT nID, LPARAM lParam); afx_msg void OnPaint(); afx_msg HCURSOR OnQueryDragIcon(); afx_msg void OnButtonCombine(); afx_msg void OnCheckShowOutline(); afx_msg void OnButtonLoadSlave(); afx_msg void OnCheckBilinearInterpolate(); afx_msg void OnDestroy(); afx_msg void OnButtonLoadMaster(); afx_msg void OnCheckResampleDisplay(); afx_msg void OnMasterFitImage(); afx_msg void OnSlaveFitImage(); afx_msg void OnMasterNormalsize(); afx_msg void OnSlaveNormalsize(); afx_msg void OnQueryNewPalette(); afx_msg void OnPaletteChanged(CWnd* pFocusWnd); afx_msg void OnZoomin(); afx_msg void OnZoomout(); //}}AFX_MSG DECLARE_MESSAGE_MAP() }; //{{AFX_INSERT_LOCATION}} // Microsoft Visual C++ will insert additional declarations immediately before the previous line. #endif // !defined(AFX_MFCWARPDLG_H__95FAF32B_EF78_4639_9AEC_2FBFA38FC43E__INCLUDED_)