/*[]=====================================================================[]*/ /*[] LEADTOOLS for Windows - Version 13 []*/ /*[] []*/ /*[] []*/ /*[] Copyright (c) 1991-2001 LEAD Technologies, Inc. []*/ /*[] All Rights Reserved. []*/ /*[]=====================================================================[]*/ #include "../../../include/lttw2.h" #include #include "../../../include/ltscr.h" #include "TCHAR.H" #define WM_BROWSE WM_USER + 1 #define WM_UPDATECOLOR WM_USER + 2 #ifdef UNICODE //define for Unicode #define stod wcstod #define sicmp _wcsicmp #define fullpath _wfullpath #define srchr wcsrchr #define scmp wcscmp #define supr wcsupr #define sstr wcsstr #define splitpath _wsplitpath #define stol _wtol #define stoul wcstoul #define sgetcwd _wgetcwd #define schdir _wchdir #define strprintf swprintf #else #define stod strtod #define sicmp _stricmp #define fullpath _fullpath #define srchr strrchr #define scmp strcmp #define supr strupr #define sstr strstr #define splitpath _splitpath #define stol atol #define stoul strtoul #define sgetcwd _getcwd #define schdir _chdir #define strprintf sprintf #endif /* void Wnd_OnUserMessage(HWND hwnd,UINT wParam,LPARAM lParam) */ #define HANDLE_WM_USER(hwnd, wParam, lParam, fn) \ ((fn)((hwnd),(UINT)(wParam),(LPARAM)(lParam)),0) #define FORWARD_WM_USER(hwnd,wParam, lParam, fn) \ (void)(fn)((hwnd),WM_USER,(UINT)(wParam),(LPARAM)(lParam)) #ifndef UNREFERENCED_PARAMETER #define UNREFERENCED_PARAMETER(P) \ { \ (P) = (P); \ } #endif #define LISTBOXWIDTH 130 #define SPLITWIDTH 6 #define THUMBNAILEDGEWIDTH 3 #define DLG_IMAGE_LIST_COUNT 15 /*--------------------------------------------------------------------------- Menu ID numbers ---------------------------------------------------------------------------*/ #define MENU_MAIN 100 #define IDM_OPEN 100 #define IDM_SAVEAS 101 #define IDM_CONVERT 102 #define IDM_EXIT 103 #define IDM_TWAINSEL 104 #define IDM_TWAINACQ 105 #define IDM_FLIP 107 #define IDM_REVERSE 108 #define IDM_RESIZE 109 #define IDM_ROTATE 110 #define IDM_COLORRES 111 #define IDM_GRAYSCALE8 112 #define IDM_COPY 114 #define IDM_PASTE 115 #define IDM_PRINT 116 #define IDM_HALFTONE 117 #define IDM_DESPECKLE 119 #define IDM_DESKEW 121 #define IDM_SHEAR 122 #define IDM_BGR 123 #define IDM_PAINTCALLBACK 124 #define IDM_FITIMAGE 125 #define IDM_EFFECTS 127 #define IDM_ELEMENTS 128 #define IDM_ORDEREDDITHERING 129 #define IDM_SCALETOGRAY 130 #define IDM_FAVORBLACK 131 #define IDM_CASCADE 132 #define IDM_TILEHORZ 133 #define IDM_ARRANGE 134 #define IDM_CLOSEALL 135 #define IDM_ABOUT 136 #define IDM_BITONALNORMAL 137 #define IDM_ERRORDIFFUSION 138 #define IDM_NORMAL 139 #define IDM_ZOOM 140 #define IDM_INVERT 141 #define IDM_BRIGHTNESS 142 #define IDM_CONTRAST 143 #define IDM_SHARPEN 144 #define IDM_SATURATION 145 #define IDM_HUE 146 #define IDM_POSTERIZE 147 #define IDM_AVERAGE 148 #define IDM_MEDIAN 149 #define IDM_MOSAIC 150 #define IDM_EMBOSS 151 #define IDM_GRADIENT 152 #define IDM_LAPLACE 153 #define IDM_SOBEL 154 #define IDM_PREWITT 155 #define IDM_PROGRESSBAR 156 #define IDM_SHIFTDIFF 157 #define IDM_LINESEG 158 #define IDM_EROSION 159 #define IDM_HISTOEQUALIZE 160 #define IDM_DILATION 161 #define IDM_FILLBLACK 162 #define IDM_FILLWHITE 163 #define IDM_FILLRED 164 #define IDM_FILLGREEN 165 #define IDM_FILLBLUE 166 #define IDM_FILLCYAN 167 #define IDM_FILLMAGENTA 168 #define IDM_FILLYELLOW 169 #define IDM_COLORSEP_RGB 170 #define IDM_COLORSEP_CMYK 171 #define IDM_ROTATE90 172 #define IDM_ROTATE180 173 #define IDM_ROTATE270 174 #define IDM_GAMMA 175 #define IDM_NOISE 176 #define IDM_DETECT 177 #define IDM_SNAPWINDOW 178 #define IDM_CLRMERGE 179 #define IDM_STRETCHINTENSITY 180 #define IDM_UNDERLAY 181 #define IDM_FASTPRINT 182 #define IDM_COLORSEP_HSV 183 #define IDM_COLORSEP_HLS 184 #define IDM_EDGEENHANCE 185 #define IDM_COLORSEP_CMY 186 #define IDM_PALETTEAUTO 187 #define IDM_PALETTEFIXED 188 #define IDM_HISTOCONTRAST 189 #define IDM_TOOLNONE 190 #define IDM_TOOLRECT 191 #define IDM_TOOLRNDRECT 192 #define IDM_TOOLELLIPSE 193 #define IDM_TOOLFREEHAND 194 #define IDM_CREATEANIMATION 195 #define IDM_CANCELREGION 196 #define IDM_PLAYANIMATION 197 #define IDM_ANICOMPOSITE 198 #define IDM_ANIFIRSTFRAME 199 #define IDM_ANIPREVFRAME 200 #define IDM_ANINEXTFRAME 201 #define IDM_ANILASTFRAME 202 #define IDM_ANIFRAMESETTINGS 203 #define IDM_ANILOOP 204 #define IDM_ANICOLORRES 205 #define IDM_PALETTENETSCAPE 206 #define IDM_COUNTCOLORS 207 #define IDM_ANIBACKCOLOR 208 #define IDM_LOADCOMPRESSED 209 #define IDM_COLORSEP_ALPHA 210 #define IDM_VIEWINTENSITY 211 #define IDM_VIEWCONTRAST 212 #define IDM_VIEWGAMMA 213 #define IDM_AUTOTRIM 214 #define IDM_SOLARIZE 215 #define IDM_OILIFY 216 #define IDM_MINFILTER 217 #define IDM_MAXFILTER 218 #define IDM_FASTROTATE90 219 #define IDM_FASTROTATE180 220 #define IDM_FASTROTATE270 221 #define IDM_LOADROTATED 222 #define IDM_GRAYSCALE12 223 #define IDM_GRAYSCALE16 224 #define IDM_SHOWPREVIEW 225 #define IDM_SHOWRESIZE 40001 #define IDM_LOADVECTORFILES 40002 #define IDM_LOADTEXTFILES 40003 #define IDM_ISISSEL 226 #define IDM_ISISACQ 227 #define IDM_ISISACQMUL 228 #define IDM_LOAD_RAW_FAX 229 #define IDM_WINDOWLEVEL 230 #define IDM_THUMBNAILS 231 #define IDM_PANWINDOW 232 #define IDM_PICTURIZE 233 #define IDM_SHOWAPPLY 234 #define IDM_INSERT_FRAME 237 #define IDM_ADD_FRAME 238 #define IDM_DELETE_FRAME 239 #define IDM_REPLACE_FRAME 240 #define IDM_REPLACE_PAGE 241 #define IDM_INSERT_PAGE 242 #define IDM_ADD_PAGE 243 #define IDM_DELETE_PAGE 244 #define IDM_CAPTURE_ACTIVEWINDOW 245 #define IDM_CAPTURE_ACTIVECLIENT 246 #define IDM_CAPTURE_FULLSCREEN 247 #define IDM_CAPTURE_SELECTEDOBJECT 248 #define IDM_CAPTURE_MENUUNDERCURSOR 249 #define IDM_CAPTURE_SELECTEDAREA 250 #define IDM_CAPTURE_WALLPAPER 251 #define IDM_CAPTURE_MOUSECURSOR 252 #define IDM_CAPTURE_WINDOWUNDERCURSOR 253 #define IDM_CAPTURE_FROMEXEDLGTREE 254 #define IDM_CAPTURE_FROMEXEDLGTABBEDVIEW 255 #define IDM_CAPTURE_STOP 256 #define IDM_CAPTURE_OPTIONS 257 #define IDM_AREA_OPTIONS 258 #define IDM_OBJECT_OPTIONS 259 #define IDM_VIEWPALETTE 260 #define IDM_CONTOURFILTER 261 #define IDM_BROWSE 262 #define IDM_DEFAULTINTENSITY 263 #define IDM_DEFAULTCONTRAST 264 #define IDM_DEFAULTGAMMA 265 #define IDM_FASTFLIP 267 #define IDM_FASTREVERSE 268 #define IDM_PAINT_NORMAL 269 #define IDM_PAINT_RESAMPLE 270 #define IDM_PAINT_BICUBIC 271 #define IDM_TILEVERT 272 #define IDM_IMAGESTOPONERRORS 276 #define IDM_IMAGEINCLUDE 277 #define IDM_DISPTEXT 278 #define IDM_SELCOLOR 279 #define IDM_SELBUTTON 280 #define IDM_SELNONE 281 #define IDM_SELSINGLE 282 #define IDM_SELMULTI 283 #define IDM_SCROLLVERT 284 #define IDM_SCROLLHORZ 285 #define IDM_SORTASND 286 #define IDM_SORTDSND 287 #define IDM_KEYBOARD 288 #define IDM_INSERTIMAGE 289 #define IDM_REMOVEIMAGE 290 #define IDM_EXPANDMULTIPAGE 291 #define IDM_SELBITMAP 295 #define IDM_TOTALPAGES 296 #define IDM_MAGGLASS 297 #define IDM_SAVEDATABASE 298 #define IDM_LOADDATABASE 299 #define IDM_REMAPHUE 300 #define IDM_TOOLCURVE 301 #define IDM_TOOLBEZIER 302 #define IDM_COPYRGN 303 #define IDM_FIRSTCHILD 999 #define IDD_ABORTPRN 100 #define IDD_ABOUT 101 #define IDD_RANGE 102 #define IDD_STATUSBAR 103 #define IDD_IMAGEPARM 104 #define IDD_CLRMERGE 105 #define IDD_UNDERLAY 106 #define IDD_STATUSBAR95 107 #define IDD_ANIMATION 108 #define IDD_ANIFRAME 109 #define IDD_BITMAPCOLORS 110 #define IDD_DIRECTORY 111 #define IDD_LOAD_FILE 112 #define IDD_BROWSEDLG 113 #define IDD_SMOOTH 114 #define IDD_INVERTTEXT 115 #define IDD_HOLEPUNCHREMOVE 116 #define IDD_DOTREMOVE 117 #define IDD_BORDER 118 #define IDD_LINES 119 #define IDD_CURVE 120 #define IDC_STATIC -1 #define IDC_STATIC_PAGENO 100 #define IDC_PROGRESSBAR 112 #define IDC_ABOUTIMAGE 143 #define IDC_RANGEEDIT 144 #define IDC_RANGESCROLL 145 #define IDC_RANGELABEL 146 #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_MEMORY 167 #define IDC_MEMORYFRAME 168 #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_COMBO_VIEWPERSPECTIVE 189 #define IDC_COMBO_ORDER 190 #define IDC_EDIT_BPP 191 #define IDC_COMBO_PALETTE 192 #define IDC_CHECK_PADDING 193 #define IDC_STATIC_BPP 194 #define IDC_STATIC_VIEW_PERSPECTIVE 195 #define IDC_STATIC_COLOR_ORDER 196 #define IDC_STATIC_PALETTE 197 #define IDC_STATIC_COLOR 198 #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_ULAYTILE 211 #define IDC_ULAYSTRETCH 212 #define IDC_ULAYPATTERN 213 #define IDC_CLRHSV 214 #define IDC_CLRHLS 215 #define IDC_CLRCMY 216 #define IDC_REGIONBOUNDS 227 #define IDC_REGIONBOUNDSFRAME 228 #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_CHOOSECOLOR 257 /* defines for the IDD_BITMAPCOLORS dialog box */ #define IDC_COLORARRAY 258 #define IDC_COLORARRAYFRAME 259 #define IDM_BALANCECOLORS 400 #define IDM_REMOVEREDEYE 401 #define IDM_JPEGWEBTUNER 402 #define IDM_PNGWEBTUNER 403 #define IDM_GIFWEBTUNER 404 #define IDM_IMAGEMAPPER 405 #define IDM_FILEFORMATASSOCIATIONS 406 #define IDM_PREVIEW 407 #define IDM_CANVASSIZE 408 #define IDM_HISTOGRAM 409 #define IDM_MOTIONBLUR 410 #define IDM_RADIALBLUR 411 #define IDM_ZOOMBLUR 412 #define IDM_GAUSSIANBLUR 413 #define IDM_ANTIALIAS 414 #define IDM_ADDNOISE 415 #define IDM_UNSHARPMASK 418 #define IDM_MULTIPLY 419 #define IDM_ADDBITMAPS 420 #define IDM_STITCH 421 #define IDM_FREEHANDWAVE 422 #define IDM_WIND 423 #define IDM_POLAR 424 #define IDM_ZOOMWAVE 425 #define IDM_RADIALWAVE 426 #define IDM_SWIRL 427 #define IDM_WAVE 428 #define IDM_WAVESHEAR 429 #define IDM_PUNCH 430 #define IDM_RIPPLE 331 #define IDM_BENDING 432 #define IDM_CYLINDRICAL 433 #define IDM_SPHERIZE 434 #define IDM_IMPRESSION 435 #define IDM_PIXELATE 436 #define IDM_EDGEDETECT 437 #define IDM_GRAYSCALE 438 #define IDM_COLOREDGRAY 439 #define IDM_REMAPINTENSITY 440 #define IDM_LOCALEQUALIZE 441 #define IDM_PALETTEEDITOR 442 #define IDM_PRINTSTITCHEDIMAGES 443 #define IDM_ADDBORDER 444 #define IDM_ADDFRAME 445 #define IDM_ICCPROFILES 446 /* 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 #define IDC_LISTBOX 272 #define IDC_DIRECTORY 273 #define IDC_HIDDENLIST 274 #define IDC_LEADIMAGELIST 275 //For document imaging dialogs #define IDC_SMOOTH 277 #define IDC_RADIO_FAVOR_LONG 288 #define IDC_RADIO_FAVOR_SHORT 299 #define IDC_STATIC_DPI 300 #define IDC_LINE_LENGTH 301 #define IDC_LINE_WIDTH 302 #define IDC_LINE_WALL 303 #define IDC_LINE_WALL_PERCENT 304 #define IDC_LINE_VARIANCE 305 #define IDC_LINE_GAP 306 #define IDC_STATIC_UNITS1 307 #define IDC_STATIC_UNITS2 308 #define IDC_STATIC_UNITS3 309 #define IDC_STATIC_UNITS4 310 #define IDC_STATIC_UNITS5 311 #define IDC_CHECK_USE_VARIANCE 312 #define IDC_STATIC_VARIANCE 313 #define IDC_CHECK_USE_GAP 314 #define IDC_STATIC_GAP 315 #define IDC_CHECK_REMOVE_ENTIRE 316 #define IDC_STATIC_REMOVE_ENTIRE 317 #define IDC_RADIO_HORIZONTAL 318 #define IDC_RADIO_VERTICAL 319 #define IDC_CHECK_USE_DPI 320 #define IDC_CHECK_BORDER_LEFT 321 #define IDC_CHECK_BORDER_RIGHT 322 #define IDC_CHECK_BORDER_TOP 323 #define IDC_CHECK_BORDER_BOTTOM 324 #define IDC_BORDER_PERCENT 325 #define IDC_WHITE_LENGTH 326 #define IDC_DELTA 327 #define IDC_MIN_INVERT_WIDTH 328 #define IDC_MIN_INVERT_HEIGHT 329 #define IDC_MIN_BLACK_PERCENT 330 #define IDC_MAX_BLACK_PERCENT 331 #define IDC_MIN_WIDTH 332 #define IDC_MIN_HEIGHT 333 #define IDC_MAX_WIDTH 334 #define IDC_MAX_HEIGHT 335 #define IDC_FRAME_DIMENSIONS 336 #define IDC_STATIC_MIN_WIDTH 337 #define IDC_STATIC_MAX_WIDTH 338 #define IDC_STATIC_MIN_HEIGHT 339 #define IDC_STATIC_MAX_HEIGHT 340 #define IDC_CHECK_USE_SIZE 341 #define IDC_STATIC2 342 #define IDC_RADIO_LEFT 343 #define IDC_RADIO_RIGHT 344 #define IDC_RADIO_TOP 345 #define IDC_RADIO_BOTTOM 346 #define IDC_MIN_COUNT 347 #define IDC_MAX_COUNT 348 #define IDC_STATIC_MAX_COUNT 349 #define IDC_STATIC_MIN_COUNT 350 #define IDC_CHECK_USE_COUNT 351 #define IDC_CHECK_USE_LOCATION 352 #define IDC_FRAME_COUNT 353 #define IDC_FRAME_LOCATION 354 #define IDC_CHECK_USE_DIAGONALS 355 #define IDM_SMOOTH 356 #define IDM_LINE 357 #define IDM_DOT 358 #define IDM_INVERTEDTEXT 359 #define IDM_BORDER 360 #define IDM_HOLEPUNCH 361 #define IDD_REMAPHUE 362 #define IDC_BUTTON_START_COLOR 363 #define IDC_BUTTON_COLOR_PICKER 364 #define IDC_EDIT_DELTA 365 #define IDC_SLIDER_DELTA 366 #define IDC_EDIT_H 367 #define IDC_EDIT_S 368 #define IDC_EDIT_V 369 #define IDC_BUTTON_REPLACE_COLOR 370 #define IDC_SLIDER_H 371 #define IDC_SLIDER_S 372 #define IDC_SLIDER_V 373 #define IDC_BUTTON_THUMB 374 #define IDC_BUTTON_COLOR_MOUSEMOVE 375 #define IDC_BUTTON_RESET 376 #define IDC_BUTTON_DUMP_STABLE 377 #define IDC_STATIC_RGB 378 #define IDC_STATIC_HSV 379 #define IDC_STATIC_RGB_START 380 #define IDC_STATIC_HSV_START 381 #define IDC_EDIT_TENSION 382 #define IDC_RADIO_CURVE 383 #define IDC_RADIO_LINE 384 //For Slic Dialog #define IDD_SLC_DLG 385 #define IDM_SLICE 386 #define IDC_STATIC_FILL 387 #define IDB_RADGRIMG 101 //FORPANWINDOW #define IDC_HANDMOVE 100 #define IDC_COLORPICK 101 #define IDB_FLAG 100 #define MENU_EDIT_REGION 7 enum { MENU_FILE_POS, MENU_EDIT_POS, MENU_ANIMATION_POS, MENU_PAGE_POS, MENU_VIEW_POS, MENU_IMAGE_POS, MENU_EFFECTS_POS, MENU_COLOR_POS, MENU_CAPTURE_POS, MENU_IMAGELIST_POS, MENU_PREFERENCE_POS, MENU_WINDOW_POS, MENU_HELP_POS }; enum { MENU_FILE_WEBTUNER_POS = 13, } ; enum { MENU_ZOOMIN_POS = 1, MENU_ZOOMOUT_POS }; enum { MENU_IMAGE_ROTATE_POS = 5, MENU_IMAGE_ADD_POS = 11, MENU_IMAGE_IMAGEDOC_POS = 13, }; enum { MENU_EFFECTS_BLUR_POS, MENU_EFFECTS_NOISE_POS, MENU_EFFECTS_SHARPEN_POS, MENU_EFFECTS_CALCULATIONS_POS, MENU_EFFECTS_DISTORT_POS, MENU_EFFECTS_3DEFFECTS_POS, MENU_EFFECTS_ARTISTIC_POS, MENU_EFFECTS_TEXTURE_POS, MENU_EFFECTS_PIXELATE_POS, MENU_EFFECTS_EDGE_POS, MENU_EFFECTS_SPATIALFILTERS_POS }; enum { MENU_HALFTONE_POS = 0, }; enum { MENU_COLOR_ADJUST_POS = 9, MENU_COLOR_TRANSFORM_POS, MENU_COLOR_REMAP_POS, MENU_COLOR_HISTOGRAM_POS, MENU_COLOR_FILL_POS = 14, MENU_COLOR_SEPARATION_POS }; enum { MUNU_EDIT_SELECTREGION_POS = 4, }; enum { IMAGELIST_NOTSORTED = 0, IMAGELIST_SORTEDASD, IMAGELIST_SORTEDDSD, }; /*--------------------------------------------------------------------------- Accelerators ID numbers ---------------------------------------------------------------------------*/ #define ACCEL_MAINMENU 100 #define IDR_ACCELERATOR1 101 /*--------------------------------------------------------------------------- Menu ID numbers ---------------------------------------------------------------------------*/ #define IDI_MAIN 100 /*--------------------------------------------------------------------------- Demo Definitions ---------------------------------------------------------------------------*/ #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) /* maximum number of steps between scroll extremes */ #define SCROLL_RATIO 10 #define GETHBRBACKGROUND(hwnd) ((HBRUSH) GetClassLong(hwnd, GCL_HBRBACKGROUND)) //For the registry #define REG_KEYS 2 #define REGISTRYKEY_APP_NAME TEXT("MainDemo") // server name #define REGISTRYKEY_SERVER_NAME TEXT("LEAD.MainAPIDemo.Image.14") /* 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_INT nHScrollFactor; /* the multiply factor for the horizontal scrollbar */ L_INT nVScrollFactor; /* the multiply factor for the vertical scrollbar */ L_BOOL bThumbTrack; L_INT nZoom; RECT rcView; L_TCHAR szTitle[_MAX_PATH]; L_TCHAR szFileName[_MAX_PATH]; L_UINT uTitleCount; L_BOOL fComposite; L_UINT uFrame; L_UINT uLastFrame; L_BOOL fLoop; BITMAPHANDLE ActiveBitmap; BITMAPHANDLE Bitmap; /* open BITMAPHANDLE */ HBITMAPLIST hList; L_UINT uFrameType; BOOL bMovingFloater; HBITMAP hbmSave, hbmFloater; HRGN hrgnRegion, hrgnFloater; L_INT xSaveSrc, ySaveSrc; /* the point where the region was in bitmap coordinates */ L_INT xMoveSrc, yMoveSrc; /* the point where the region was in bitmap coordinates */ L_INT nMoveWidth, nMoveHeight;/* region width and height in bitmap coordinates */ L_INT xAnchor, yAnchor; /* the last point of the mouse cursor in client coordinates */ L_INT deltaX, deltaY; /* the distance in client coordinates from the initial position */ L_INT xFloaterDest, yFloaterDest; /* the last position of the floater, in client coordinates */ L_INT nFloaterWidth, nFloaterHeight; /* floater width & height in client coordinates */ BITMAPHANDLE bmFloater, bmSave; HWND hBitmapWnd; HWND hListBox; L_INT nCurrentPage; BOOL bListBoxVisible; L_INT nLastCy; L_BOOL bImageChanged; L_BOOL bSizeFixed; L_BOOL bGifAnimationFile; L_BOOL bAnimationExist; //for pan window HWND hPanWindow; L_BOOL bUpdatePan; L_BOOL bPanWindow; L_BOOL bPicturizeStarted; // used only for L_PicturizeBitmap L_BOOL bFixedPaletteCreated; // used only for L_PicturizeBitmap HPALETTE hFixedPalette; // used only for L_PicturizeBitmap L_BOOL bMagGlass; L_BOOL bWasMagGlass; L_UINT32 ulPanDisFlags; } CHILDDATA; typedef CHILDDATA L_FAR *LPCHILDDATA; typedef struct tagTHUMBNAILDATA { BITMAPHANDLE ThumbnailBitmap; 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 nZoom; L_INT nFitType; L_INT nPaintContrast; L_INT nPaintIntensity; L_UINT uPaintGamma; } THUMBNAILDATA, L_FAR * LPTHUMBNAILDATA; typedef struct tagCREATEDATA { L_TCHAR* pszTitle; pBITMAPHANDLE pBitmap; HBITMAPLIST hList; L_BOOL fLoop; L_BOOL bIsFile; L_BOOL bGifAnimationFile; } CREATEDATA, L_FAR * LPCREATEDATA; /* data used by FILEREADCALLBACK routine */ typedef struct tagCALLBACKDATA { LPCHILDDATA pData; HPALETTE hPalette; /* old palette saved from callback */ HWND hWnd; /* window to paint */ HDC hDC; /* hdc of window to paint */ RECT rcPaint; /* windows client rectangle */ L_INT Pass; L_INT nRows; /* the number of rows in pLineBuffer */ L_UCHAR L_FAR *pLineBuffer; /* buffer to hold an uncompressed line */ } CALLBACKDATA; /* demo.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); L_INT L_FAR L_EXPORT FileReadCallBack(pFILEINFO pFileInfo, pBITMAPHANDLE pBitmap, L_UCHAR L_FAR *pBuffer, L_UINT uFlags, L_INT nRow, L_INT nLines, CALLBACKDATA L_FAR * pData); L_INT L_FAR L_EXPORT TwainCallBack (HTWAINSESSION hSession, pBITMAPHANDLE pBitmap, L_VOID L_FAR * pUserData); L_INT L_FAR L_EXPORT ISISCallBack(pBITMAPHANDLE pBitmap, L_INT32 nPage, L_TCHAR L_FAR* pszFilename, L_VOID * pVoid ); HWND CreateChildWindow (L_TCHAR* pszTitle, pBITMAPHANDLE pBitmap, HBITMAPLIST hList, L_BOOL fLoop,L_BOOL bIsFile,L_BOOL bGifAnimationFile); L_VOID EnableFrameMenu (L_BOOL fEnable,L_BOOL bAndCapture); L_BOOL CALLBACK L_EXPORT BrowseDlgProc (HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam); /* child.c */ LRESULT CALLBACK L_EXPORT ChildWindowProc (HWND hWnd, UINT Msg, WPARAM wParam, LPARAM lParam); LRESULT CALLBACK L_EXPORT BitmapWindowProc (HWND hWnd, UINT Msg, WPARAM wParam, LPARAM lParam); L_INT L_EXPORT ColorResCallback (pBITMAPHANDLE pBitmap, L_UCHAR L_FAR *pBuffer, L_INT nLines, L_VOID L_FAR* pUserData); L_VOID DisplayImageTitle (HWND hWnd); /* status.c */ LRESULT CALLBACK L_EXPORT ProgressBarProc (HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam); L_BOOL CALLBACK L_EXPORT StatusBarProc (HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam); L_INT L_FAR L_EXPORT StatusCallBack (L_INT nPercent, L_VOID L_FAR*pUserData); L_VOID EnableStatusBarProgress(L_BOOL fEnable); L_VOID SetStatusBarProgress(L_INT nPercent); L_VOID SetStatusBarText(L_TCHAR* pTitle, pBITMAPHANDLE pBitmap, L_INT nZoom, L_BOOL fClipRgn); L_VOID SetStatusBarRegion(pBITMAPHANDLE pBitmap, L_INT left, L_INT top, L_INT right, L_INT bottom, RECT L_FAR *pRect); /* util.c */ typedef struct _FRAMESETTINGSPARM { L_BOOL fTransparency; L_BOOL fWaitUserInput; COLORREF crTransparency; L_UINT32 uDelay; L_UINT uDisposalMethod; L_INT nLeft; L_INT nTop; L_BOOL fApplytoall; pBITMAPHANDLE pBitmap; } FRAMESETTINGSPARM, L_FAR * LPFRAMESETTINGSPARM; typedef struct _CLRMERGEPARM { L_INT nFlag; HWND ahWnd[4]; } CLRMERGEPARM, L_FAR * LPCLRMERGEPARM; 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; L_INT nViewPerspective; L_INT nOrder; L_INT nBitsPerPixel; L_INT nPalette; L_BOOL fPadding; } IMAGEPARM, L_FAR *LPIMAGEPARM; typedef struct _UNDERLAYPARM { L_BOOL fStretch; HWND hWnd; } UNDERLAYPARM, L_FAR * LPUNDERLAYPARM; typedef struct _ANIMATIONPARM { BITMAPHANDLE Bitmap; HBITMAPLIST hList; } ANIMATIONPARM, L_FAR * LPANIMATIONPARM; typedef struct _COLORPARM { L_INT nColors; RGBQUAD pColors[256]; L_INT nColorIndex; HPALETTE hPal; L_BOOL L_FAR* pbColorsChanged; } COLORPARM, L_FAR*LPCOLORPARM; typedef struct _COLORLAYOUT { L_INT nCols; /* number of columns */ L_INT nRows; /* number of rows */ L_INT nBoxWidth; /* the width of the colored rectangle */ L_INT nBoxHeight; /* the height of the colored rectangle */ L_INT nOffsetX; /* the X offset of the first colored rectangle */ L_INT nOffsetY; /* the Y offset of the first colored rectangle */ L_INT nDeltaWidth; /* the space between columns */ L_INT nDeltaHeight; /* the space between rows */ L_INT nTotalColors; /* the number of colors */ } COLORLAYOUT, L_FAR *LPCOLORLAYOUT; L_BOOL CALLBACK L_EXPORT AddChildThumbnailsCB(HWND hWnd, LPARAM lParam); L_VOID AddChildThumbnails(L_BOOL bAddThumbnails); L_BOOL CALLBACK L_EXPORT BuildChildListCB (HWND hWnd, LPARAM lParam); L_BOOL CALLBACK L_EXPORT ClrMergeDlgProc (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 UnderlayDlgProc (HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam); L_INT L_FAR L_EXPORT LoadInfoCallback(L_INT fd, pLOADINFO pInfo, L_VOID L_FAR* pUserData); L_INT GetThreshold (HWND hWnd, L_TCHAR* pszTitle, L_INT nInit); L_BOOL GetFrameSettingsParm(HWND hWnd, LPFRAMESETTINGSPARM pParm); L_BOOL GetAnimationParm(HWND hWnd, LPANIMATIONPARM pParm); L_VOID GetChildTitle(HWND hWnd, L_TCHAR *pszTitle); L_BOOL GetClrMergeParm(HWND hWnd, LPCLRMERGEPARM pParm); L_BOOL EnableLoadInfo(L_BOOL fEnable); L_VOID PreFrameChange(HWND hWnd); L_VOID PostFrameChange(HWND hWnd); L_BOOL GetImageParm(HWND hWnd, LPIMAGEPARM pParm); L_BOOL GetUnderlayParm (HWND hWnd, LPUNDERLAYPARM pUnderlayParm); L_INT DoDialogBoxParam(L_INT nDialog, HWND hWnd, DLGPROC pfnDialog, LPARAM lParam); L_INT fMessageBox (HWND hWnd, L_TCHAR* pCaption, UINT wType, L_TCHAR* pFormat,...); L_INT GetZoomFactor (HWND hWnd, L_INT nInit); L_BOOL GetEffectsDelay (HWND hWnd, L_UINT L_FAR*pDelay); L_VOID L_FileError (HWND hwnd, L_INT nCode, L_TCHAR* pTitle, L_TCHAR* pFilename); L_VOID SetPageNumber(L_INT nPage); L_VOID SizeClientRect (HWND hWnd, L_INT nWidth, L_INT nHeight); 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_INT L_FAR L_EXPORT PicturizeCallback(pBITMAPHANDLE pThumb, L_INT left, L_INT top, L_VOID L_FAR*pUserData); L_BOOL GetColor(HWND hWnd, pBITMAPHANDLE pBitmap, COLORREF FAR *pColor, L_BOOL L_FAR*pbColorsChanged); LRESULT CALLBACK ColorArrayWindowProc(HWND hWnd, L_UINT Msg, WPARAM wParam, LPARAM lParam); L_VOID ListSubFileTypes(L_INT nFormat, HWND hDlg, void L_FAR* lParm); L_BOOL GetDirectory (HWND hWnd, L_TCHAR L_FAR*pszDirectory); L_BOOL CALLBACK L_EXPORT DirDlgProc (HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam); L_INT GetProperQualityFactor(L_INT nFileFormat); L_BOOL IsMultiPageSupportAvailable(L_TCHAR L_FAR* lpFileName); L_BOOL IsMultiPageFormat(L_INT nFileFormat); L_VOID UpdateSaveFileOption(SAVEDLGPARAMS CONST *pFSParm,L_BOOL bList); L_VOID StartMagGlass(LPCHILDDATA pData); L_VOID StopMagGlass(LPCHILDDATA pData); L_INT L_FAR L_EXPORT BrowseDirCB(pBITMAPHANDLE pBitmap, L_TCHAR L_FAR *pszFile, pFILEINFO pInfo, L_INT nStatusCode, L_INT nPercent, L_VOID L_FAR *pUserData); L_VOID BrowseDir(L_VOID); L_BOOL IsDir(L_TCHAR L_FAR* pszPath); L_VOID InsertImage(); L_VOID RemoveImage(); L_VOID SaveDatabase(); L_VOID LoadDatabase(); L_VOID GetFileName(const L_TCHAR *, L_TCHAR *); L_BOOL ProcessMessages(); L_VOID PaintThisBitmap(HWND hWnd, pBITMAPHANDLE pBitmap, LPRECT prcDest, LPRECT prcDestClip, HPALETTE hPalette); HPALETTE CreateFixedPaintPalette(HWND hWnd, pBITMAPHANDLE pBitmap); L_VOID DisplayDICOMLoadMsg(HWND hWnd, pFILEINFO pInfo, L_TCHAR L_FAR* pszFilename); L_VOID DisplayDICOMSaveMsg(HWND hWnd, L_INT nFormat); L_VOID ChangeFont (HWND hWnd); L_VOID CleanOpenDlgParam(LPOPENDLGPARAMS pFOParam); L_VOID BitmapSizeChange (HWND hWnd, L_BOOL bDoPaint); /* globals.c */ extern BITMAPHANDLE CapturedBitmap; extern L_INT nCaptureNo; extern L_INT nCaptureType; extern L_INT nLastCaptureType; extern L_BOOL bInCapture; extern LEADCAPTUREAREAOPTION CaptureAreaOption; extern LEADCAPTUREOBJECTOPTION ObjectOptions; extern VERSIONINFO VersionInfo; extern DWORD nOpenIndex; extern DWORD nSaveIndex; extern HWND hWndClient; extern HWND hWndFrame; HWND hWndAnimation; extern HWND hBrowseDlg; extern HINSTANCE hInst; extern L_INT nBitonalFlags; extern L_INT nDitherMode; extern L_BOOL fDoPaintWhileLoad; extern L_BOOL fIsBGRDevice; extern L_INT nPaintResizeFlags; extern BITMAPHANDLE ColorSepBitmap; /* BitmapHandle for Color Separation. */ extern BITMAPHANDLE ColorPlanes[4]; /* BitmapHandles for Color Separation. */ extern pBITMAPHANDLE pColorPlanes[4]; /* BitmapHandle pointers for Color Separation. */ /* Variables for status bar use. */ extern HWND hWndStatus; extern FARPROC lpfnStatusBar; extern STATUSCALLBACK lpfnOldStatus; extern BITMAPHANDLE StatusBarBitmap; extern L_BOOL fKillProgress; extern L_BOOL fUseProgress; extern L_BOOL fUseFastPrint; extern L_BOOL fUseFastPrint; extern STATUSCALLBACK lpfnOldStatusCB; extern L_BOOL fInLoadFile; extern L_BOOL fLoadCompressed; extern L_BOOL fLoadRotated; extern L_BOOL fTotalPages; extern L_BOOL fShowPreview; extern L_BOOL fShowResize; extern L_BOOL fLoadVecFiles; extern L_BOOL fLoadTxtFiles; extern L_BOOL fLoadRawFax; extern L_BOOL fInProcess; extern L_BOOL fISIS; extern L_BOOL fbTwnInstalled; extern L_BOOL fShowApply; extern L_TCHAR szBitmapWndClass[]; extern L_TCHAR szFrameClass[]; extern L_TCHAR szFrameTitle[]; extern L_TCHAR szChildClass[]; extern L_TCHAR szProgressBarClass[]; extern L_TCHAR szImageDir[_MAX_PATH]; extern L_INT nPaletteMode; extern L_INT nRegionTool; extern L_BOOL bDrawingCurve; extern L_BOOL bEraseCurvePoints; extern L_BOOL fNetscapePalette; extern L_UINT uEffectDelay; extern HBRUSH hListBkGndBrush; extern L_INT nCurrentPage; extern L_UINT uPicturizeFlags; extern L_INT nCaptureNo; extern L_INT nCaptureType; extern LOADFILEOPTION LoadFileOption; extern SAVEFILEOPTION SaveFileOption; extern L_DOUBLE dCurveTension; extern L_INT nCurveClose; extern L_BOOL bDICOMLoadMsg; extern L_BOOL bDICOMSaveMsg; extern HTWAINSESSION g_hTwainSession; extern L_TCHAR szCommandLine [ L_MAXPATH ] ; extern L_BOOL bCommandLine ; extern COLORRESDLGPARAMS ColorParam ; extern HALFTONEDLGPARAMS HalfToneParams ; extern CONTOURFILTERDLGPARAMS ContourFilterParams ; extern ROTATEDLGPARAMS RotateParams ; extern SHEARDLGPARAMS ShearParams ; extern BRIGHTNESSDLGPARAMS BrightnessParams ; extern CONTRASTDLGPARAMS ContrastParams ; extern HISTOCONTRASTDLGPARAMS HistoContrastParams; extern SATURATIONDLGPARAMS SaturationParams; extern SHARPENDLGPARAMS SharpenParams; extern HUEDLGPARAMS HueParams; extern AVERAGEDLGPARAMS AverageParams; extern MEDIANDLGPARAMS MedianParams; extern OILIFYDLGPARAMS OilifyParams; extern MINFILTERDLGPARAMS MinFilterParams; extern MAXFILTERDLGPARAMS MaxFilterParams; extern ADDNOISEDLGPARAMS AddNoiseParams; extern POSTERIZEDLGPARAMS PosterizeParams; extern MOSAICDLGPARAMS MosaicParams; extern EMBOSSDLGPARAMS EmbossParams; extern GRADIENTFILTERDLGPARAMS GradientFilterParams; extern LAPLACIANFILTERDLGPARAMS LaplacianFilterParams; extern SOBELFILTERDLGPARAMS SobelFilterParams; extern PREWITTFILTERDLGPARAMS PrewittFilterParams; extern SHIFTDIFFERENCEFILTERDLGPARAMS ShiftDifferenceFilterParams; extern LINESEGMENTFILTERDLGPARAMS LineSegmentFilterParams; extern EROSIONFILTERDLGPARAMS ErosionFilterParams; extern DILATIONFILTERDLGPARAMS DilationFilterParams; extern SOLARIZEDLGPARAMS SolarizeParams; extern GAMMAADJUSTMENTDLGPARAMS GammaAdjustmentParams; extern RESIZEDLGPARAMS ReizeParams; extern JPEGWEBTUNERDLGPARAMS JPEGWebTunerParams; extern PNGWEBTUNERDLGPARAMS PNGWebTunerParams; extern GIFWEBTUNERDLGPARAMS GIFWebTunerParams; extern HTMLMAPPERDLGPARAMS HTMLMapperParams; extern AUTOTRIMDLGPARAMS AutoTrimParams; extern ADDBORDERDLGPARAMS AddBorderParams; extern ADDFRAMEDLGPARAMS AddFrameParams; extern SMOOTHDLGPARAMS SmoothParams; extern LINEREMOVEDLGPARAMS LineRemoveParams; extern BORDERREMOVEDLGPARAMS BorderRemoveParams; extern DOTREMOVEDLGPARAMS DotRemoveParams; extern INVERTEDTEXTDLGPARAMS InvertedTextParams; extern HOLEPUNCHREMOVEDLGPARAMS HolePunchRemoveParams; extern REMOVEREDEYEDLGPARAMS RemoveRedeyeParams; extern CANVASRESIZEDLGPARAMS CanvasResizeParams; extern HISTOGRAMDLGPARAMS HistogramParams; extern MOTIONBLURDLGPARAMS MotionBlurParams; extern RADIALBLURDLGPARAMS RadialBlurParams ; extern ZOOMBLURDLGPARAMS ZoomBlurParams ; extern GAUSSIANBLURDLGPARAMS GaussianBlurParams ; extern ANTIALIASDLGPARAMS AntiAliasParams ; extern UNSHARPMASKDLGPARAMS UnsharpMaskParams ; extern MULTIPLYDLGPARAMS MultiplyParams ; extern FREEHANDWAVEDLGPARAMS FreeHandWaveParams ; extern WINDDLGPARAMS WindParams ; extern POLARDLGPARAMS PolarParams ; extern ZOOMWAVEDLGPARAMS ZoomWaveParams ; extern RADIALWAVEDLGPARAMS RadialWaveParams ; extern SWIRLDLGPARAMS SwirlParams ; extern WAVEDLGPARAMS WaveParams ; extern WAVESHEARDLGPARAMS WaveShearParams ; extern PUNCHDLGPARAMS PunchParams ; extern RIPPLEDLGPARAMS RippleParams ; extern BENDINGDLGPARAMS BendingParams ; extern CYLINDRICALDLGPARAMS CylindricalParams ; extern SPHERIZEDLGPARAMS SpherizeParams ; extern IMPRESSIONISTDLGPARAMS ImpressionistParams ; extern UNDERLAYDLGPARAMS UnderlayParams ; extern PIXELATEDLGPARAMS PixelateParams ; extern PICTURIZEDLGPARAMS PicturizeParams ; extern EDGEDETECTORDLGPARAMS EdgeDetectorParams ; extern INTENSITYDETECTDLGPARAMS IntensityDetectParams; extern BALANCECOLORSDLGPARAMS BalanceColorsParams; extern GRAYSCALEDLGPARAMS GrayScaleParams; extern COLOREDGRAYDLGPARAMS ColoredGrayParams; extern REMAPINTENSITYDLGPARAMS RemapIntensityParams; extern REMAPHUEDLGPARAMS RemapHueParams; extern LOCALHISTOEQUALIZEDLGPARAMS LocalHistoEqualizeParams; extern PRINTPREVIEWDLGPARAMS PrintPreviewParams ; extern WINDOWLEVELDLGPARAMS WindowLevelParams ;