/*[]=====================================================================[]*/ /*[] LeadTools for Windows - []*/ /*[] []*/ /*[] []*/ /*[] Copyright (c) 1991-2000 LEAD Technologies, Inc. []*/ /*[] All Rights Reserved. []*/ /*[]=====================================================================[]*/ #ifndef UNREFERENCED_PARAMETER #define UNREFERENCED_PARAMETER(P) \ { \ (P) = (P); \ } #endif /*--------------------------------------------------------------------------- Menu ID numbers ---------------------------------------------------------------------------*/ #define MENU_MAIN 100 #define IDM_FILE_OPEN 100 #define IDM_FILE_SAVEAS 101 #define IDM_FILE_EXIT 102 #define IDM_VIEW_NORMAL 103 #define IDM_VIEW_ZOOM 104 #define IDM_VIEW_FIT_IMAGE_TO_WINDOW 105 #define IDM_VIEW_SNAP_WINDOW_TO_IMAGE 106 #define IDM_INFORMATION_SUMMARY_INFORMATION 107 #define IDM_INFORMATION_FILE_SOURCE_GROUP 108 #define IDM_INFORMATION_INTELLECTUAL_PROPERTY_GROUP 109 #define IDM_INFORMATION_CONTENT_DESCRIPTION_GROUP 110 #define IDM_INFORMATION_CAMERA_INFORMATION_GROUP 111 #define IDM_INFORMATION_PER_PICTURE_CAMERA_SETTINGS_GROUP 112 #define IDM_INFORMATION_DIGITAL_CAMERA_CHARACTERIZATION_GROUP 113 #define IDM_INFORMATION_FILM_DESCRIPTION_GROUP 114 #define IDM_INFORMATION_ORIGINAL_DOCUMENT_SCAN_DESCRIPTION_GROUP 115 #define IDM_INFORMATION_SCAN_DEVICE_PROPERTY_GROUP 116 #define IDM_TRANSFORMS_ROTATION 117 #define IDM_TRANSFORMS_SHEAR_HORIZONTAL 118 #define IDM_TRANSFORMS_SHEAR_VERTICAL 119 #define IDM_TRANSFORMS_FLIP_HORIZONTAL 120 #define IDM_TRANSFORMS_FLIP_VERTICAL 121 #define IDM_TRANSFORMS_SCALING 122 #define IDM_TRANSFORMS_RESTORE_ORIGINAL_VIEWING_TRANSFORMS 123 #define IDM_TRANSFORMS_IGNORE_VIEWING_TRANSFORMS 124 #define IDM_TRANSFORMS_LIGHTEN 125 #define IDM_TRANSFORMS_SATURATION 126 #define IDM_TRANSFORMS_RED_BALANCE 127 #define IDM_TRANSFORMS_GREEN_BALANCE 128 #define IDM_TRANSFORMS_BLUE_BALANCE 129 #define IDM_TRANSFORMS_CONTRAST 130 #define IDM_TRANSFORMS_SHARPNESS 131 #define IDM_TRANSFORMS_RESTORE_ORIGINAL_COLOR_TRANSFORMS 132 #define IDM_TRANSFORMS_IGNORE_COLOR_TRANSFORMS 133 #define IDM_TRANSFORMS_SAVE_TRANSFORMS_FALSE 134 #define IDM_TRANSFORMS_SAVE_TRANSFORMS_TRUE 135 #define IDM_PREFERENCES_PALETTE_AUTO 136 #define IDM_PREFERENCES_PALETTE_FIXED 137 #define IDM_PREFERENCES_PALETTE_NETSCAPE 138 #define IDM_PREFERENCES_DITHERING_ORDERED 139 #define IDM_PREFERENCES_DITHERING_ERROR_DIFFUSION 140 #define IDM_PREFERENCES_BITONAL_SCALING_NORMAL 141 #define IDM_PREFERENCES_BITONAL_SCALING_FAVOR_BLACK 142 #define IDM_PREFERENCES_BITONAL_SCALING_SCALE_TO_GRAY 143 #define IDM_PREFERENCES_LOADING_BGR_VIDEO_ORDER 144 #define IDM_WINDOW_CASCADE 145 #define IDM_WINDOW_TILE 146 #define IDM_WINDOW_ARRANGE_ICONS 147 #define IDM_WINDOW_CLOSE_ALL 148 #define IDM_HELP_ABOUT 149 #define IDM_FIRSTCHILD 999 #define IDD_ROTATE 102 #define IDD_RESIZE 103 #define IDD_ABORTPRN 104 #define IDD_COLORRES 107 #define IDD_ABOUT 108 #define IDD_RANGE 109 #define IDD_LIST 110 #define IDD_OPEN 111 #define IDD_SAVE 112 #define IDD_STATUSBAR 113 #define IDD_GAMMA 114 #define IDD_NOISE 115 #define IDD_DETECT 116 #define IDD_IMAGEPARM 117 #define IDD_FILEINFO 118 #define IDD_CLRMERGE 119 #define IDD_EMBOSS 120 #define IDD_UNDERLAY 121 #define IDD_STATUSBAR95 122 #define IDD_SAVEOPTIONS 123 #define IDD_PAINTCALLBACK 124 #define IDD_ANIMATION 125 #define IDD_ANIFRAME 126 #define IDD_BITMAPCOLORS 127 #define IDD_FILEINFODICOM 128 #define IDC_STATIC -1 #define IDC_ROTATEEDIT 102 #define IDC_ROTATESCROLL 103 #define IDC_ROTATEOPTION 104 #define IDC_RESIZEWIDTHEDIT 105 #define IDC_RESIZEWIDTHSCROLL 106 #define IDC_RESIZEHEIGHTEDIT 107 #define IDC_RESIZEHEIGHTSCROLL 108 #define IDC_RESIZEASPECT 109 #define IDC_PROGRESSBAR 112 #define IDC_COLORRES1BPP 121 #define IDC_COLORRES4BPP 122 #define IDC_COLORRES8BPP 123 #define IDC_COLORRES16BPP 124 #define IDC_COLORRES24BPP 125 #define IDC_COLORRES32BPP 126 #define IDC_COLORRESOPTIMIZED 127 #define IDC_COLORRESCOLORS 128 #define IDC_COLORRESFIXED 129 #define IDC_COLORRESBGR 130 #define IDC_COLORRESRGB 131 #define IDC_COLORRESIDENTITY 132 #define IDC_COLORRESBPP 133 #define IDC_COLORRESDITHER 134 #define IDC_COLORRESNODITHERING 135 #define IDC_COLORRESFLOYDSTEIN 136 #define IDC_COLORRESBURKES 137 #define IDC_COLORRESSTUCKI 138 #define IDC_COLORRESSIERRA 139 #define IDC_COLORRESSTEVE 140 #define IDC_COLORRESJARVIS 141 #define IDC_COLORRESORDERED 142 #define IDC_ABOUTIMAGE 143 #define IDC_RANGEEDIT 144 #define IDC_RANGESCROLL 145 #define IDC_RANGELABEL 146 #define IDC_LISTBOX 147 #define IDC_LISTLABEL 148 #define IDC_TITLE 149 #define IDC_BITSPIXEL 150 #define IDC_DIMENSIONS 151 #define IDC_PRESSESC 152 #define IDC_ZOOM 153 #define IDC_TITLEFRAME 154 #define IDC_BITSPIXELFRAME 155 #define IDC_DIMENSIONSFRAME 156 #define IDC_PRESSESCFRAME 157 #define IDC_ZOOMFRAME 158 #define IDC_PROGRESSBARFRAME 159 #define IDC_PRODUCTNAME 160 #define IDC_TOOLKITLEVEL 161 #define IDC_VERSION 162 #define IDC_DATE 163 #define IDC_TIME 164 #define IDC_COLORRESPALETTE 165 #define IDC_COLORRESORDER 166 #define IDC_MEMORY 167 #define IDC_MEMORYFRAME 168 #define IDC_GAMMAEDIT 169 #define IDC_GAMMASCROLL 170 #define IDC_NOISEEDIT 171 #define IDC_NOISESCROLL 172 #define IDC_NOISECHANNEL 173 #define IDC_DETECTLOWEDIT 174 #define IDC_DETECTLOWSCROLL 175 #define IDC_DETECTHIGHEDIT 176 #define IDC_DETECTHIGHSCROLL 177 #define IDC_IMAGEFILE 178 #define IDC_IMAGEWIDTH 179 #define IDC_IMAGEHEIGHT 180 #define IDC_IMAGEHORZ 181 #define IDC_IMAGEVERT 182 #define IDC_IMAGEOFFSET 183 #define IDC_IMAGEBONW 184 #define IDC_IMAGEWONB 185 #define IDC_IMAGEMSB 186 #define IDC_IMAGELSB 187 #define IDC_IMAGETYPE 188 #define IDC_INFOFORMAT 189 #define IDC_INFONAME 190 #define IDC_INFOWIDTH 191 #define IDC_INFOHEIGHT 192 #define IDC_INFOBITS 193 #define IDC_INFODISK 194 #define IDC_INFOMEMORY 195 #define IDC_INFOCOMPRESSION 196 #define IDC_INFOPAGE 197 #define IDC_CLRCMYK 198 #define IDC_CLRRGB 199 #define IDC_CLRLABEL1 200 #define IDC_CLRLABEL2 201 #define IDC_CLRLABEL3 202 #define IDC_CLRLABEL4 203 #define IDC_CLRLIST1 204 #define IDC_CLRLIST2 205 #define IDC_CLRLIST3 206 #define IDC_CLRLIST4 207 #define IDC_EMBOSSLIST 208 #define IDC_EMBOSSEDIT 209 #define IDC_EMBOSSSCROLL 210 #define IDC_ULAYTILE 211 #define IDC_ULAYSTRETCH 212 #define IDC_ULAYPATTERN 213 #define IDC_CLRHSV 214 #define IDC_CLRHLS 215 #define IDC_CLRCMY 216 /* KEEP THE FOLLOWING IDC_INFO... ELEMENTS IN THIS ORDER! */ #define IDC_INFOARTIST 217 #define IDC_INFOCOPYRIGHT 218 #define IDC_INFODATETIME 219 #define IDC_INFODESC 220 #define IDC_INFOHOSTCOMP 221 #define IDC_INFOMAKE 222 #define IDC_INFOMODEL 223 #define IDC_INFONAMEOFDOC 224 #define IDC_INFONAMEOFPAGE 225 #define IDC_INFOSOFTWARE 226 /* KEEP THE ABOVE IDC_INFO... ELEMENTS IN THIS ORDER! */ #define IDC_REGIONBOUNDS 227 #define IDC_REGIONBOUNDSFRAME 228 #define IDC_COLORRES2BPP 229 #define IDC_COLORRES3BPP 230 #define IDC_COLORRES5BPP 231 #define IDC_COLORRES6BPP 232 #define IDC_COLORRES7BPP 233 #define IDC_SAVEOPTIONS 238 #define IDC_INTERLACED 239 #define IDC_PROGRESSIVE 240 #define IDC_PASSES 241 #define IDC_USECALLBACK 242 #define IDC_PASSESLIST 243 #define IDC_ANIMATIONSOURCELIST 244 #define IDC_ANIMATIONPLAYLIST 245 #define IDC_ANIMATIONADD 246 #define IDC_ANIMATIONSUB 247 #define IDC_ANIFRAMECOLOR 248 #define IDC_ANIFRAMECOLORBOX 249 #define IDC_ANIFRAMEINPUT 250 #define IDC_ANIFRAMEDELAY 251 #define IDC_ANIFRAMEDISPOSAL 252 #define IDC_ANIFRAMELEFT 253 #define IDC_ANIFRAMETOP 254 #define IDC_ANIFRAMEALL 255 #define IDC_COLORRESNETSCAPE 256 #define IDC_CHOOSECOLOR 257 /* defines for the IDD_BITMAPCOLORS dialog box */ #define IDC_COLORARRAY 258 #define IDC_COLORARRAYFRAME 259 /* keep the following items in order. All new IDs for the IDD_BITMAPCOLORS dialog box should be between IDC_FIRSTCOLORITEM and IDC_LASTCOLORITEM */ #define IDC_FIRSTCOLORITEM 260 #define IDC_CURRENTRED 260 #define IDC_CURRENTGREEN 261 #define IDC_CURRENTBLUE 262 #define IDC_CURRENTCOLOR 263 #define IDC_CURRENTCOLORFRAME 264 #define IDC_COLORTEXT 265 #define IDC_REDTEXT 266 #define IDC_GREENTEXT 267 #define IDC_BLUETEXT 268 #define IDC_LASTCOLORITEM 268 /* keep the above items in order. All new IDs for the IDD_BITMAPCOLORS dialog box should be between IDC_FIRSTCOLORITEM and IDC_LASTCOLORITEM */ #define IDC_XRESOLUTION 269 #define IDC_YRESOLUTION 270 #define IDC_SUBFILETYPE 271 /* keep the following items in order */ #define IDC_INFOPATIENTNAME 300 #define IDC_INFOPATIENTID 301 #define IDC_INFOPATIENTBIRTH 302 #define IDC_INFOPATIENTSEX 303 #define IDC_INFOSTUDYINSTANCE 304 #define IDC_INFOSTUDYDATE 305 #define IDC_INFOSTUDYTIME 306 #define IDC_INFOSTUDYPHYSICIAN 307 #define IDC_INFOSERIESMODALITY 308 #define IDC_INFOSERIESID 309 #define IDC_INFOSERIESNUMBER 310 /* keep the above items in order. */ #define IDC_STATIC1 400 #define IDC_STATIC2 401 #define IDC_STATIC3 402 #define IDC_STATIC4 403 #define IDC_STATIC5 404 #define IDC_STATIC6 405 #define IDC_STATIC7 406 #define IDC_STATIC8 407 #define IDC_STATIC9 408 #define IDC_STATIC10 409 #define IDC_STATIC11 410 #define IDC_STATIC12 411 #define IDC_STATIC14 412 #define IDC_STATIC15 413 #define IDC_STATIC16 414 #define IDC_STATIC17 415 #define IDC_STATIC18 416 #define IDC_STATIC19 417 #define IDC_STATIC20 418 #define IDC_STATIC21 419 #define IDC_STATIC22 420 #define IDC_STATIC23 421 #define IDC_STATIC24 422 #define IDC_STATIC25 423 #define IDC_STATIC26 424 #define IDC_STATIC27 425 #define IDC_STATIC28 426 #define IDC_STATIC29 427 #define IDC_STATIC30 428 #define IDC_STATIC31 429 #define IDC_STATIC32 430 #define IDC_STATIC33 431 #define IDC_STATIC34 432 #define IDC_STATIC35 433 #define IDC_STATIC36 434 #define IDC_STATIC37 435 #define IDC_STATIC38 436 #define IDC_STATIC39 437 #define IDD_COMMENTS 440 #define MENU_EDIT_REGION 7 enum { MENU_FILE_POS, MENU_VIEW_POS, MENU_INFORMATION_POS, MENU_TRANSFORMS_POS, MENU_PREFERENCE_POS, MENU_WINDOW_POS, MENU_HELP_POS }; /*--------------------------------------------------------------------------- Accelerators ID numbers ---------------------------------------------------------------------------*/ #define ACCEL_MAINMENU 100 /*--------------------------------------------------------------------------- Menu ID numbers ---------------------------------------------------------------------------*/ #define IDI_MAIN 100 /*--------------------------------------------------------------------------- Demo Definitions ---------------------------------------------------------------------------*/ #ifdef WIN32 #define HWNDCTL(w, l) ((HWND) (l)) #define NOTIFYCODE(w, l) HIWORD(w) #define CTLID(w, l) LOWORD(w) #define SCROLLPOS(w, l) ((L_INT16) HIWORD(w)) #define SCROLLCODE(w, l) LOWORD(w) #else #define HWNDCTL(w, l) ((HWND) HIWORD(l)) #define NOTIFYCODE(w, l) HIWORD(l) #define CTLID(w, l) (w) #define SCROLLPOS(w, l) ((L_INT16) LOWORD(l)) #define SCROLLCODE(w, l) (w) #endif #define FILE_FPX_ALL 80 #define SUB_FPX 4 typedef struct tagSFILESTRUCT { L_INT nFormat; L_INT nBitsPerPixel; L_INT nPasses; /* For progressive LEAD and JPEG only */ L_UINT uFlags; /* interlaced flags, etc */ } SFILESTRUCT, L_FAR *LPSFILESTRUCT; typedef struct _FILEINFOFORMAT { L_INT nFormat; L_TCHAR *pszName; } FILEINFOFORMAT, L_FAR L_FILEINFOFORMAT; /* maximum number of steps between scroll extremes */ #define SCROLL_RATIO 10 #define GETHBRBACKGROUND(hwnd) ((HBRUSH) GetClassLong(hwnd, GCL_HBRBACKGROUND)) /* defines for child window data area */ #define GWL_CHILDDATA 0 #define GWL_CHILDEXTRA 4 #define SETCHILDDATA(hwnd, h) SetWindowLong(hwnd, GWL_CHILDDATA, (LONG)(L_INT)(HANDLE)(h)) #define LOCKCHILDDATA(hwnd) ((LPCHILDDATA) GlobalLock((HANDLE)(L_INT)GetWindowLong(hwnd, GWL_CHILDDATA))) #define UNLOCKCHILDDATA(hwnd) GlobalUnlock((HANDLE)(L_INT)GetWindowLong(hwnd, GWL_CHILDDATA)) #define FREECHILDDATA(hwnd) GlobalFree((HANDLE)(L_INT)GetWindowLong(hwnd, GWL_CHILDDATA)) #define CHILDCREATELPARAM(lpCreateStruct) (((LPMDICREATESTRUCT) ((lpCreateStruct)->lpCreateParams))->lParam) #define ENABLEMENUITEM(hMenu, wID, fFlag) EnableMenuItem(hMenu, (UINT)wID, (UINT)MF_BYCOMMAND | ((fFlag) ? MF_ENABLED : (MF_DISABLED | MF_GRAYED))) #define ENABLEMENUPOS(hMenu, wID, fFlag) EnableMenuItem(hMenu, (UINT)wID, (UINT)MF_BYPOSITION | ((fFlag) ? MF_ENABLED : (MF_DISABLED | MF_GRAYED))) #define CHECKMENUITEM(hMenu, wID, fFlag) CheckMenuItem(hMenu, (UINT)wID, (UINT)MF_BYCOMMAND | ((fFlag) ? MF_CHECKED : MF_UNCHECKED)) #define CHECKMENUPOS(hMenu, wID, fFlag) CheckMenuItem(hMenu, (UINT)wID, (UINT)MF_BYPOSITION | ((fFlag) ? MF_CHECKED : MF_UNCHECKED)) #define RECTWIDTH(lpRect) (((LPRECT) lpRect)->right - ((LPRECT) lpRect)->left) #define RECTHEIGHT(lpRect) (((LPRECT) lpRect)->bottom - ((LPRECT) lpRect)->top) typedef struct tagCHILDDATA { HPALETTE hPalette; /* palette handle used by PaintDevice */ L_BOOL fFitImage; /* if TRUE then fit image to window */ L_INT cxClient; /* width of client area */ L_INT cyClient; /* height of client area */ L_INT nHScrollPos; /* x scroll position */ L_INT nVScrollPos; /* y scroll position */ L_INT nHScrollMax; /* maximum x scroll position */ L_INT nVScrollMax; /* maximum y scroll postion */ L_INT nHScrollStep; /* x scroll step value */ L_INT nVScrollStep; /* y scroll step value */ L_BOOL bThumbTrack; L_INT nZoom; RECT rcView; L_TCHAR szFile[_MAX_PATH]; L_TCHAR szTitle[_MAX_PATH]; L_UINT uTitleCount; BITMAPHANDLE ActiveBitmap; BITMAPHANDLE Bitmap; /* open BITMAPHANDLE */ L_INT nPage; FILETRANSFORMS OriginalTransforms; FILETRANSFORMS WorkingTransforms; } CHILDDATA; typedef CHILDDATA L_FAR *LPCHILDDATA; typedef struct tagCREATEDATA { LPTSTR pszFile; LPTSTR pszTitle; L_INT nPage; pBITMAPHANDLE pBitmap; pFILETRANSFORMS pTransforms; } CREATEDATA, L_FAR * LPCREATEDATA; /* util.c */ typedef struct _FILEINFOPARM { FILEINFO FileInfo; L_TCHAR szFile[L_MAXPATH]; } FILEINFOPARM, L_FAR *LPFILEINFOPARM; typedef struct _DETECTPARM { L_INT nLow; L_INT nHigh; } DETECTPARM, L_FAR * LPDETECTPARM; typedef struct _IMAGEPARM { L_INT nType; L_INT nWidth; L_INT nHeight; L_INT nHorz; L_INT nVert; L_INT32 nOffset; L_BOOL fBlackOnWhite; L_BOOL fMSB; } IMAGEPARM, L_FAR *LPIMAGEPARM; typedef struct _OPENPARM { L_TCHAR szFile[_MAX_PATH]; L_TCHAR szPath[_MAX_PATH]; L_INT nPage; L_INT nTypeIdx; FILEINFO Info; FILETRANSFORMS Transforms; } OPENPARM, L_FAR * LPOPENPARM; typedef struct _ROTATEPARM { L_INT32 nAngleMax; L_INT32 nAngle; L_BOOL fOption; LPTSTR pszTitle; LPTSTR pszOption; } ROTATEPARM, L_FAR * LPROTATEPARM; typedef struct _RESIZEPARM { L_INT nWidth; L_INT nHeight; LPTSTR pszTitle; } RESIZEPARM, L_FAR * LPRESIZEPARM; typedef struct _SAVEPARM { L_TCHAR szFile[_MAX_PATH]; L_BOOL fAppend; L_INT nQFactor; L_INT nTypeIdx; L_INT nPasses; L_INT nSubTypeIdx; } SAVEPARM, L_FAR * LPSAVEPARM; typedef struct _COMMENTSTPARM { L_UINT uType; FILECOMMENTS L_FAR *pComments; } COMMENTSPARM, L_FAR *LPCOMMENTSPARM; /* fpxdemo.c */ L_BOOL RegisterAllWindows (L_VOID); L_VOID CreateFrameWindow (L_VOID); /* frame.c */ LRESULT CALLBACK L_EXPORT FrameWindowProc (HWND hWnd, UINT Msg, WPARAM wParam, LPARAM lParam); L_BOOL CALLBACK L_EXPORT AboutDlgProc (HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam); L_BOOL CALLBACK L_EXPORT CloseAll (HWND hWnd, LPARAM lParam); L_BOOL CALLBACK L_EXPORT PaletteChangedAll (HWND hWnd, LPARAM lParam); L_BOOL CALLBACK L_EXPORT RedrawChildrenCB (HWND hWnd, LPARAM lParam); HWND CreateChildWindow (LPOPENPARM pOpenParm, pBITMAPHANDLE pBitmap); L_VOID EnableFrameMenu (L_BOOL fEnable); /* child.c */ LRESULT CALLBACK L_EXPORT ChildWindowProc (HWND hWnd, UINT Msg, WPARAM wParam, LPARAM lParam); L_VOID DisplayImageTitle (HWND hWnd); L_BOOL CALLBACK L_EXPORT BuildChildListCB (HWND hWnd, LPARAM lParam); L_BOOL CALLBACK L_EXPORT DetectDlgProc (HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam); L_BOOL CALLBACK L_EXPORT FileInfoDlgProc (HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam); L_BOOL CALLBACK L_EXPORT ImageDlgProc (HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam); L_BOOL CALLBACK L_EXPORT ListDlgProc (HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam); L_BOOL CALLBACK L_EXPORT OpenFileHook (HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam); L_BOOL CALLBACK L_EXPORT RangeDlgProc (HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam); L_BOOL CALLBACK L_EXPORT ResizeDlgProc (HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam); L_BOOL CALLBACK L_EXPORT SaveFileHook (HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam); L_INT L_FAR L_EXPORT LoadInfoCallback(L_INT fd, pLOADINFO pInfo, L_VOID L_FAR * pVoid); L_INT GetThreshold (HWND hWnd, LPTSTR pszTitle, L_INT nInit); L_VOID GetChildTitle(HWND hWnd, LPTSTR pszTitle); L_BOOL EnableLoadInfo(L_BOOL fEnable); L_BOOL GetImageParm(HWND hWnd, LPIMAGEPARM pParm); L_BOOL GetOpenParm (HWND hWnd, LPTSTR pszTitle, LPOPENPARM pOpenParm); L_BOOL GetSaveParm (HWND hWnd, LPTSTR pszTitle, LPSAVEPARM pSaveParm); L_INT DoDialogBoxParam(L_INT nDialog, HWND hWnd, DLGPROC pfnDialog, LPARAM lParam); L_INT fMessageBox (HWND hWnd, LPSTR pCaption, UINT wType, LPSTR pFormat,...); L_INT GetZoomFactor (HWND hWnd, L_INT nInit); L_VOID L_FileError (HWND hwnd, L_INT nCode, LPTSTR pTitle, LPTSTR pFilename); L_VOID SetPageNumber(L_INT nPage); L_VOID SizeClientRect (HWND hWnd, L_INT nWidth, L_INT nHeight, L_BOOL bScrollBars); L_BOOL CALLBACK L_EXPORT SaveOptionsDlgProc (HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam); L_BOOL CALLBACK L_EXPORT PaintCallbackDlgProc (HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam); L_BOOL CALLBACK L_EXPORT BitmapColorsDlgProc (HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam); L_VOID ListSubFileTypes(L_INT nFormat, HWND hDlg, void L_FAR* lParm); /* globals.c */ extern VERSIONINFO VersionInfo; extern HWND hWndClient; extern HWND hWndFrame; extern HINSTANCE hInst; extern L_INT nBitonalMode; extern L_INT nDitherMode; extern L_BOOL fIsBGRDevice; extern L_TCHAR szOpenFileFilter[]; extern L_TCHAR szSaveFileFilter[]; extern LPTSTR szSubTypeFilterFPX[]; extern SFILESTRUCT aSFile[]; extern FILEINFOFORMAT aFormats[]; extern HWND hWndStatus; extern L_TCHAR szFrameClass[]; extern L_TCHAR szFrameTitle[]; extern L_TCHAR szChildClass[]; extern L_TCHAR szCompass[]; extern L_TCHAR szImageDir[_MAX_PATH]; extern L_INT nPaletteMode; extern L_BOOL fNetscapePalette; extern L_INT nPaintGamma; extern L_INT nPaintIntensity; extern L_INT nPaintContrast; L_VOID RotationTransform (HWND hWnd, pBITMAPHANDLE pBitmap, pFILETRANSFORMS pTransforms); L_VOID ShearHorizontalTransform (HWND hWnd, pBITMAPHANDLE pBitmap, pFILETRANSFORMS pTransforms); L_VOID ShearVerticalTransform (HWND hWnd, pBITMAPHANDLE pBitmap, pFILETRANSFORMS pTransforms); L_VOID FlipHorizontalTransform (HWND hWnd, pFILETRANSFORMS pTransforms); L_VOID FlipVerticalTransform (HWND hWnd, pFILETRANSFORMS pTransforms); L_VOID ScalingTransform (HWND hWnd, pBITMAPHANDLE pBitmap, pFILETRANSFORMS pTransforms); L_VOID RestoreOriginalViewingTransforms (pFILETRANSFORMS pOldTransforms, pFILETRANSFORMS pNewTransforms); L_VOID IgnoreViewingTransforms (pFILETRANSFORMS pTransforms); L_VOID LightenTransform (HWND hWnd, pBITMAPHANDLE pBitmap, pFILETRANSFORMS pTransforms); L_VOID SaturationTransform (HWND hWnd, pBITMAPHANDLE pBitmap, pFILETRANSFORMS pTransforms); L_VOID RedBalanceTransform (HWND hWnd, pFILETRANSFORMS pTransforms); L_VOID GreenBalanceTransform (HWND hWnd, pFILETRANSFORMS pTransforms); L_VOID BlueBalanceTransform (HWND hWnd, pFILETRANSFORMS pTransforms); L_VOID ContrastTransform (HWND hWnd, pBITMAPHANDLE pBitmap, pFILETRANSFORMS pTransforms); L_VOID SharpnessTransform (HWND hWnd, pBITMAPHANDLE pBitmap, pFILETRANSFORMS pTransforms); L_VOID RestoreOriginalColorTransforms (pFILETRANSFORMS pOldTransforms, pFILETRANSFORMS pNewTransforms); L_VOID IgnoreColorTransforms (pFILETRANSFORMS pTransforms); L_VOID MatrixMultiply (L_FLOAT First[4][4], L_FLOAT Second[4][4], L_FLOAT Result[4][4]); L_VOID AffineToMatrix (pFILETRANSFORMS pTransforms, L_FLOAT Matrix[4][4]); L_VOID MatrixToAffine (L_FLOAT Matrix[4][4], pFILETRANSFORMS pTransforms); L_VOID TwistColorToMatrix (pFILETRANSFORMS pTransforms, L_FLOAT Matrix[4][4]); L_VOID MatrixToTwistColor (L_FLOAT Matrix[4][4], pFILETRANSFORMS pTransforms); L_VOID ReLoadBitmap (LPTSTR pszFile, L_INT nPage, pFILETRANSFORMS pTransforms, pBITMAPHANDLE pBitmap, L_BOOL fFlags); L_VOID DisplayComments (HWND hWnd, LPTSTR pszFile, L_INT nPage, L_UINT uType); L_BOOL CALLBACK L_EXPORT CommentsDlgProc (HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam); LOADFILEOPTION LoadFileOption; SAVEFILEOPTION SaveFileOption;