(* ImageEn Build 7.0.0.06.2637 @ 7-4-17 14:58:42.679 *) (* Copyright (c) 1998-2017 by Carlotta Calandra. All rights reserved. Copyright (c) 2011-2017 by Xequte Software. This software comes without express or implied warranty. In no case shall the author be liable for any damage or unwanted behavior of any computer hardware and/or software. Author grants you the right to include the component in your application, whether COMMERCIAL, SHAREWARE, or FREEWARE. ImageEn, IEvolution and ImageEn ActiveX may not be included in any commercial, shareware or freeware libraries or components. www.ImageEn.com *) (* File version 1028 *) unit hyiedefs; {$R-} {$Q-} {$I ie.inc} interface uses {$ifdef IEHASUITYPES} System.UITypes, {$endif} Windows, Messages, Classes, SysUtils, Graphics, StdCtrls; const clNone_ = Graphics.clNone; // Avoid confusion with clNone // version details IEMAINVER = 700; IEMAINVERSION: string = '7.0.0'; IEMAINDATEDD = 6; IEMAINDATEMM = 4; IEMAINDATEYY = 2017; IEM_UPDATE = WM_USER + 7000; // message to TImageEnView for Update // messages from TImageEnIO.DShowParams IEM_NEWFRAME = WM_USER + 7001; IEM_EVENT = WM_USER + 7002; // async OnProgress/OnFinishWork messages IEM_PROGRESS = WM_USER + 7003; IEM_FINISHWORK = WM_USER + 7004; IEWM_MOUSEHWHEEL = $020E; // Auto-scrolling in IEMView IEM_AUTOSCROLL = WM_User + 7005; // messages from TImageEnIO.MediaFoundation IEM_MEDIAFOUNDATION = WM_USER + 7006; IEENTRYFORVARIABLECURSOR = 1815; IEPrint_Preview_Margin_Color = clSilver; Supported_AVI_File_Extensions = '*.avi;'; {$ifdef IEINCLUDEDIRECTSHOW} Supported_MPEG_File_Extensions = '*.mpe;*.mpg;*.mpeg;'; Supported_WMV_File_Extensions = '*.wmv;'; {$ELSE} Supported_MPEG_File_Extensions = ''; Supported_WMV_File_Extensions = ''; {$ENDIF} Supported_Video_File_Extensions = Supported_AVI_File_Extensions + Supported_MPEG_File_Extensions + Supported_WMV_File_Extensions; ALL_KNOWN_EXPLORER_VIDEO_FORMATS = '*.AVI;*.MPG;*.MPE;*.MPEG;*.WMV;*.ASF;*.IVF;*.WM;*.MP4;*.MOV;*.QT;*.RM;*.M2TS;*.MTS;*.MOD;'; Default_GIF_Animation_Delay_MS = 100; // 100 milliseconds: Default delay for animated images that do not have an explicit delay interval - in line with most browsers CM_per_Inch = 2.54; // For imperial to metric conversion Trackbar_Thumb_Length = 20; // height of thumb draggers in preview dialogs // defines IECMYKPROFILE const {$WARNINGS OFF} {$I table1.inc} {$WARNINGS ON} {$IFDEF UNICODE} IEDLLWNameExt = 'W'; {$ELSE} IEDLLWNameExt = 'A'; {$ENDIF} {$ifdef IEOLDSEEKDEF} soCurrent = soFromCurrent; soBeginning = soFromBeginning; soEnd = soFromEnd; {$endif} // consts used by TImageEnProc.TextOut Align_Text_Top = 0; Align_Text_Near_Top = -901; Align_Text_Vert_Center = -902; Align_Text_Near_Bottom = -903; Align_Text_Bottom = -904; Align_Text_Left = Align_Text_Top; Align_Text_Near_Left = Align_Text_Near_Top; Align_Text_Horz_Center = Align_Text_Vert_Center; Align_Text_Near_Right = Align_Text_Near_Bottom; Align_Text_Right = Align_Text_Bottom; resourcestring IERS_IEVISIONNOTFOUND = 'ievision.dll, ievision32.dll, ievision64.dll, ielib.dll, ielib32.dll or ielib64.dll not found'; type TIEScrollStyle = {$ifdef DelphiXE3orNewer}System.UITypes.{$endif}TScrollStyle; {!! EIEException Declaration EIEException = class(Exception); Description Generic ImageEn exception !!} EIEException = class(Exception); {!! TIEAntialiasMode Declaration TIEAntialiasMode = (ierNone, ierFast, ierBilinear, ierBicubic); Description Specifies the anti-aliasing algorithm that is used to improve quality when rotating images: ierNone : No anti-aliasing (lowest quality) ierFast : Fast but lower quality ierBilinear : Bilinear, high quality ierBicubic : Bicubic, highest quality !!} TIEAntialiasMode = (ierNone, ierFast, ierBilinear, ierBicubic); {!! TFlipDir Declaration } TFlipDir = (fdHorizontal, fdVertical); {!!} {!! TIEMagnifyStyle Declaration } TIEMagnifyStyle = (iemRectangle, iemEllipse); {!!} {!! TIEMagnifySource Declaration TIEMagnifySource = (iemBackgroundLayer, iemCanvas); Description iemBackgroundLayer: gets data from the background layer. iemCanvas: gets data from the painted background. To magnify the layer 0 image by getting the pixels directly from the bitmap, use iemBackgroundLayer. !!} TIEMagnifySource = (iemBackgroundLayer, iemCanvas); {!! TIELayerMagnification Declaration TIELayerMagnification = record Enabled: boolean; Rate: double; Style: ; Source: ; end; Description Properties allowing a layer to be used for magnification. Field Description Enabled If true this is a magnify layer. The bitmap of the layer is filled with the background zoomed according to Rate field. This property doesn't apply to layer 0. Default: False Rate The rate of the magnify layer (magnification). Allowed values greather than 1. Valid only if Enabled=True. This property doesn't apply to layer 0. Default: 2 Style The magnify layer shape. Valid only if Enabled=True. This property doesn't apply to layer 0. Default: iemRectangle Source The magnify layer source. Default: iemCanvas
!!} TIELayerMagnification = record Enabled: boolean; Rate: double; // must be >= 1 Style: TIEMagnifyStyle; Source: TIEMagnifySource; end; {!! TIEColorSpace Declaration } TIEColorSpace = (iecmsRGB, iecmsBGR, iecmsCMYK, iecmsCMYK6, iecmsCIELab, iecmsGray8, iecmsRGB48, iecmsRGB48_SE, iecmsYCBCR); {!!} {!! TIEFileDragDropActions Declaration TIEFileDragDropActions = set of (ieddCopy, ieddMove); Description Used by
and . !!} TIEFileDragDropActions = set of (iedaCopy, iedaMove); {$ifdef FPC} TCMWantSpecialKey = TWMKey; {$endif} PBitmapInfoHeader256 = ^TBitmapInfoHeader256; {$ifdef WIN64} TIESizeT = uint64; {$else} TIESizeT = DWORD; {$endif} {!! PPointArray Declaration PPointArray = ^; !!} PPointArray = ^TPointArray; {!! PIEPointArray Declaration PIEPointArray = ^; !!} PIEPointArray = ^TIEPointArray; {!! PPointerArray Declaration PPointerArray = ^; !!} PPointerArray = ^TPointerArray; TIEArrayOfTPoint = array of TPoint; TIEArrayOfAnsiChar = array of AnsiChar; {!! PDoubleArray Declaration PDoubleArray = ^; !!} PDoubleArray = ^TDoubleArray; {!! PDWordArray Declaration PDWordArray = ^; !!} PDWordArray = ^TDWordArray; {!! PSingleArray Declaration PSingleArray = ^; !!} PSingleArray = ^TSingleArray; {!! PRGBA Declaration PRGBA = ^; !!} PRGBA = ^TRGBA; {!! PIERGBAPalette Declaration PIERGBAPalette = ^; !!} PIERGBAPalette = ^TIERGBAPalette; {!! PRGB Declaration type PRGB = ^; !!} PRGB = ^TRGB; {!! PIERGBPalette Declaration PIERGBPalette = ^; !!} PIERGBPalette = ^TIERGBPalette; {!! PCMYK Declaration PCMYK = ^; !!} PCMYK = ^TCMYK; {!! PCIELAB Declaration PCIELAB = ^; !!} PCIELAB = ^TCIELAB; {!! PCIELABROW Declaration PCIELABROW = ^; !!} PCIELABROW = ^TCIELABROW; {!! PYCBCR Declaration PYCBCR = ^; !!} PYCBCR = ^TYCBCR; {!! PCMYKROW Declaration PCMYKROW = ^; !!} PCMYKROW = ^TCMYKROW; {!! PRGBROW Declaration type PRGBROW = ^; !!} PRGBROW = ^RGBROW; {!! PRGB32ROW Declaration type PRGB32ROW = ^; !!} PRGB32ROW = ^RGB32ROW; {!! PRGB48ROW Declaration PRGB48ROW = ^; !!} PRGB48ROW = ^TRGB48ROW; {!! PBYTEROW Declaration PBYTEROW = ^; !!} PBYTEROW = ^TBYTEROW; {!! PBYTEROWS Declaration PBYTEROWS = ^; !!} PBYTEROWS = ^TBYTEROWS; {!! pIntegerArray Declaration pIntegerArray = ^; !!} pIntegerArray = ^IntegerArray; {!! pint64array Declaration pint64array = ^; !!} pint64array = ^int64array; {!! PPRGBArray Declaration type PPRGBArray = ^; !!} PPRGBArray = ^PRGBArray; {!! pboolean Declaration } pboolean = ^boolean; {!!} {!! TIEArrayOfDouble Declaration } TIEArrayOfDouble = array of double; {!!} {!! TIEArrayOfSingle Declaration } TIEArrayOfSingle = array of single; {!!} {!! PProgressRec Declaration PProgressRec = ^; !!} PProgressRec = ^TProgressRec; PIEDouble = ^double; {$ifndef IEHASUINT64} uint64 = int64; {$endif} // DRAWDIB TYPES hDrawDib = THandle; TDrawDibTime = record timeCount: LongInt; // see below timeDraw: LongInt; // time to draw bitmaps timeDecompress: LongInt; // time to decompress bitmaps timeDither: LongInt; // time to dither bitmaps timeStretch: LongInt; // time to stretch bitmaps timeBlt: LongInt; // time to transfer bitmaps (BitBlt) timeSetDIBits: LongInt; // time to transfer bitmaps (SetDIBits) end; // TBitmapInfoHeader + palette 256 colors TBitmapInfoHeader256 = packed record biSize: DWORD; biWidth: Longint; biHeight: Longint; biPlanes: Word; biBitCount: Word; biCompression: DWORD; biSizeImage: DWORD; biXPelsPerMeter: Longint; biYPelsPerMeter: Longint; biClrUsed: DWORD; biClrImportant: DWORD; Palette: array[0..1] of TRGBQUAD; end; {!! TPointArray Declaration } TPointArray = array[0..Maxint div 16] of Windows.TPoint; {!!} // Why this? Because C++Builder doesn't want TPointArray or PPointArray for variable declarations (not function members) {!! TIEPoint Declaration } TIEPoint = record X: Longint; Y: Longint; end; {!!} {!! TIE2DPoint Declaration } TIE2DPoint = record X: double; Y: double; end; {!!} {!! TIEDRectangle Declaration } TIEDRectangle = array [0..1] of TIE2DPoint; {!!} {!! TIEDRotatedRectangle Declaration } TIEDRotatedRectangle = array [0..3] of TIE2DPoint; {!!} {!! TIE2DPointArray Declaration } TIE2DPointArray = array of TIE2DPoint; {!!} {!! TIE3DPoint Declaration } TIE3DPoint = record x: double; y: double; z: double; end; {!!} {!! TIEPointArray Declaration TIEPointArray = array[0..Maxint div 16] of ; !!} TIEPointArray = array[0..Maxint div 16] of TIEPoint; {!! TIEQuadCoords Declaration } TIEQuadCoords = record x0, y0: integer; x1, y1: integer; x2, y2: integer; x3, y3: integer; end; {!!} {!! TPointerArray Declaration } TPointerArray = array[0..maxint div 16] of pointer; {!!} {!! TDoubleArray Declaration TDoubleArray = array[0..maxint div 16] of double; !!} TDoubleArray = array[0..maxint div 16] of double; {!! TDWordArray Declaration TDWordArray = array[0..maxint div 16] of dword; !!} TDWordArray = array[0..maxint div 16] of dword; {!! TSingleArray Declaration TSingleArray = array[0..maxint div 16] of single; !!} TSingleArray = array[0..maxint div 16] of single; {!! TIESmallIntArray Declaration TIESmallIntArray = array[0..maxint div 16] of SmallInt; !!} TIESmallIntArray = array[0..maxint div 16] of SmallInt; {!! PIESmallIntArray Declaration PIESmallIntArray = ^TIESmallIntArray; !!} PIESmallIntArray = ^TIESmallIntArray; {!! TRGBA Declaration } TRGBA = packed record b: byte; g: byte; r: byte; a: byte; end; {!!} {!! TRGB48 Declaration } TRGB48 = packed record r: word; g: word; b: word; end; {!!} {!! TRGBA48 Declaration } TRGBA48 = packed record r: word; g: word; b: word; a: word; end; {!!} PRGBA48 = ^TRGBA48; {!! PRGB48 Declaration PRGB48 = ^; !!} PRGB48 = ^TRGB48; TIELine = record P, Q: TPoint; end; TIELineArray = array[0..8192] of TIELine; PIELineArray = ^TIELineArray; {!! TIERGBAPalette Declaration TIERGBAPalette = array[0..maxint div 16] of ; !!} TIERGBAPalette = array[0..maxint div 16] of TRGBA; {!! TRGB Declaration TRGB = packed record b: byte; g: byte; r: byte; end; See Also - - - !!} TRGB = packed record b: byte; g: byte; r: byte; end; {!! TIEArrayOfTRGB Declaration } TIEArrayOfTRGB = array of TRGB; {!!} {!! TIERGBPalette Declaration TIERGBPalette = array[0..maxint div 16] of ; !!} TIERGBPalette = array[0..maxint div 16] of TRGB; {!! TCMYK Declaration } TCMYK = packed record c: byte; m: byte; y: byte; k: byte; end; {!!} {!! TCMYK16 Declaration } TCMYK16 = packed record c: word; m: word; y: word; k: word; end; {!!} PCMYK16 = ^TCMYK16; {!! TCIELab Declaration } TCIELab = packed record l: byte; a: shortint; b: shortint; end; {!!} {!! TYCbCr Declaration } TYCbCr = packed record y: byte; Cb: byte; Cr: byte; end; {!!} {!! TCMYKROW Declaration TCMYKROW = array[0..Maxint div 16] of ; !!} TCMYKROW = array[0..Maxint div 16] of TCMYK; {!! TRGB48ROW Declaration TRGB48ROW = array[0..Maxint div 16] of ; !!} TRGB48ROW = array[0..Maxint div 16] of TRGB48; {!! TCIELABROW Declaration TCIELABROW = array[0..Maxint div 16] of ; !!} TCIELABROW = array[0..Maxint div 16] of TCIELAB; {!! RGBROW Declaration type RGBROW = array[0 . . Maxint div 16] of ; !!} RGBROW = array[0..Maxint div 16] of TRGB; {!! RGB32ROW Declaration type RGB32ROW = array[0 . . Maxint div 16] of ; !!} RGB32ROW = array[0..Maxint div 16] of TRGBA; // row of bytes {!! TBYTEROW Declaration } TBYTEROW = array[0..Maxint div 16] of byte; {!!} // array of byte rows {!! TBYTEROWS Declaration } TBYTEROWS = array[0..Maxint div 16] of PBYTEROW; {!!} {!! IntegerArray Declaration } IntegerArray = array[0..MaxInt div 16] of integer; {!!} {!! int64array Declaration } int64array = array[0..MaxInt div 16] of int64; {!!} // pointer tp array of pointers to TRGB (scanline rows) {!! PRGBArray Declaration type PRGBArray = array[0 . . Maxint div 16] of pRGB; !!} PRGBArray = array[0..Maxint div 16] of pRGB; {!! TIEArrayOfByte Declaration } TIEArrayOfByte = array of byte; {!!} TIEArrayOfPointer = array of pointer; {!! TIEArrayOfInteger Declaration } TIEArrayOfInteger = array of integer; {!!} {!! TIEArrayOfDWord Declaration } TIEArrayOfDWord = array of dword; {!!} ////////////////////////////////////////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////////////////////////////////////////// // TIEVSoftShadow {!! TIEVSoftShadow Description This class specifies how a shadow will be rendered. Fields !!} TIEVSoftShadow = class {!! TIEVSoftShadow.Enabled Declaration Enabled: Boolean Description Enable/disable the shadow. Default: False !!} Enabled: boolean; {!! TIEVSoftShadow.Radius Declaration Radius: Double Description The radius of the shadow (which controls its blur) Default: 3 !!} Radius: double; {!! TIEVSoftShadow.OffsetX Declaration OffsetX: Integer Description The horizontal relative position of the shadow (negative values position the shadow to the right). Default: 3 !!} OffsetX: integer; {!! TIEVSoftShadow.OffsetY Declaration OffsetY: Integer Description The vertical position of the shadow (negative values position the shadow above). Default: 3 !!} OffsetY: integer; {!! TIEVSoftShadow.Intensity Declaration Intensity: Integer Description This is the shadow intensity, with values in the range 0 and 100 (maximum). Default: 100 !!} Intensity: integer; {!! TIEVSoftShadow.ShadowColor Declaration ShadowColor: ; Description Specifies the shadow color. Default: 0,0,0 (black) Example ImageEnMView.SoftShadow.ShadowColor := TColor2TRGB( clBlue ); See Also - - - !!} ShadowColor: TRGB; constructor Create; procedure Assign(Source: TIEVSoftShadow); end; // TIEVSoftShadow ////////////////////////////////////////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////////////////////////////////////////// {!! TIEProgressEvent Declaration type TIEProgressEvent = procedure(Sender: TObject; per: integer) of object; Description per is a value from 0 to 100 that indicates the percentage progress made. !!} // Notify progress (per=percentage) TIEProgressEvent = procedure(Sender: TObject; per: integer) of object; {!! TIEJob Declaration } TIEJob = (iejNOTHING, // no job / end of work iejGENERALPROCESSING, // generic processing iejVIDEOCAP_CONNECTING // Video capture - connecting... ); {!!} {!! TIEJobEvent Declaration type TIEJobEvent = procedure(Sender: TObject; job: ; per: integer) of object; Description A TIEJobEvent is called during ImageEn processing. job is the job type in progress. per is percentage of performed work related to job. The job parameter can be one of these values: iejNOTHING : No job / end of work iejGENERALPROCESSING : generic job iejVIDEOCAP_CONNECTING : video capture - connecting to video capture card !!} TIEJobEvent = procedure(Sender: TObject; job: TIEJob; per: integer) of object; {!! TProgressRec Declaration } // helper structure for OnProgress TProgressRec = record fOnProgress: TIEProgressEvent; Sender: TObject; val: integer; // counter (per=trunc(per1*val)) tot: integer; per1: double; // (100/maxval) per2: double; Aborting: pboolean; end; {!!} {$IfNdef Delphi6orNewer} pCardinal = ^Cardinal; {$endif} {!! TResampleFilter Declaration TResampleFilter = (rfNone, rfTriangle, rfHermite, rfBell, rfBSpline, rfLanczos3, rfMitchell, rfNearest, rfLinear, rfFastLinear, rfBilinear, rfBicubic, rfProjectBW, rfProjectWB, rfWICNearestNeighbor, rfWICLinear, rfWICCubic, rfWICFant); Description If you need the best quality we suggest: rfHermite, rfBell, rfBSpline, rfLanczos3, rfMitchell, rfNearest, rfBilinear, rfBicubic If you need speed we suggest: rfTriangle, rfLinear, rfFastLinear, rfWICNearestNeighbor, rfWICLinear, rfWICCubic, rfWICFant For projects (white on black or black on white) we suggest: rfProjectBW and rfProjectWB You can view the effect of the various filters in the demo: Demos\Display\ZoomFilter\ZoomFilter.dpr !!} TResampleFilter = (rfNone, rfTriangle, rfHermite, rfBell, rfBSpline, rfLanczos3, rfMitchell, rfNearest, rfLinear, rfFastLinear, rfBilinear, rfBicubic, rfProjectBW, rfProjectWB, rfWICNearestNeighbor, rfWICLinear, rfWICCubic, rfWICFant); {!! THistogramScale Declaration } THistogramScale = (iehsLinear, iehsLinearClipped, iehsLogarithmic); {!!} THYIEGraphicHeader = record Count: Word; { Fixed at 1 } HType: Word; { Fixed at $0100 } Size: Longint; { Size not including header } end; {!! TMsgLanguage Declaration Type TMsgLanguage = (msSystem, msEnglish, msItalian, msGerman, msSpanish, msFrench, msPortuguese, msGreek, msRussian, msDutch, msSwedish, msPolish, msJapanese, msCzech, msFinnish, msFarsi, msChinese, msChineseTraditional, msDanish, msTurkish, msKorean, msHungarian, msArabic, msSerbian, msChineseTraditionalBig5, msNorwegian, msUser); See Also - !!} TMsgLanguage = ( msSystem {$IFDEF IESUPPORTENGLISH} , msEnglish {$ENDIF} {$IFDEF IESUPPORTITALIAN} , msItalian {$ENDIF} {$IFDEF IESUPPORTGERMAN} , msGerman {$ENDIF} {$IFDEF IESUPPORTSPANISH} , msSpanish {$ENDIF} {$IFDEF IESUPPORTFRENCH} , msFrench {$ENDIF} {$IFDEF IESUPPORTPORTUGUESE} , msPortuguese {$ENDIF} {$IFDEF IESUPPORTGREEK} , msGreek {$ENDIF} {$IFDEF IESUPPORTRUSSIAN} , msRussian {$ENDIF} {$IFDEF IESUPPORTDUTCH} , msDutch {$ENDIF} {$IFDEF IESUPPORTSWEDISH} , msSwedish {$ENDIF} {$IFDEF IESUPPORTPOLISH} , msPolish {$ENDIF} {$IFDEF IESUPPORTJAPANESE} , msJapanese {$ENDIF} {$IFDEF IESUPPORTCZECH} , msCzech {$ENDIF} {$IFDEF IESUPPORTFINNISH} , msFinnish {$ENDIF} {$IFDEF IESUPPORTFARSI} , msFarsi {$ENDIF} {$IFDEF IESUPPORTCHINESE} , msChinese , msChineseTraditional , msChineseTraditionalBig5 {$ENDIF} {$IFDEF IESUPPORTDANISH} , msDanish {$ENDIF} {$IFDEF IESUPPORTTURKISH} , msTurkish {$ENDIF} {$IFDEF IESUPPORTKOREAN} , msKorean {$ENDIF} {$IFDEF IESUPPORTHUNGARIAN} , msHungarian {$ENDIF} {$IFDEF IESUPPORTARABIC} , msArabic {$ENDIF} {$IFDEF IESUPPORTSERBIAN} , msSerbian {$ENDIF} {$IFDEF IESUPPORTNORWEGIAN} , msNorwegian {$ENDIF} {$IFDEF IESUPPORTUSER} , msUser {$ENDIF} ); {!! TMsgLanguageWords Declaration } TMsgLanguageWords = (IEMSG_PREVIEW, IEMSG_SOURCE, IEMSG_RESULT, IEMSG_OK, IEMSG_CANCEL, IEMSG_LOCKPREVIEW, IEMSG_COPYRESULTTOSOURCE, IEMSG_CONTRAST, IEMSG_BRIGHTNESS, IEMSG_HUE, IEMSG_SATURATION, IEMSG_VALUE, IEMSG_BASECOLOR, IEMSG_NEWCOLOR, IEMSG_LUMINOSITY, IEMSG_RED, IEMSG_GREEN, IEMSG_BLUE, IEMSG_FILTERVALUES, IEMSG_PRESETS, IEMSG_DIVISOR, IEMSG_LOAD, IEMSG_SAVE, IEMSG_EQUALIZATION, IEMSG_THRESHOLD, IEMSG_EQUALIZE, IEMSG_HISTOGRAM, IEMSG_GRAY, IEMSG_LIGHT, IEMSG_LEFT, IEMSG_TOP, IEMSG_WIDTH, IEMSG_HEIGHT, IEMSG_COLOR, IEMSG_SOURCEIMAGEQUANTITY, IEMSG_LENS, IEMSG_REFRACTION, IEMSG_PARAMETERSPREVIEW, IEMSG_QUALITY, IEMSG_DCTMETHOD, IEMSG_SMOOTHINGFACTOR, IEMSG_GRAYSCALE, IEMSG_OPTIMALHUFFMAN, IEMSG_ORIGINALSIZE, IEMSG_COMPRESSEDSIZE, IEMSG_ADVANCED, IEMSG_PROGRESSIVE, IEMSG_COMPRESSION, IEMSG_IMAGEINDEX, IEMSG_PHOTOMETRIC, IEMSG_SCANNDEDDOCUMENTINFO, IEMSG_NAME, IEMSG_DESCRIPTION, IEMSG_PAGENAME, IEMSG_PAGENUMBER, IEMSG_OF, IEMSG_HORIZPOSITIONINCH, IEMSG_VERTPOSITIONINCH, IEMSG_COLORS, IEMSG_TRANSPARENT, IEMSG_TRANSPARENTCOLOR, IEMSG_INTERLACED, IEMSG_BACKGROUND, IEMSG_HORIZPOSITION, IEMSG_VERTPOSITION, IEMSG_DELAYTIME, IEMSG_FILTER, IEMSG_WAVE, IEMSG_AMPLITUDE, IEMSG_WAVELENGTH, IEMSG_PHASE, IEMSG_REFLECTIVE, IEMSG_USERFILTER, IEMSG_MORPHFILTER, IEMSG_WINDOWSIZE, IEMSG_MAXIMUM, IEMSG_MINIMUM, IEMSG_OPEN, IEMSG_CLOSE, IEMSG_ROTATE, IEMSG_FLIP, IEMSG_FLIPHOR, IEMSG_FLIPVER, IEMSG_FREQUENCYDOMAINIMAGE, IEMSG_SELECTTHEREGIONTOCLEAR, IEMSG_CLEAR, IEMSG_RESET, IEMSG_ANIMATE, IEMSG_LOADFILTER, IEMSG_SAVEFILTER, IEMSG_BUMPMAP, IEMSG_PRINT, IEMSG_MARGINS, IEMSG_INCHES, IEMSG_RIGHT, IEMSG_BOTTOM, IEMSG_POSITION, IEMSG_SIZE, IEMSG_NORMAL, IEMSG_FITTOPAGE, IEMSG_STRETCHTOPAGE, IEMSG_SPECIFIEDSIZE, IEMSG_GAMMACORRECTION, IEMSG_VALUE2, IEMSG_PRINTSETUP, IEMSG_LEFTMARGIN, IEMSG_TOPMARGIN, IEMSG_RIGHTMARGIN, IEMSG_BOTTOMMARGIN, IEMSG_LOCATIONSIZE, IEMSG_TOPLEFT, IEMSG_TOPCENTER, IEMSG_TOPRIGHT, IEMSG_CENTERLEFT, IEMSG_CENTER, IEMSG_CENTERRIGHT, IEMSG_BOTTOMLEFT, IEMSG_BOTTOMCENTER, IEMSG_BOTTOMRIGHT, IEMSG_CLOSE2, IEMSG_APPLY, IEMSG_MEASUREUNITS, IEMSG_UNITS, IEMSG_RATE, IEMSG_ALLGRAPHICS, IEMSG_VIDEOFORWINDOWS, IEMSG_FILE, IEMSG_MEM, IEMSG_LOCKPREVIEWHINT, IEMSG_PRINTALL, IEMSG_PRINTSELECTED, IEMSG_ALLCOMMONGRAPHICFILES, IEMSG_ALLFILES, IEMSG_HSV, IEMSG_HSL, IEMSG_RGB, IEMSG_FFT, IEMSG_SHARPEN, IEMSG_CHANNELS, IEMSG_PIXELS, IEMSG_FRAMES, IEMSG_BIT, IEMSG_BYTE, IEMSG_DPI, IEMSG_KB, IEMSG_FIT, IEMSG_OTHER, IEMSG_COLUMNS, IEMSG_ROWS, IEMSG_STYLE, IEMSG_SPACING, IEMSG_SELECTACQUIREDEVICE, IEMSG_SELECTANACQUISITIONDEVICE, IEMSG_Page_X_of_X, IEMSG_X_Pages, IEMSG_Previous, IEMSG_Next, IEMSG_THUMBNAILS, IEMsg_Acquire, IEMsg_AddFromFile, IEMsg_AddLayer, IEMsg_AdjustColors, IEMsg_AutoEqualizeColors, IEMsg_AutoRotateDisplay, IEMsg_AutoShrink, IEMsg_AutoStretch, IEMsg_BringForward, IEMsg_BringToFront, IEMsg_CircularSelect, IEMsg_ConvertToGray, IEMsg_CopyImage, IEMsg_CopySelection, IEMsg_Copy, IEMsg_CropImageToObjects, IEMsg_CropToSelection, IEMsg_CropTransparency, IEMsg_CutSelection, IEMsg_Cut, IEMsg_DeleteAll, IEMsg_Delete, IEMsg_DeselectAll, IEMsg_Deselect, IEMsg_EditPolyline, IEMsg_FirstFrame, IEMsg_FitImageToHeight, IEMsg_FitImageToWidth, IEMsg_FitImage, IEMsg_FlipHorizontal, IEMsg_FlipVertical, IEMsg_ImageEffects, IEMsg_ImageSaveProperties, IEMsg_InsertAngle, IEMsg_InsertEllipse, IEMsg_InsertImage, IEMsg_InsertLabelWithLine, IEMsg_InsertLine, IEMsg_InsertMemo, IEMsg_InsertPolyline, IEMsg_InsertRectangle, IEMsg_InsertRuler, IEMsg_InsertText, IEMsg_LassoSelect, IEMsg_LastFrame, IEMsg_LoadFileAsLayer, IEMsg_LoopPlayback, IEMsg_MeasureArea, IEMsg_MeasureDistance, IEMsg_MeasureLength, IEMsg_MergeAllLayers, IEMsg_MergeAllToBackground, IEMsg_MergeToBackground, IEMsg_MoveLayers, IEMsg_Negative, IEMsg_NextFrame, IEMsg_PasteAsLayer, IEMsg_Paste, IEMsg_PolygonSelect, IEMsg_PreviousFrame, IEMsg_PrintAllThumbnails, IEMsg_PrintPreview, IEMsg_PrintThumbnails, IEMsg_PrintToPage, IEMsg_RectangularSelect, IEMsg_Redo, IEMsg_RemoveLayer, IEMsg_RemoveRedEyes, IEMsg_ResizeLayers, IEMsg_Rotate180, IEMsg_RotateLayers, IEMsg_RotateLeft, IEMsg_RotateRight, IEMsg_SaveAs, IEMsg_SaveProperties, IEMsg_ScrollImage, IEMsg_ScrollToCursor, IEMsg_SelectAcquisitionSource, IEMsg_SelectAll, IEMsg_SelectByColor, IEMsg_Select, IEMsg_SendBackward, IEMsg_SendToBack, IEMsg_SingleFrameOnly, IEMsg_Undo, IEMsg_Unstamp, IEMsg_ZoomIn, IEMsg_ZoomOut, IEMsg_ZoomToFullSize, IEMsg_ZoomToSelection, IEMsg_Zoom, IEMsg_AddALineObject, IEMsg_AddAMultiLineTextObject, IEMsg_AddANewLabelObjectWithALine, IEMsg_AddANewLayerToThisImage, IEMsg_AddARulerObject, IEMsg_AddATextObject, IEMsg_AddAnAngleMeasurementObject, IEMsg_AddAnEllipticalObject, IEMsg_AddAnImageObject, IEMsg_AddAnImageToTheGridFromFile, IEMsg_AddAnRectangularObject, IEMsg_ApplyASharpeningFilterToTheImage, IEMsg_AutomaticallyDisplayImageWithTheCorrectOrientation, IEMsg_AutomaticallyDisplayImagesWithTheCorrectOrientation, IEMsg_BringTheSelectedLayerToTheFrontOfAllOthers, IEMsg_BringTheSelectedObjectToTheFrontOfAllOtherObjects, IEMsg_ClearAllImages, IEMsg_ClearAll, IEMsg_ClearThisImage, IEMsg_ClearYourSelection, IEMsg_ClickTheImageAndDragTheMouseToScroll, IEMsg_ContinuouslyLoopThePlaybackOfAGIFOrAVIFile, IEMsg_CopyImageToTheClipboard, IEMsg_CopyTheCurrentImageOrSelectionToTheClipboard, IEMsg_CopyTheCurrentImageToTheClipboardAndRemoveIt, IEMsg_CopyTheCurrentImageToTheClipboard, IEMsg_CutTheSelectionToTheClipboard, IEMsg_CopyTheCurrentSelectionToTheClipboard, IEMsg_CopyTheSelectedObjectToTheClipboard, IEMsg_DeselectAllObjects, IEMsg_DisplayAPreviewOfThisImageForPrinting, IEMsg_DisplayAPreviewOfYourPrinting, IEMsg_DisplayLargeImagesAtTheWindowSize, IEMsg_DisplayOnlyTheActiveFrame, IEMsg_DisplaySmallImagesAtTheWindowSize, IEMsg_DisplayTheAnimationOfAGIFOrAVIFile, IEMsg_DisplayTheFirstFrameOfThisImage, IEMsg_DisplayTheImageAtFullSize, IEMsg_DisplayTheImageAtTheHeightOfTheWindow, IEMsg_DisplayTheImageAtTheSizeOfTheWindow, IEMsg_DisplayTheImageAtTheWidthOfTheWindow, IEMsg_DisplayTheImageLarger, IEMsg_DisplayTheImageSmaller, IEMsg_DisplayTheLastFrameOfThisImage, IEMsg_DisplayTheNextFrameOfThisImage, IEMsg_DisplayThePriorFrameOfThisImage, IEMsg_DynamicallyMeasureADistance, IEMsg_EditPointsOfAPolyline, IEMsg_EqualizesTheColorHistogramForTheSelectedRegion, IEMsg_FlipTheImageFromLeftToRight, IEMsg_FlipTheImageFromTopToBottom, IEMsg_FlipTheSelectedImageFromLeftToRight, IEMsg_FlipTheSelectedImageFromTopToBottom, IEMsg_FreeHandPaintAnOpenPolygon, IEMsg_InvertTheColorsOfTheImage, IEMsg_LeftClickTheImageToZoomInRightClickToZoomOut, IEMsg_LoadAnImageFromFile, IEMsg_MatchTheSizeOfTheBackgroundImageToAllOfTheObjectsItContains, IEMsg_MeasureARectangularArea, IEMsg_MeasureTheDistanceBetweenTwoPoints, IEMsg_MergeAllObjectsWithTheBackgroundLayer, IEMsg_MergeTheSelectedObjectWithTheBackgroundLayer, IEMsg_MergeAllLayersOfTheImageIntoASingleOne, IEMsg_MoveTheMouseToScrollTheImage, IEMsg_MoveTheSelectedLayerBackward, IEMsg_MoveTheSelectedLayerForward, IEMsg_MoveTheSelectedObjectBackward, IEMsg_MoveTheSelectedObjectForward, IEMsg_MoveTheSelectedObjectToTheClipboard, IEMsg_PasteFromTheClipboard, IEMsg_PasteObjectFromTheClipboard, IEMsg_PasteTheContentOfTheClipboardAsANewLayer, IEMsg_PerformColorEnhancementFunctionsOnTheImage, IEMsg_PerformColorEnhancementFunctionsOnTheSelectedImage, IEMsg_PerformAnIrregularSelectionOfYourImageByClickingTheMouse, IEMsg_PerformAnIrregularSelectionOfYourImageByDraggingTheMouse, IEMsg_PerformEffectsOnTheImage, IEMsg_PerformEffectsOnTheSelectedImage, IEMsg_PlaybackTheseFramesInSequence, IEMsg_PositionTheSelectedLayerBehindAllOthers, IEMsg_PositionTheSelectedObjectBehindAllOtherObjects, IEMsg_PrintAllImagesOfTheGridAsASheetOfThumbnails, IEMsg_PrintTheSelectedImageAtItsOriginalSize, IEMsg_PrintTheSelectedImageToFitThePage, IEMsg_PrintTheSelectedImagesAsASheetOfThumbnails, IEMsg_PrintThisImageAtItsOriginalSize, IEMsg_PrintThisImageToFitThePage, IEMsg_PromptForAnImageFileToLoadAsANewLayer, IEMsg_RedoTheLastActionThatWasUndone, IEMsg_ReduceTheColorsOfTheImageToGrayscale, IEMsg_RemoveAllObjectsFromTheImage, IEMsg_CropTheImageToTheCurrentSelection, IEMsg_RemoveTheRedEyeEffectFromTheSelection, IEMsg_RemoveTheSelectedImage, IEMsg_RemoveTheSelectedLayersFromTheImage, IEMsg_RemoveTheSelectedObjectFromTheImage, IEMsg_RemoveTheTransparentBordersFromTheSelectedLayers, IEMsg_RestartPlaybackAfterItCompletes, IEMsg_RetrieveAnImageFromACameraOrScanner, IEMsg_RetrieveImagesFromACameraOrScanner, IEMsg_RotateTheImage180Clockwise, IEMsg_RotateTheImage90Clockwise, IEMsg_RotateTheImage90CounterClockwise, IEMsg_RotateTheSelectedImage180Clockwise, IEMsg_RotateTheSelectedImage90Clockwise, IEMsg_RotateTheSelectedImage90CounterClockwise, IEMsg_RotateTheSelectedObject180Clockwise, IEMsg_RotateTheSelectedObject90Clockwise, IEMsg_RotateTheSelectedObject90CounterClockwise, IEMsg_SaveChangesToThisImageToFile, IEMsg_SaveThisImageToANewFilename, IEMsg_SelectACircularAreaOfYourImage, IEMsg_SelectAPortionOfYourImageOfASimilarColor, IEMsg_SelectARectangularAreaOfYourImage, IEMsg_SelectAllImagesInTheGrid, IEMsg_SelectAllObjectsOfImage, IEMsg_SelectAnAreaOfTheImageToZoomInto, IEMsg_SelectOrResizeAnObject, IEMsg_SelectTheCameraOrScannerToAcquireImagesFrom, IEMsg_SelectTheFirstFrame, IEMsg_SelectTheLastFrame, IEMsg_SelectTheNextFrame, IEMsg_SelectThePreviousFrame, IEMsg_SingleClickingWillNotInsertANewObject, IEMsg_SpecifyAdvancedPropertiesForAllImages, IEMsg_SpecifyAdvancedPropertiesForTheSelectedImage, IEMsg_SpecifyAdvancedPropertiesForThisImage, IEMsg_UndoTheLastAction, IEMsg_UndoTheLastEdit, IEMsg_UseTheMouseToMoveImageLayers, IEMsg_UseTheMouseToResizeImageLayers, IEMsg_UseTheMouseToRotateImageLayers, IEMsg_ZoomImage , IEMsg_DisplayImageAtCustomZoom , IEMsg_CustomRotate , IEMsg_RotateImageByACustomAngle , IEMsg_ResizeImage , IEMsg_SpecifyANewSizeForTheImage, IEMSG_RESIZE, IEMSG_CURRENT, IEMSG_NEW, IEMSG_SCALE, IEMSG_MAINTAINASPECTRATIO, IEMSG_Folder, IEMSG_Dimensions, IEMSG_Type, IEMSG_Created, IEMSG_Modified , IEMsg_CopyFiles , IEMsg_CopyFilesToClipboard , IEMsg_CopyTheSelectedFilesToANewFolder , IEMsg_CopyTheSelectedFilesToTheClipboard , IEMsg_CutFilesToClipboard , IEMsg_CutTheSelectedFilesToTheClipboard , IEMsg_DeleteFiles , IEMsg_DeleteTheSelectedFilesFromTheFolder , IEMsg_GoUp , IEMsg_MoveFiles , IEMsg_MoveTheSelectedFilesToANewFolder , IEMsg_OpenFile , IEMsg_OpenTheParentOfTheCurrentFolder , IEMsg_OpenTheSelectedFileInTheDefaultViewer , IEMsg_PasteFilesFromClipboard , IEMsg_PasteFilesFromTheClipboardToThisFolder , IEMsg_Refresh , IEMsg_RefreshTheFileListing , IEMsg_WhereDoYouWantToMoveTheseFiles , IEMsg_WhereDoYouWantToCopyTheseFiles , IEMsg_XIsNotAValidFolder , IEMsg_RenameFile , IEMsg_SpecifyANewNameForTheSelectedFile , IEMsg_SpecifyANewNameForX , IEMsg_SelectAFolderToOpen , IEMsg_SelectFolder , IEMsg_CreateFolder , IEMsg_CreateANewFolderAtTheCurrentLocation , IEMsg_SpecifyTheNameOfYourNewFolder , IEMsg_SoftShadow , IEMsg_AddSoftShadow , IEMsg_Radius , IEMsg_Offset , IEMsg_All_Glow , IEMsg_FillPage , IEMsg_AutoEnhance , IEMsg_AutoEnhanceMethod , IEMsg_General , IEMsg_ToneMapping , IEMsg_Slope , IEMsg_Range , IEMsg_Gamma , IEMSG_Crop , IEMSG_CropImage , IEMsg_EditImage , IEMsg_PerformEditingFunctionsOnTheImage , IEMsg_PreviewEffects , IEMsg_PreviewEffectsToEditAndEnhanceTheImage , IEMsg_ThumbnailView , IEMsg_DisplayLargeThumbnails , IEMsg_DetailView , IEMsg_DisplayFileDetails , IEMsg_Filename , IEMsg_FileType , IEMsg_FileSize , IEMsg_CreateDate , IEMsg_EditDate , IEMsg_ImageSize , IEMsg_SortByX , IEMsg_Ascending , IEMsg_Descending , IEMsg_SortX , IEMsg_MultiplePages , IEMsg_PagesAcross , IEMsg_PagesDown , IEMsg_SelectAllLayers , IEMsg_SelectAllLayersOfTheImage , IEMsg_DeselectAllLayers , IEMsg_DeselectAllLayersOfTheImage , IEMsg_GroupLayers , IEMsg_AddSelectedLayersToASelectionGroup , IEMsg_UngroupLayers , IEMsg_RemoveSelectedLayersFromSelectionGroup , IEMsg_MergeLayers , IEMsg_MergeSelectedLayersIntoASingleLayer , IEMsg_ColumnView , IEMsg_DisplayFileColumns , IEMsg_LargeThumbnailView , IEMsg_DisplayThumbnails , IEMsg_FileListView , IEMsg_DisplayFileList , IEMsg_ShowColumnX , IEMsg_Path , IEMsg_ImageProperties , IEMsg_Caption , IEMsg_ADDINNERSHADOW , IEMsg_ADJUSTBRIGHTNESSCONTRASTSATURATION , IEMsg_ADJUSTGAINOFFSET , IEMsg_AdjustLuminanceSaturation , IEMsg_ADJUSTTEMPERATURE , IEMsg_ADJUSTTINT , IEMsg_Automatic , IEMsg_AUTOSHARPEN , IEMsg_BLUR , IEMsg_CASTALPHA , IEMsg_CASTCOLOR , IEMsg_CASTCOLORRANGE , IEMsg_CLEARSEL , IEMsg_COLORIZE , IEMsg_CONVERTTO , IEMsg_CONVERTTO24BIT , IEMsg_CONVERTTOPALETTE , IEMsg_CONVERTTOSEPIA , IEMsg_CONVOLVE , IEMsg_DECRYPT , IEMsg_DEINTERLACE , IEMsg_ReorderColorChannels , IEMsg_EDGEDETECT , IEMsg_ENCRYPT , IEMsg_FEATHEREDGES , IEMsg_FILL , IEMsg_FTCLEARZONE , IEMsg_HISTAUTOEQUALIZE , IEMsg_INTENSITY , IEMsg_AdjustHistogram , IEMsg_MAPGRAYTOCOLOR , IEMsg_MATCHHSVRANGE , IEMsg_MEDIANFILTER , IEMsg_MERGEWITHMASK , IEMsg_MERGE , IEMsg_Monochrome , IEMsg_MOTIONBLUR , IEMsg_PAINTMARK , IEMsg_PERSPECTIVEDRAW , IEMsg_ConvolutionFilter , IEMsg_PROJECTDRAW , IEMsg_RADIALSTRETCH , IEMsg_RANDOMIZE , IEMsg_REFLECTION , IEMsg_REMOVECHROMAKEY , IEMsg_REMOVEISOLATEDPIXELS , IEMsg_REMOVENOISE , IEMsg_RESIZECANVASXX , IEMsg_ROTATEANDCROP , IEMsg_ROUNDIMAGE , IEMSG_ConvertToXColors , IEMsg_SHIFTCHANNEL , IEMSG_TileImage , IEMsg_UNSHARPEN , IEMsg_WALLISFILTER , IEMsg_WHITEBALANCE , IEMsg_WRITEHIDDENDATA , IEMSG_AdjustHSV , IEMSG_AdjustHSL , IEMSG_AdjustRGB , IEMsg_ShowRulers , IEMsg_ShowMeasurementRulersBesideImage , IEMsg_CapPixels , IEMsg_ShowRulerInPixels , IEMsg_CapInches , IEMsg_ShowRulerInInches , IEMsg_Millimeters , IEMsg_ShowRulerInMillimeters , IEMsg_Centimeters , IEMsg_ShowRulerInCentimeters , IEMsg_SymmetricNearestNeighbour , IEMsg_Pixelize , IEMsg_PencilSketch , IEMsg_PasteAnImageFromTheClipboard , IEMsg_Linear , IEMsg_LinearClipped , IEMsg_Logarithmic , IEMsg_IncludeSubFolders , IEMsg_AlsoDisplayFilesFoundInSubfoldersOfThisFolder, IEMsg_EnableCropping, IEMsg_EnableCroppingModeToSelectAnAreaOfTheImageToMaintain, IEMsg_CancelCropping, IEMsg_ClearTheCurrentCropSelection, IEMsg_AddImageLayers , IEMsg_ClickAndDragToCreateAnImageLayer , IEMsg_AddShapeLayers , IEMsg_ClickAndDragToCreateAShapeLayer , IEMsg_AddLineLayers , IEMsg_ClickAndDragToCreateALineLayer , IEMsg_AddPolylineLayers , IEMsg_ClickAndDragToCreateAPolylineLayer , IEMsg_AddTextLayers , IEMsg_ClickAndDragToCreateATextLayer , IEMsg_AlignLeftEdges , IEMsg_AlignRightEdges , IEMsg_AlignTopEdges , IEMsg_AlignBottomEdges , IEMsg_AlignHorizontalCenters , IEMsg_AlignVerticalCenters , IEMsg_MatchWidth , IEMsg_MatchHeight , IEMsg_AlignSelectedLayersToTheEdgeOfTheLeftmostLayer , IEMsg_AlignSelectedLayersToTheEdgeOfTheRightmostLayer , IEMsg_AlignSelectedLayersToTheEdgeOfTheTopmostLayer , IEMsg_AlignSelectedLayersToTheEdgeOfTheBottommostLayer , IEMsg_AlignSelectedLayersToHaveTheSameHorizontalCenter , IEMsg_AlignSelectedLayersToHaveTheSameVerticalCenter , IEMsg_ResizeAllSelectedLayersToTheWidthOfTheWidestLayer , IEMsg_ResizeAllSelectedLayersToTheHeightOfTheTallestLayer , IEMsg_CropBackgroundToSelection , IEMsg_CropTheBackgroundImageToMatchSelectedLayers , IEMsg_FastPreview , IEMsg_ReducePreviewQualityToImprovePerformance , IEMsg_LockAspectRatio , IEMsg_LockPosition , IEMsg_RestoreAspectRatio , IEMsg_SizeToFit , IEMsg_Visible , IEMsg_ResetSize , IEMsg_SelectImage , IEMsg_ClosePolyline , IEMsg_PreventResizingFromAffectingTheAspectRatioOfTheSelectedLayer , IEMsg_PreventMovementOfTheSelectedLayer , IEMsg_RestoreTheOriginalAspectRatioOfTheSelectedLayer , IEMsg_ResizeTheLayerToMatchItsContent , IEMsg_AddASoftShadowToTheSelectedLayer , IEMsg_DisplayTheCurrentLayer , IEMsg_RestoreTheOriginalSizeOfTheSelectedLayer , IEMsg_BrowseForAnImageToLoadIntoTheLayer , IEMsg_JoinTheFirstAndLastPointsOfThePolylineToCreateAPolygon , IEMsg_AddImageLayer , IEMsg_AddShapeLayer , IEMsg_AddLineLayer , IEMsg_AddPolylineLayer , IEMsg_AddTextLayer , IEMsg_RotateTheLayerCounterClockwise , IEMsg_RotateTheLayerClockwise , IEMsg_ConvertToImageLayer , IEMsg_ConvertTheLayerToAnImage , IEMsg_ArrangeLayers , IEMsg_SetLayerProperties , IEMsg_CropLayerToBackground , IEMsg_HideAnyPartOfTheSelectedLayerLyingOutsideTheBackground , IEMsg_ShowLabel , IEMsg_AttachATextLabelToThisLine , IEMsg_EditLayerText , IEMsg_EditTheTextOfTheSelectedLayer , IEMsg_ResetRotation , IEMsg_ResetTheRotationOfTheSelectedLayer ); {!!} type TIELANGUAGECHARINFO = record CharSet: TFontCharset; FontName: string; // empty string means predefined CodePage: word; end; const IELANGUAGECHARINFO: array [TMsgLanguage] of TIELANGUAGECHARINFO = ( (CharSet: DEFAULT_CHARSET; FontName: ''; CodePage: 0) {$IFDEF IESUPPORTENGLISH} , (CharSet: DEFAULT_CHARSET; FontName: ''; CodePage: 1252) {$ENDIF} {$IFDEF IESUPPORTITALIAN} , (CharSet: DEFAULT_CHARSET; FontName: ''; CodePage: 1252) {$ENDIF} {$IFDEF IESUPPORTGERMAN} , (CharSet: DEFAULT_CHARSET; FontName: ''; CodePage: 1252) {$ENDIF} {$IFDEF IESUPPORTSPANISH} , (CharSet: DEFAULT_CHARSET; FontName: ''; CodePage: 1252) {$ENDIF} {$IFDEF IESUPPORTFRENCH} , (CharSet: DEFAULT_CHARSET; FontName: ''; CodePage: 1252) {$ENDIF} {$IFDEF IESUPPORTPORTUGUESE} , (CharSet: DEFAULT_CHARSET; FontName: ''; CodePage: 1252) {$ENDIF} {$IFDEF IESUPPORTGREEK} , (CharSet: GREEK_CHARSET; FontName: ''; CodePage: 1253) {$ENDIF} {$IFDEF IESUPPORTRUSSIAN} , (CharSet: RUSSIAN_CHARSET; FontName: ''; CodePage: 1251) {$ENDIF} {$IFDEF IESUPPORTDUTCH} , (CharSet: DEFAULT_CHARSET; FontName: ''; CodePage: 1252) {$ENDIF} {$IFDEF IESUPPORTSWEDISH} , (CharSet: DEFAULT_CHARSET; FontName: ''; CodePage: 1252) {$ENDIF} {$IFDEF IESUPPORTPOLISH} , (CharSet: DEFAULT_CHARSET; FontName: ''; CodePage: 1250) {$ENDIF} {$IFDEF IESUPPORTJAPANESE} , (CharSet: DEFAULT_CHARSET; FontName: ''; CodePage: 932) {$ENDIF} {$IFDEF IESUPPORTCZECH} , (CharSet: DEFAULT_CHARSET; FontName: ''; CodePage: 1250) {$ENDIF} {$IFDEF IESUPPORTFINNISH} , (CharSet: DEFAULT_CHARSET; FontName: ''; CodePage: 1252) {$ENDIF} {$IFDEF IESUPPORTFARSI} , (CharSet: ARABIC_CHARSET; FontName: 'Tahoma'; CodePage: 1256) {$ENDIF} {$IFDEF IESUPPORTCHINESE} , (CharSet: DEFAULT_CHARSET; FontName: ''; CodePage: 936) // Vhinese , (CharSet: DEFAULT_CHARSET; FontName: ''; CodePage: 950) // Chinese Trad. , (CharSet: DEFAULT_CHARSET; FontName: ''; CodePage: 950) // Chinese Trad. Big5 {$ENDIF} {$IFDEF IESUPPORTDANISH} , (CharSet: DEFAULT_CHARSET; FontName: ''; CodePage: 1252) {$ENDIF} {$IFDEF IESUPPORTTURKISH} , (CharSet: DEFAULT_CHARSET; FontName: ''; CodePage: 1254) {$ENDIF} {$IFDEF IESUPPORTKOREAN} , (CharSet: DEFAULT_CHARSET; FontName: ''; CodePage: 949) {$ENDIF} {$IFDEF IESUPPORTHUNGARIAN} , (CharSet: DEFAULT_CHARSET; FontName: ''; CodePage: 1250) {$ENDIF} {$IFDEF IESUPPORTARABIC} , (CharSet: DEFAULT_CHARSET; FontName: 'Tahoma'; CodePage: 1256) {$ENDIF} {$IFDEF IESUPPORTSERBIAN} , (CharSet: DEFAULT_CHARSET; FontName: ''; CodePage: 1250) {$ENDIF} {$IFDEF IESUPPORTNORWEGIAN} , (CharSet: DEFAULT_CHARSET; FontName: ''; CodePage: 1252) {$ENDIF} {$IFDEF IESUPPORTUSER} , (CharSet: DEFAULT_CHARSET; FontName: ''; CodePage: 1252) {$ENDIF} ); IESELBREAK = $FFFFF; // selection break code // TIFF tags IETIFFTAG_TRANSFERFUNC = 301; IETIFFTAG_COLORMAP = 320; IETIFFTAG_SUBIFD = 330; IETIFFTAG_XMP = 700; IETIFFTAG_WANGIMAGING = 32932; IETIFFTAG_COPYRIGHT = 33432; IETIFFTAG_IPTC = 33723; IETIFFTAG_PHOTOSHOP = 34377; IETIFFTAG_EXIFIFD = 34665; IETIFFTAG_ICC = 34675; IETIFFTAG_EXIFGPSIFD = 34853; IETIFFTAG_EPSTANDARD = 37398; IETIFFTAG_INTEROPIFD = 40965; IETIFFTAG_DNGVERSION = 50706; // EXIF tags IETIFFTAG_EXIFMAKERNOTE = $927C; // TIFF types IETIFFTYPE_BYTE = 1; IETIFFTYPE_ASCII = 2; IETIFFTYPE_SHORT = 3; IETIFFTYPE_LONG = 4; IETIFFTYPE_RATIONAL = 5; IETIFFTYPE_SBYTE = 6; IETIFFTYPE_UNDEFINED = 7; IETIFFTYPE_SSHORT = 8; IETIFFTYPE_SLONG = 9; IETIFFTYPE_SRATIONAL = 10; IETIFFTYPE_FLOAT = 11; IETIFFTYPE_DOUBLE = 12; IETIFFTYPE_IFDPOINTER = 13; // 4 bytes pointer to IFD (Same as LONG) IETIFFTYPE_UNICODE = 14; IETIFFTYPE_COMPLEX = 15; IETIFFTYPE_LONG8 = 16; // BIGTIFF uint64 IETIFFTYPE_SLONG8 = 17; // BIGTIFF int64 IETIFFTYPE_IFD8 = 18; // BIGTIFF 8 bytes pointer to IFD // YUV formats IEBI_IYU1 = $31555949; IEBI_IYU2 = $32555949; IEBI_UYVY = $59565955; IEBI_UYNV = $564E5955; IEBI_cyuv = $76757963; IEBI_YUY2 = $32595559; IEBI_YUNV = $564E5559; IEBI_YVYU = $55595659; IEBI_Y41P = $50313459; IEBI_Y211 = $31313259; IEBI_Y41T = $54313459; IEBI_Y42T = $54323459; IEBI_CLJR = $524A4C43; IEBI_YVU9 = $39555659; IEBI_IF09 = $39304649; IEBI_YV12 = $32315659; IEBI_I420 = $30323449; IEBI_IYUV = $56555949; IEBI_CLPL = $4C504C43; function LanguageToStr(ALanguage : TMsgLanguage) : string; var ieMessages: array[TMsgLanguage] of array[TMsgLanguageWords] of string; gAVIFILEinit: boolean; // true if AVIFILE library has been initialized type IIESequentialStream = interface(IUnknown) ['{0c733a30-2a1c-11ce-ade5-00aa0044773d}'] function Read(pv: pointer; cb: dword; pcbRead: PDWORD): HResult; stdcall; function Write(pv: pointer; cb: dword; pcbWritten: PDWORD): HResult; stdcall; end; IE_STATSTG = record end; IIEStream = interface(IIESequentialStream) ['{0000000C-0000-0000-C000-000000000046}'] function Seek(dlibMove: int64; dwOrigin: dword; var plibNewPosition: int64): HResult; stdcall; function SetSize(libNewSize: int64): HResult; stdcall; function CopyTo(pstm: IIEStream; cb: int64; var pcbRead: int64; var pcbWritten: int64): HResult; stdcall; function Commit(grfCommitFlags: dword): HResult; stdcall; function Revert(): HResult; stdcall; function LockRegion(libOffset: int64; cb: int64; dwLockType: dword): HResult; stdcall; function UnlockRegion(libOffset: int64; cb: int64; dwLockType: dword): HResult; stdcall; function Stat(var pstatstg: IE_STATSTG; grfStatFlag: dword): HResult; stdcall; function Clone(var ppstm: IIEStream): HResult; stdcall; end; {!! TIERectangle Declaration TIERectangle = packed record x, y: integer; width, height: integer; end; Description Describes a rectangle in terms of top-left, top-right coordinates and sizes. See Also - !!} TIERectangle = packed record x, y: integer; width, height: integer; end; {!! TIEBackgroundStyle Declaration TIEBackgroundStyle = (iebsSolid, iebsHorizontal, iebsVertical, iebsFDiagonal, iebsBDiagonal, iebsCross, iebsDiagCross, iebsChessboard, iebsDiagonals, iebsCropped, iebsCropShadow, iebsGradient, iebsSoftShadow, iebsPhotoLike, iebsBlurredImage); Description Value Description iebsCropped * A border is shown around the image (instead of around the edge of the ImageEnView). Best used with ImageEnView.BorderStyle=bsNone and =True iebsCropShadow * A solid shadow is drawn around the image (See also: iebsSoftShadow) iebsChessboard Background has chessboard pattern iebsDiagonals Background has diagonal pattern iebsSolid Background is a solid color (see ) iebsHorizontal Same as bsHorizontal of TBrushStyle iebsVertical Same as bsVertical of TBrushStyle iebsFDiagonal Same as bsFDiagonal of TBrushStyle iebsBDiagonal Same as bsBDiagonal of TBrushStyle iebsCross Same as bsCross of TBrushStyle iebsDiagCross Same as bsDiagCross of TBrushStyle iebsGradient Background is a gradient of two colors (specified with and ) iebsSoftShadow * A soft (gaussian) shadow is drawn around the image iebsPhotoLike * A dark gray backround is drawn around the image with a black border around iebsBlurredImage * The current image is shown blurred and zoomed to fill the window (can be slow)
* These styles are not supported by !!} TIEBackgroundStyle = (iebsSolid, iebsHorizontal, iebsVertical, iebsFDiagonal, iebsBDiagonal, iebsCross, iebsDiagCross, iebsChessboard, iebsDiagonals, iebsCropped, iebsCropShadow, iebsGradient, iebsSoftShadow, iebsPhotoLike, iebsBlurredImage); {!! TIEMemoShortCut Declaration } TIEMemoShortCut = (iesLEFTALIGN, iesCENTERALIGN, iesRIGHTALIGN, iesJUSTIFIED, iesCOPY, iesCUT, iesPASTE, iesFONTSELECT, iesBOLD, iesITALIC, iesUNDERLINE, iesBACKCOLORSELECT); {!!} {!! TIEMemoShortCuts Declaration TIEMemoShortCuts = array [] of TShortCut; !!} TIEMemoShortCuts = array [TIEMemoShortCut] of TShortCut; {!! TIEGradientDir Declaration } TIEGradientDir = (gdHorizontal, gdVertical); {!!} {!! TIEUnits Declaration type TIEUnits = (ieuPIXELS, ieuINCHES, ieuKM, ieuMETERS, ieuCENTIMETERS, ieuMILLIMETERS, ieuMICRONS, ieuNANOMETERS, ieuFEET, ieuYARDS, ieuMILES); Description Value Description ieuPIXELS Pixels ieuINCHES Inches ieuKM Kilometers ieuMETERS Meters ieuCENTIMETERS Centimeters ieuMILLIMETERS Millimeters ieuMICRONS Microns ieuNANOMETERS Nanometers ieuFEET Feet ieuYARDS Yards ieuMILES Miles
!!} TIEUnits = (ieuPIXELS, ieuINCHES, ieuKM, ieuMETERS, ieuCENTIMETERS, ieuMILLIMETERS, ieuMICRONS, ieuNANOMETERS, ieuFEET, ieuYARDS, ieuMILES); {!! TIEMeasureUnits Declaration } TIEMeasureUnits = array [TIEUnits] of string; {!!} TGIFLZWCompFunc = procedure(Stream: TStream; Height, Width: integer; Interlaced: boolean; FData: PAnsiChar; BitsPerPixel: integer); TGIFLZWDecompFunc = procedure(Stream: TStream; Height, Width: integer; Interlaced: boolean; FData: PAnsiChar); TTIFFLZWDecompFunc = function(CompBuf: pbyte; LineSize: integer; var Id: pointer; FillOrder: integer): pbyte; TTIFFLZWCompFunc = procedure(indata: pbyte; inputlen: integer; outstream: TStream; var id: pointer); {!! TIEFontQuality Declaration TIEFontQuality = (iefqAntialiased, iefqClearType, iefqClearTypeNatural, iefqDefault, iefqDraft, iefqNonAntialiased, iefqProof); Description Value Description iefqAntialiased Font is always antialiased if the font supports it and the size of the font is not too small or too large. iefqClearType If set, text is rendered (when possible) using ClearType antialiasing method (XP/Vista Only) iefqClearNatural Undocumented. iefqDefault Appearance of the font does not matter. iefqDraft Appearance of the font is less important than when iefqProof is used. iefqNonAntialiased Font is never antialiased. iefqProof Character quality of the font is more important than exact matching of the logical-font attributes.
!!} TIEFontQuality = (iefqAntialiased, iefqClearType, iefqClearTypeNatural, iefqDefault, iefqDraft, iefqNonAntialiased, iefqProof); {!! TIEAlignment Declaration } TIEAlignment = (iejLeft, iejRight, iejCenter, iejJustify); {!!} {!! TIELayout Declaration } TIELayout = (ielTop, ielBottom, ielCenter); {!!} {!! TIECurve Declaration TIECurve = (iecNone, iecEllipse, iecCosine, iecVertical, iecHorizontal, iecArc); Description Value Description iecNone No curve (useful to remove a curve also created with ) iecEllipse Creates an ellipting curve iecCosine Creates a cosine curve iecVertical Creates a vertical text iecHorizontal Creates an horizontal text iecArc Creates an arc
!!} TIECurve = (iecNone, iecEllipse, iecCosine, iecVertical, iecHorizontal, iecArc); {!! TDPoint Declaration } TDPoint = record X, Y: double; end; {!!} {!! TDPointArray Declaration type TDPointArray = array[0 . . Maxint div 32] of ; !!} TDPointArray = array[0..Maxint div 32] of TDPoint; {!! PDPointArray Declaration type PDPointArray = ^; !!} PDPointArray = ^TDPointArray; {!! TIEShape Declaration } TIEShape = ( iesEllipse, iesHalfEllipse, iesQuarterEllipse, iesEllipseSegment, iesRectangle, iesRoundRect, iesTriangle, iesCorner, iesDiamond, iesPentagon, iesHexagon, iesHeptagon, iesOctagon, iesCustomShape, iesStar5, iesStar6, iesCustomStar, iesArrowLeft, iesArrowRight, iesArrowUp, iesArrowDown, iesArrowLeftRight, iesArrowUpDown, iesArrowNW, iesArrowNE, iesArrowSW, iesArrowSE, iesFatArrowLeft, iesFatArrowRight, iesFatArrowUp, iesFatArrowDown, iesShootingArrowNW, iesShootingArrowNE, iesShootingArrowSW, iesShootingArrowSE, iesLightningLeft, iesLightningRight, iesExplosion, iesCustomExplosion, iesCross, iesHeart, iesDoubleHeart, iesCloud, iesMoon, iesSpeechBubbleLeftInShort, iesSpeechBubbleLeftOutShort, iesSpeechBubbleRightInShort, iesSpeechBubbleRightOutShort, iesSpeechBubbleLeftInLong, iesSpeechBubbleLeftOutLong, iesSpeechBubbleRightInLong, iesSpeechBubbleRightOutLong, iesThoughtBubbleLeft, iesThoughtBubbleRight, iesShield, iesBadge, iesNamePlate, iesFrame, iesNarrowFrame, iesFatFrame, iesCircularFrame ); {!!} {!! IIELanguageUpdatable Declaration IIELanguageUpdatable = interface procedure UpdateLanguage(); end; Description Each component (TComponent descendant) that implements UpdateLanguage method of this interface will be called whenever changes. !!} IIELanguageUpdatable = interface ['{6274D2D8-3E4C-43F2-8157-229558BFB2F0}'] procedure UpdateLanguage(); end; {!! TIEMediaFountationNotifyType Declaration } TIEMediaFountationNotifyType = (iemfnFRAME, iemfnSTARTINGCAPTURE, iemfnENDOFSTREAM); {!!} //////////////////////////////////////////////////////////////////////////////// // Windows CMS type TIECMSGRAY = word; type TIECMSRGBCOLOR = record red: WORD; green: WORD; blue: WORD; end; type TIECMSCMYKCOLOR = record cyan: WORD; magenta: WORD; yellow: WORD; black: WORD; end; type TIECMSXYZCOLOR = record X: WORD; Y: WORD; Z: WORD; end; type TIECMSYxyCOLOR = record Y: WORD; x: WORD; y_: WORD; end; type TIECMSLabCOLOR = record L: WORD; a: WORD; b: WORD; end; type TIECMSGENERIC3CHANNEL = record ch1: WORD; ch2: WORD; ch3: WORD; end; type TIECMSNAMEDCOLOR = record dwIndex: DWORD; end; const IECMSMAX_COLOR_CHANNELS = 8; // maximum number of HiFi color channels type TIECMSHiFiCOLOR = record channel: array [0..IECMSMAX_COLOR_CHANNELS - 1] of byte; end; type TIECMSAlignment = record reserved1: DWORD; reserved2: pointer; end; TIECMSCOLOR = record case Integer of 0: (gray: TIECMSGRAY); 1: (rgb: TIECMSRGBCOLOR); 2: (cmyk: TIECMSCMYKCOLOR); 3: (XYZ: TIECMSXYZCOLOR); 4: (Yxy: TIECMSYxyCOLOR); 5: (Lab: TIECMSLabCOLOR); 6: (gen3ch: TIECMSGENERIC3CHANNEL); 7: (named: TIECMSNAMEDCOLOR); 8: (hifi: TIECMSHiFiCOLOR); 9: (align: TIECMSAlignment); end; PIECMSCOLOR = ^TIECMSCOLOR; TIEPOINTL = packed record x: integer; y: integer; end; TIEDeviceModeW = packed record dmDeviceName: array[0..CCHDEVICENAME - 1] of WideChar; dmSpecVersion: Word; dmDriverVersion: Word; dmSize: Word; dmDriverExtra: Word; dmFields: DWORD; dmPosition: TIEPOINTL; dmDisplayOrientation: DWORD; dmDisplayFixedOutput: DWORD; dmColor: SHORT; dmDuplex: SHORT; dmYResolution: SHORT; dmTTOption: SHORT; dmCollate: SHORT; dmFormName: array[0..CCHFORMNAME - 1] of WideChar; dmLogPixels: Word; dmBitsPerPel: DWORD; dmPelsWidth: DWORD; dmPelsHeight: DWORD; dmDisplayFlags: DWORD; dmDisplayFrequency: DWORD; dmICMMethod: DWORD; dmICMIntent: DWORD; dmMediaType: DWORD; dmDitherType: DWORD; dmICCManufacturer: DWORD; dmICCModel: DWORD; dmPanningWidth: DWORD; dmPanningHeight: DWORD; end; //////////////////////////////////////////////////////////////////// // Gestures const // Messages IEWM_GESTURENOTIFY = $011A; IEWM_GESTURE = $0119; IEWM_TOUCH = $0240; IEWM_TABLET_DEFBASE = $02C0; IEWM_TABLET_FLICK = IEWM_TABLET_DEFBASE + 11; // Gesture IDs IEGID_BEGIN = 1; IEGID_END = 2; IEGID_ZOOM = 3; IEGID_PAN = 4; IEGID_ROTATE = 5; IEGID_TWOFINGERTAP = 6; IEGID_PRESSANDTAP = 7; IEGID_ROLLOVER = IEGID_PRESSANDTAP; // Gesture flags - GESTUREINFO.dwFlags IEGF_BEGIN = $00000001; IEGF_INERTIA = $00000002; IEGF_END = $00000004; // gesture configuration flags - set GESTURECONFIG.dwID to zero IEGC_ALLGESTURES = $00000001; IEGC_ZOOM = $00000001; IEGC_PAN = $00000001; IEGC_PAN_WITH_SINGLE_FINGER_VERTICALLY = $00000002; IEGC_PAN_WITH_SINGLE_FINGER_HORIZONTALLY = $00000004; IEGC_PAN_WITH_GUTTER = $00000008; IEGC_PAN_WITH_INERTIA = $00000010; IEGC_ROTATE = $00000001; IEGC_TWOFINGERTAP = $00000001; IEGC_PRESSANDTAP = $00000001; IEGC_ROLLOVER = IEGC_PRESSANDTAP; type TIEGestureNotifyStruct = packed record cbSize: UINT; dwFlags: DWORD; hwndTarget: HWND; ptsLocation: TSmallPoint; dwInstanceID: DWORD; end; PIEGestureNotifyStruct = ^TIEGestureNotifyStruct; TIEWMGestureNotify = packed record Msg: DWORD; Unused: WPARAM; NotifyStruct: PIEGestureNotifyStruct; Result: integer; end; TIEGESTUREINFO = record // 8 byte alignment cbSize: DWORD; dwFlags: DWORD; dwID: DWORD; hwndTarget: HWND; ptsLocation: TSmallPoint; dwInstanceID: DWORD; dwSequenceID: DWORD; ullArguments: uint64; cbExtraArgs: DWORD; end; PIEGESTUREINFO = ^TIEGESTUREINFO; HGESTUREINFO = THandle; TIEGESTURECONFIG = packed record dwID: DWORD; dwWant: DWORD; dwBlock: DWORD; end; PIEGESTURECONFIG = ^TIEGESTURECONFIG; // Gestures //////////////////////////////////////////////////////////////////// procedure IEInitialize_hyiedefs; procedure IEFinalize_hyiedefs; implementation uses imageenio, imageenview, imageenproc, hyieutils; {!! LanguageToStr Declaration function LanguageToStr(ALanguage : ) : string; Description Converts a to string, e.g. msEnglish would return 'English', msItalian returns 'Italian', etc. Example // Create all language menu items procedure TMainForm.CreateLanguageMenuItems; var aLang : TMsgLanguage; NewItem: TMenuItem; begin mnuLanguage.Clear; for aLang := Low(TMsgLanguage) to High(TMsgLanguage) do begin NewItem := TMenuItem.Create(Self); NewItem.Caption := LanguageToStr(aLang); NewItem.Checked := IEGlobalSettings.MsgLanguage = aLang; NewItem.Tag := ord(aLang); NewItem.OnClick := LanguageClick; mnuLanguage.Add(NewItem) end; end; // Handle clicking of a language item procedure TMainForm.LanguageClick(Sender: TObject); var aLang : TMsgLanguage; I: Integer; begin for I := 0 to mnuLanguage.Count - 1 do mnuLanguage.Items[I].Checked := False; aLang := TMsgLanguage(TMenuItem(Sender).Tag); IEGlobalSettings.MsgLanguage := aLang; TMenuItem(Sender).Checked := True; end; !!} function LanguageToStr(ALanguage : TMsgLanguage) : string; begin Result := ''; case ALanguage of msSystem : Result := 'System Default'; {$IFDEF IESUPPORTENGLISH} msEnglish : Result := 'English'; {$ENDIF} {$IFDEF IESUPPORTITALIAN} msItalian : Result := 'Italian'; {$ENDIF} {$IFDEF IESUPPORTGERMAN} msGerman : Result := 'German'; {$ENDIF} {$IFDEF IESUPPORTSPANISH} msSpanish : Result := 'Spanish'; {$ENDIF} {$IFDEF IESUPPORTFRENCH} msFrench : Result := 'French'; {$ENDIF} {$IFDEF IESUPPORTPORTUGUESE} msPortuguese : Result := 'Portuguese'; {$ENDIF} {$IFDEF IESUPPORTGREEK} msGreek : Result := 'Greek'; {$ENDIF} {$IFDEF IESUPPORTRUSSIAN} msRussian : Result := 'Russian'; {$ENDIF} {$IFDEF IESUPPORTDUTCH} msDutch : Result := 'Dutch'; {$ENDIF} {$IFDEF IESUPPORTSWEDISH} msSwedish : Result := 'Swedish'; {$ENDIF} {$IFDEF IESUPPORTPOLISH} msPolish : Result := 'Polish'; {$ENDIF} {$IFDEF IESUPPORTJAPANESE} msJapanese : Result := 'Japanese'; {$ENDIF} {$IFDEF IESUPPORTCZECH} msCzech : Result := 'Czech'; {$ENDIF} {$IFDEF IESUPPORTFINNISH} msFinnish : Result := 'Finnish'; {$ENDIF} {$IFDEF IESUPPORTFARSI} msFarsi : Result := 'Farsi'; {$ENDIF} {$IFDEF IESUPPORTCHINESE} msChinese : Result := 'Chinese (Simplified)'; msChineseTraditional : Result := 'Chinese (Traditional)'; msChineseTraditionalBig5 : Result := 'Chinese (Big5)'; {$ENDIF} {$IFDEF IESUPPORTDANISH} msDanish : Result := 'Danish'; {$ENDIF} {$IFDEF IESUPPORTTURKISH} msTurkish : Result := 'Turkish'; {$ENDIF} {$IFDEF IESUPPORTKOREAN} msKorean : Result := 'Korean'; {$ENDIF} {$IFDEF IESUPPORTHUNGARIAN} msHungarian : Result := 'Hungarian'; {$ENDIF} {$IFDEF IESUPPORTARABIC} msArabic : Result := 'Arabic'; {$ENDIF} {$IFDEF IESUPPORTSERBIAN} msSerbian : Result := 'Serbian'; {$ENDIF} {$IFDEF IESUPPORTNORWEGIAN} msNorwegian : Result := 'Norwegian'; {$ENDIF} {$IFDEF IESUPPORTUSER} msUser : Result := 'Custom'; {$ENDIF} end; end; { TIEVSoftShadow } {!! TIEVSoftShadow.Assign Declaration procedure Assign(Source: TIEVSoftShadow); Description Copies the state of another TIEVSoftShadow object. !!} procedure TIEVSoftShadow.Assign(Source: TIEVSoftShadow); begin Enabled := Source.Enabled; Radius := Source.Radius; OffsetX := Source.OffsetX; OffsetY := Source.OffsetY; Intensity := Source.Intensity; ShadowColor := Source.ShadowColor; end; constructor TIEVSoftShadow.Create; begin inherited; Enabled := false; Radius := 3; OffsetX := 3; OffsetY := 3; Intensity := 100; ShadowColor := CreateRGB(0, 0, 0); end; procedure IEInitialize_hyiedefs; begin end; procedure IEFinalize_hyiedefs; begin end; end.