#include #include #include #include #include #include #include #include "resource.h" #include "..\..\..\include\l_bitmap.h" /* LEADTOOLS main header file */ #include "..\..\..\include\l_error.h" /* LEADTOOLS error definition header file */ #define IDB_USERBTN 420 #define WM_USERMSG (WM_USER + 1) #define SZ_FRAMECLASS TEXT("ANNOTATEFRAME") #define SZ_CHILDCLASS TEXT("ANNOTATECHILD") #define RECTWIDTH(lpRect) (((LPRECT) lpRect)->right - ((LPRECT) lpRect)->left) #define RECTHEIGHT(lpRect) (((LPRECT) lpRect)->bottom - ((LPRECT) lpRect)->top) typedef struct tagCONTAINERLIST { HANNOBJECT hContainer; } CONTAINERLIST, FAR * pCONTAINERLIST ; typedef struct tagCHILDDATA { L_INT cxClient; L_INT cyClient; L_INT nHScrollPos; L_INT nVScrollPos; L_INT nHScrollMax; L_INT nVScrollMax; L_INT nHScrollStep; L_INT nVScrollStep; L_BOOL fInScroll; RECT rcView; RECT rcWindow; RECT rcClient; BITMAPHANDLE Bitmap; HANNOBJECT hAutomation; HANNOBJECT hRect; HPALETTE hPalette; HANNOBJECT hEllipse; L_BOOL fCapture; L_BOOL fLeftButtonDown; POINT pt0; L_TCHAR FAR * pszFileName ; HBITMAPLIST hList; L_UINT uPagesCount ; L_UINT uCurPage ; pCONTAINERLIST*ppContList ; L_BOOL bDoubleBuffer; L_HANDLE hDoubleBuffer; } CHILDDATA, FAR *LPCHILDDATA; #define CHILDCREATELPARAM(lpCreateStruct) (((LPMDICREATESTRUCT) ((lpCreateStruct)->lpCreateParams))->lParam) #define HANDLE_WM_USERMSG(hwnd, wParam, lParam, fn) \ (LRESULT)(DWORD)(fn)(hwnd, (L_INT) wParam, lParam) #ifdef WIN32 #define GETHBRBACKGROUND(hwnd) ((HBRUSH) GetClassLong(hwnd, GCL_HBRBACKGROUND)) #else #define GETHBRBACKGROUND(hwnd) ((HBRUSH) GetClassWord(hwnd, GCW_HBRBACKGROUND)) #endif typedef struct tagCREATEDATA { LPTSTR pszTitle; L_INT nPageNumber; } CREATEDATA, L_FAR * LPCREATEDATA; typedef struct _HYPERLINKPARM { L_UINT uType; L_UINT uMsg; WPARAM wParam; L_TCHAR Buffer[2048]; /* buffer big enough to hold web page or application name */ } HYPERLINKPARM, FAR* LPHYPERLINKPARM; #ifdef WIN32 #define CTLID(w, l) LOWORD(w) #define NOTIFYCODE(w, l) HIWORD(w) #define SCROLLPOS(w, l) ((short) HIWORD(w)) #endif #ifndef UNREFERENCED_PARAMETER #define UNREFERENCED_PARAMETER(P) \ { \ (P) = (P); \ } #endif enum { MENU_FILE_POS, MENU_PAGE_POS, MENU_PAGE_ENUMERATE, MENU_PAGE_PREFERENCES, MENU_WINDOW_POS }; BOOL InitApplication (L_VOID); BOOL InitInstance (L_INT nCmdShow); LRESULT CALLBACK FrameWndProc(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam); LRESULT CALLBACK ChildWndProc(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam); L_BOOL CALLBACK L_EXPORT AboutDlgProc (HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam);