/*---------------------------------------------------------------------------- | | demo.h | ---------------------------------------------------------------------------*/ #ifndef INC_DEMO #define INC_DEMO // Definitions enum { MENU_FILE_POS, MENU_EDIT_POS, MENU_VIEW_POS, MENU_LAYER_POS, MENU_GROUP_POS, MENU_OBJECT_POS, MENU_OPTIONS_POS, MENU_WINDOW_POS, MENU_HELP_POS }; #define IDM_FIRSTCHILD (999) // Macros #define HANDLE_CMD(hWnd, n, fn) case(n):(void)(fn)((hWnd));break; #define SETCHILDDATA(hWnd, p) SetWindowLong(hWnd, GWL_USERDATA, (LONG)(p)) #define GETCHILDDATA(hWnd) ((LPCHILDDATA) GetWindowLong(hWnd, GWL_USERDATA)) #define CHILDCREATELPARAM(pCreateStruct) (((LPMDICREATESTRUCT) ((pCreateStruct)->lpCreateParams))->lParam) #define ENABLEMENUITEM(hMenu, uId, b) EnableMenuItem((hMenu), (uId), MF_BYCOMMAND | ((b)) ? MF_ENABLED : MF_GRAYED) #define CHECKMENUITEM(hMenu, uId, b) CheckMenuItem((hMenu), (uId), MF_BYCOMMAND | ((b)) ? MF_CHECKED : MF_UNCHECKED) typedef struct tagCREATEDATA { L_TCHAR szFileName[ _MAX_PATH ]; pVECTORHANDLE pVector; L_BOOL bNewVector; VECTORPOINT Min; VECTORPOINT Max; L_INT nEngine; L_BOOL bUseDoubleBuffer; L_INT nFormat; } CREATEDATA, *LPCREATEDATA; typedef struct tagCHILDDATAEX { L_BOOL bValidTooltipObj; VECTOROBJECT TooltipObj; VECTORTOOLTIPDESC TooltipDesc; L_BOOL bValidLink; VECTOROBJECT LinkObj; }CHILDDATAEX, *pCHILDDATAEX; typedef struct tagMOUSEWHEELDATA { L_INT iDeltaPerLine; }MOUSEWHEELDATA, *pMOUSEWHEELDATA; typedef struct tagUNDODATA { L_INT nNumberOfActions; L_TCHAR **szTempFilesNames; L_BOOL bIsDirty; }UNDODATA, *pUNDODATA; typedef struct tagCHILDDATA { L_BOOL bCreatedOK; L_BOOL bNewVector; L_TCHAR szFileName[ _MAX_PATH ]; L_UINT uTitleCount; pVECTORHANDLE pVector; L_BOOL bCapturing; RECT rcCapture; CHILDDATAEX ChildEx; MOUSEWHEELDATA MouseWheelData; UNDODATA UndoData; L_INT nFormat; }CHILDDATA, * LPCHILDDATA; typedef struct _CONVERTDATA { L_TCHAR szFileName[ _MAX_PATH ]; RECT Rect; L_UINT uDPI; HDC hDC; LPCHILDDATA pData; L_BOOL bEMF; }CONVERTDATA, *pCONVERTDATA; // Global variables. extern const L_TCHAR g_szTitle[]; extern const L_TCHAR g_szFrameClass[]; extern const L_TCHAR g_szChildClass[]; extern HINSTANCE g_hInstance; extern HWND g_hWndFrame; extern HWND g_hWndClient; extern HWND g_hWndStatus; extern HMENU g_hMenuFrame; extern HMENU g_hMenuFrameWindow; extern HMENU g_hMenuChild; extern HMENU g_hMenuChildWindow; extern L_BOOL g_bViewOnly; extern L_BOOL g_bIsToolBarVisible; // Functions LRESULT EXT_FUNCTION FrameWindowProc( HWND, L_UINT, WPARAM, LPARAM ); LRESULT EXT_FUNCTION ChildWindowProc( HWND, L_UINT, WPARAM, LPARAM ); L_VOID StatusBarText( const L_CHAR *, ... ); L_INT ShowMessageBox( L_BOOL, L_UINT, const L_TCHAR *, ... ); L_VOID ShowLeadError( L_INT, const L_TCHAR *, const L_TCHAR * ); L_INT DoDialogBoxParam( L_INT, HWND, DLGPROC, LPARAM ); L_VOID Hourglass( L_BOOL ); L_VOID LinkHand( HWND, L_BOOL ); L_VOID SetMyDlgItemDouble( HWND, L_UINT, L_DOUBLE ); L_BOOL GetMyDlgItemDouble( HWND, L_UINT, L_DOUBLE * ); LRESULT CALLBACK ObjectsToolbarProc( HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam ); LRESULT CALLBACK RBProc( HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam ); LRESULT CALLBACK MdiClientProc( HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam ); #endif // INC_DEMO /* EOF ----------------------------------------------------------------------*/