{******************************************************************************} { } { Graphics Device Interface API interface Unit for Object Pascal } { } { Portions created by Microsoft are Copyright (C) 1995-2001 Microsoft } { Corporation. All Rights Reserved. } { } { The original file is: wingdi.h, released June 2000. The original Pascal } { code is: WinGDI.pas, released December 2000. The initial developer of the } { Pascal code is Marcel van Brakel (brakelm att chello dott nl). } { } { Portions created by Marcel van Brakel are Copyright (C) 1999-2001 } { Marcel van Brakel. All Rights Reserved. } { } { Obtained through: Joint Endeavour of Delphi Innovators (Project JEDI) } { } { You may retrieve the latest version of this file at the Project JEDI } { APILIB home page, located at http://jedi-apilib.sourceforge.net } { } { The contents of this file are used with permission, subject to the Mozilla } { Public License Version 1.1 (the "License"); you may not use this file except } { in compliance with the License. You may obtain a copy of the License at } { http://www.mozilla.org/MPL/MPL-1.1.html } { } { Software distributed under the License is distributed on an "AS IS" basis, } { WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License for } { the specific language governing rights and limitations under the License. } { } { Alternatively, the contents of this file may be used under the terms of the } { GNU Lesser General Public License (the "LGPL License"), in which case the } { provisions of the LGPL License are applicable instead of those above. } { If you wish to allow use of your version of this file only under the terms } { of the LGPL License and not to allow others to use your version of this file } { under the MPL, indicate your decision by deleting the provisions above and } { replace them with the notice and other provisions required by the LGPL } { License. If you do not delete the provisions above, a recipient may use } { your version of this file under either the MPL or the LGPL License. } { } { For more information about the LGPL: http://www.gnu.org/copyleft/lesser.html } { } {******************************************************************************} // $Id: JwaWinGDI.pas,v 1.15 2007/09/14 06:48:48 marquardt Exp $ {$IFNDEF JWA_OMIT_SECTIONS} unit JwaWinGDI; {$WEAKPACKAGEUNIT} {$ENDIF JWA_OMIT_SECTIONS} {$HPPEMIT ''} {$HPPEMIT '#include "WinGDI.h"'} {$HPPEMIT ''} {$IFNDEF JWA_OMIT_SECTIONS} {$I jediapilib.inc} interface uses JwaWinNT, JwaWinType; {$ENDIF JWA_OMIT_SECTIONS} {$IFNDEF JWA_IMPLEMENTATIONSECTION} // Binary raster ops const R2_BLACK = 1; // 0 {$EXTERNALSYM R2_BLACK} R2_NOTMERGEPEN = 2; // DPon {$EXTERNALSYM R2_NOTMERGEPEN} R2_MASKNOTPEN = 3; // DPna {$EXTERNALSYM R2_MASKNOTPEN} R2_NOTCOPYPEN = 4; // PN {$EXTERNALSYM R2_NOTCOPYPEN} R2_MASKPENNOT = 5; // PDna {$EXTERNALSYM R2_MASKPENNOT} R2_NOT = 6; // Dn {$EXTERNALSYM R2_NOT} R2_XORPEN = 7; // DPx {$EXTERNALSYM R2_XORPEN} R2_NOTMASKPEN = 8; // DPan {$EXTERNALSYM R2_NOTMASKPEN} R2_MASKPEN = 9; // DPa {$EXTERNALSYM R2_MASKPEN} R2_NOTXORPEN = 10; // DPxn {$EXTERNALSYM R2_NOTXORPEN} R2_NOP = 11; // D {$EXTERNALSYM R2_NOP} R2_MERGENOTPEN = 12; // DPno {$EXTERNALSYM R2_MERGENOTPEN} R2_COPYPEN = 13; // P {$EXTERNALSYM R2_COPYPEN} R2_MERGEPENNOT = 14; // PDno {$EXTERNALSYM R2_MERGEPENNOT} R2_MERGEPEN = 15; // DPo {$EXTERNALSYM R2_MERGEPEN} R2_WHITE = 16; // 1 {$EXTERNALSYM R2_WHITE} R2_LAST = 16; {$EXTERNALSYM R2_LAST} // Ternary raster operations SRCCOPY = DWORD($00CC0020); // dest = source {$EXTERNALSYM SRCCOPY} SRCPAINT = DWORD($00EE0086); // dest = source OR dest {$EXTERNALSYM SRCPAINT} SRCAND = DWORD($008800C6); // dest = source AND dest {$EXTERNALSYM SRCAND} SRCINVERT = DWORD($00660046); // dest = source XOR dest {$EXTERNALSYM SRCINVERT} SRCERASE = DWORD($00440328); // dest = source AND (NOT dest ) {$EXTERNALSYM SRCERASE} NOTSRCCOPY = DWORD($00330008); // dest = (NOT source) {$EXTERNALSYM NOTSRCCOPY} NOTSRCERASE = DWORD($001100A6); // dest = (NOT src) AND (NOT dest) {$EXTERNALSYM NOTSRCERASE} MERGECOPY = DWORD($00C000CA); // dest = (source AND pattern) {$EXTERNALSYM MERGECOPY} MERGEPAINT = DWORD($00BB0226); // dest = (NOT source) OR dest {$EXTERNALSYM MERGEPAINT} PATCOPY = DWORD($00F00021); // dest = pattern {$EXTERNALSYM PATCOPY} PATPAINT = DWORD($00FB0A09); // dest = DPSnoo {$EXTERNALSYM PATPAINT} PATINVERT = DWORD($005A0049); // dest = pattern XOR dest {$EXTERNALSYM PATINVERT} DSTINVERT = DWORD($00550009); // dest = (NOT dest) {$EXTERNALSYM DSTINVERT} BLACKNESS = DWORD($00000042); // dest = BLACK {$EXTERNALSYM BLACKNESS} WHITENESS = DWORD($00FF0062); // dest = WHITE {$EXTERNALSYM WHITENESS} NOMIRRORBITMAP = DWORD($80000000); // Do not Mirror the bitmap in this call {$EXTERNALSYM NOMIRRORBITMAP} CAPTUREBLT = DWORD($40000000); // Include layered windows {$EXTERNALSYM CAPTUREBLT} // Quaternary raster codes function MAKEROP4(Fore, Back: DWORD): DWORD; {$EXTERNALSYM MAKEROP4} const GDI_ERROR = DWORD($FFFFFFFF); {$EXTERNALSYM GDI_ERROR} HGDI_ERROR = HANDLE($FFFFFFFF); {$EXTERNALSYM HGDI_ERROR} // Region Flags ERROR = 0; {$EXTERNALSYM ERROR} NULLREGION = 1; {$EXTERNALSYM NULLREGION} SIMPLEREGION = 2; {$EXTERNALSYM SIMPLEREGION} COMPLEXREGION = 3; {$EXTERNALSYM COMPLEXREGION} RGN_ERROR = ERROR; {$EXTERNALSYM RGN_ERROR} // CombineRgn() Styles RGN_AND = 1; {$EXTERNALSYM RGN_AND} RGN_OR = 2; {$EXTERNALSYM RGN_OR} RGN_XOR = 3; {$EXTERNALSYM RGN_XOR} RGN_DIFF = 4; {$EXTERNALSYM RGN_DIFF} RGN_COPY = 5; {$EXTERNALSYM RGN_COPY} RGN_MIN = RGN_AND; {$EXTERNALSYM RGN_MIN} RGN_MAX = RGN_COPY; {$EXTERNALSYM RGN_MAX} // StretchBlt() Modes BLACKONWHITE = 1; {$EXTERNALSYM BLACKONWHITE} WHITEONBLACK = 2; {$EXTERNALSYM WHITEONBLACK} COLORONCOLOR = 3; {$EXTERNALSYM COLORONCOLOR} HALFTONE = 4; {$EXTERNALSYM HALFTONE} MAXSTRETCHBLTMODE = 4; {$EXTERNALSYM MAXSTRETCHBLTMODE} // New StretchBlt() Modes STRETCH_ANDSCANS = BLACKONWHITE; {$EXTERNALSYM STRETCH_ANDSCANS} STRETCH_ORSCANS = WHITEONBLACK; {$EXTERNALSYM STRETCH_ORSCANS} STRETCH_DELETESCANS = COLORONCOLOR; {$EXTERNALSYM STRETCH_DELETESCANS} STRETCH_HALFTONE = HALFTONE; {$EXTERNALSYM STRETCH_HALFTONE} // PolyFill() Modes ALTERNATE = 1; {$EXTERNALSYM ALTERNATE} WINDING = 2; {$EXTERNALSYM WINDING} POLYFILL_LAST = 2; {$EXTERNALSYM POLYFILL_LAST} // Layout Orientation Options LAYOUT_RTL = $00000001; // Right to left {$EXTERNALSYM LAYOUT_RTL} LAYOUT_BTT = $00000002; // Bottom to top {$EXTERNALSYM LAYOUT_BTT} LAYOUT_VBH = $00000004; // Vertical before horizontal {$EXTERNALSYM LAYOUT_VBH} LAYOUT_ORIENTATIONMASK = LAYOUT_RTL or LAYOUT_BTT or LAYOUT_VBH; {$EXTERNALSYM LAYOUT_ORIENTATIONMASK} LAYOUT_BITMAPORIENTATIONPRESERVED = $00000008; {$EXTERNALSYM LAYOUT_BITMAPORIENTATIONPRESERVED} // Text Alignment Options TA_NOUPDATECP = 0; {$EXTERNALSYM TA_NOUPDATECP} TA_UPDATECP = 1; {$EXTERNALSYM TA_UPDATECP} TA_LEFT = 0; {$EXTERNALSYM TA_LEFT} TA_RIGHT = 2; {$EXTERNALSYM TA_RIGHT} TA_CENTER = 6; {$EXTERNALSYM TA_CENTER} TA_TOP = 0; {$EXTERNALSYM TA_TOP} TA_BOTTOM = 8; {$EXTERNALSYM TA_BOTTOM} TA_BASELINE = 24; {$EXTERNALSYM TA_BASELINE} TA_RTLREADING = 256; {$EXTERNALSYM TA_RTLREADING} TA_MASK = TA_BASELINE + TA_CENTER + TA_UPDATECP + TA_RTLREADING; {$EXTERNALSYM TA_MASK} VTA_BASELINE = TA_BASELINE; {$EXTERNALSYM VTA_BASELINE} VTA_LEFT = TA_BOTTOM; {$EXTERNALSYM VTA_LEFT} VTA_RIGHT = TA_TOP; {$EXTERNALSYM VTA_RIGHT} VTA_CENTER = TA_CENTER; {$EXTERNALSYM VTA_CENTER} VTA_BOTTOM = TA_RIGHT; {$EXTERNALSYM VTA_BOTTOM} VTA_TOP = TA_LEFT; {$EXTERNALSYM VTA_TOP} ETO_OPAQUE = $0002; {$EXTERNALSYM ETO_OPAQUE} ETO_CLIPPED = $0004; {$EXTERNALSYM ETO_CLIPPED} ETO_GLYPH_INDEX = $0010; {$EXTERNALSYM ETO_GLYPH_INDEX} ETO_RTLREADING = $0080; {$EXTERNALSYM ETO_RTLREADING} ETO_NUMERICSLOCAL = $0400; {$EXTERNALSYM ETO_NUMERICSLOCAL} ETO_NUMERICSLATIN = $0800; {$EXTERNALSYM ETO_NUMERICSLATIN} ETO_IGNORELANGUAGE = $1000; {$EXTERNALSYM ETO_IGNORELANGUAGE} ETO_PDY = $2000; {$EXTERNALSYM ETO_PDY} ASPECT_FILTERING = $0001; {$EXTERNALSYM ASPECT_FILTERING} // Bounds Accumulation APIs DCB_RESET = $0001; {$EXTERNALSYM DCB_RESET} DCB_ACCUMULATE = $0002; {$EXTERNALSYM DCB_ACCUMULATE} DCB_DIRTY = DCB_ACCUMULATE; {$EXTERNALSYM DCB_DIRTY} DCB_SET = DCB_RESET or DCB_ACCUMULATE; {$EXTERNALSYM DCB_SET} DCB_ENABLE = $0004; {$EXTERNALSYM DCB_ENABLE} DCB_DISABLE = $0008; {$EXTERNALSYM DCB_DISABLE} // Metafile Functions META_SETBKCOLOR = $0201; {$EXTERNALSYM META_SETBKCOLOR} META_SETBKMODE = $0102; {$EXTERNALSYM META_SETBKMODE} META_SETMAPMODE = $0103; {$EXTERNALSYM META_SETMAPMODE} META_SETROP2 = $0104; {$EXTERNALSYM META_SETROP2} META_SETRELABS = $0105; {$EXTERNALSYM META_SETRELABS} META_SETPOLYFILLMODE = $0106; {$EXTERNALSYM META_SETPOLYFILLMODE} META_SETSTRETCHBLTMODE = $0107; {$EXTERNALSYM META_SETSTRETCHBLTMODE} META_SETTEXTCHAREXTRA = $0108; {$EXTERNALSYM META_SETTEXTCHAREXTRA} META_SETTEXTCOLOR = $0209; {$EXTERNALSYM META_SETTEXTCOLOR} META_SETTEXTJUSTIFICATION = $020A; {$EXTERNALSYM META_SETTEXTJUSTIFICATION} META_SETWINDOWORG = $020B; {$EXTERNALSYM META_SETWINDOWORG} META_SETWINDOWEXT = $020C; {$EXTERNALSYM META_SETWINDOWEXT} META_SETVIEWPORTORG = $020D; {$EXTERNALSYM META_SETVIEWPORTORG} META_SETVIEWPORTEXT = $020E; {$EXTERNALSYM META_SETVIEWPORTEXT} META_OFFSETWINDOWORG = $020F; {$EXTERNALSYM META_OFFSETWINDOWORG} META_SCALEWINDOWEXT = $0410; {$EXTERNALSYM META_SCALEWINDOWEXT} META_OFFSETVIEWPORTORG = $0211; {$EXTERNALSYM META_OFFSETVIEWPORTORG} META_SCALEVIEWPORTEXT = $0412; {$EXTERNALSYM META_SCALEVIEWPORTEXT} META_LINETO = $0213; {$EXTERNALSYM META_LINETO} META_MOVETO = $0214; {$EXTERNALSYM META_MOVETO} META_EXCLUDECLIPRECT = $0415; {$EXTERNALSYM META_EXCLUDECLIPRECT} META_INTERSECTCLIPRECT = $0416; {$EXTERNALSYM META_INTERSECTCLIPRECT} META_ARC = $0817; {$EXTERNALSYM META_ARC} META_ELLIPSE = $0418; {$EXTERNALSYM META_ELLIPSE} META_FLOODFILL = $0419; {$EXTERNALSYM META_FLOODFILL} META_PIE = $081A; {$EXTERNALSYM META_PIE} META_RECTANGLE = $041B; {$EXTERNALSYM META_RECTANGLE} META_ROUNDRECT = $061C; {$EXTERNALSYM META_ROUNDRECT} META_PATBLT = $061D; {$EXTERNALSYM META_PATBLT} META_SAVEDC = $001E; {$EXTERNALSYM META_SAVEDC} META_SETPIXEL = $041F; {$EXTERNALSYM META_SETPIXEL} META_OFFSETCLIPRGN = $0220; {$EXTERNALSYM META_OFFSETCLIPRGN} META_TEXTOUT = $0521; {$EXTERNALSYM META_TEXTOUT} META_BITBLT = $0922; {$EXTERNALSYM META_BITBLT} META_STRETCHBLT = $0B23; {$EXTERNALSYM META_STRETCHBLT} META_POLYGON = $0324; {$EXTERNALSYM META_POLYGON} META_POLYLINE = $0325; {$EXTERNALSYM META_POLYLINE} META_ESCAPE = $0626; {$EXTERNALSYM META_ESCAPE} META_RESTOREDC = $0127; {$EXTERNALSYM META_RESTOREDC} META_FILLREGION = $0228; {$EXTERNALSYM META_FILLREGION} META_FRAMEREGION = $0429; {$EXTERNALSYM META_FRAMEREGION} META_INVERTREGION = $012A; {$EXTERNALSYM META_INVERTREGION} META_PAINTREGION = $012B; {$EXTERNALSYM META_PAINTREGION} META_SELECTCLIPREGION = $012C; {$EXTERNALSYM META_SELECTCLIPREGION} META_SELECTOBJECT = $012D; {$EXTERNALSYM META_SELECTOBJECT} META_SETTEXTALIGN = $012E; {$EXTERNALSYM META_SETTEXTALIGN} META_CHORD = $0830; {$EXTERNALSYM META_CHORD} META_SETMAPPERFLAGS = $0231; {$EXTERNALSYM META_SETMAPPERFLAGS} META_EXTTEXTOUT = $0a32; {$EXTERNALSYM META_EXTTEXTOUT} META_SETDIBTODEV = $0d33; {$EXTERNALSYM META_SETDIBTODEV} META_SELECTPALETTE = $0234; {$EXTERNALSYM META_SELECTPALETTE} META_REALIZEPALETTE = $0035; {$EXTERNALSYM META_REALIZEPALETTE} META_ANIMATEPALETTE = $0436; {$EXTERNALSYM META_ANIMATEPALETTE} META_SETPALENTRIES = $0037; {$EXTERNALSYM META_SETPALENTRIES} META_POLYPOLYGON = $0538; {$EXTERNALSYM META_POLYPOLYGON} META_RESIZEPALETTE = $0139; {$EXTERNALSYM META_RESIZEPALETTE} META_DIBBITBLT = $0940; {$EXTERNALSYM META_DIBBITBLT} META_DIBSTRETCHBLT = $0b41; {$EXTERNALSYM META_DIBSTRETCHBLT} META_DIBCREATEPATTERNBRUSH = $0142; {$EXTERNALSYM META_DIBCREATEPATTERNBRUSH} META_STRETCHDIB = $0f43; {$EXTERNALSYM META_STRETCHDIB} META_EXTFLOODFILL = $0548; {$EXTERNALSYM META_EXTFLOODFILL} META_SETLAYOUT = $0149; {$EXTERNALSYM META_SETLAYOUT} META_DELETEOBJECT = $01f0; {$EXTERNALSYM META_DELETEOBJECT} META_CREATEPALETTE = $00f7; {$EXTERNALSYM META_CREATEPALETTE} META_CREATEPATTERNBRUSH = $01F9; {$EXTERNALSYM META_CREATEPATTERNBRUSH} META_CREATEPENINDIRECT = $02FA; {$EXTERNALSYM META_CREATEPENINDIRECT} META_CREATEFONTINDIRECT = $02FB; {$EXTERNALSYM META_CREATEFONTINDIRECT} META_CREATEBRUSHINDIRECT = $02FC; {$EXTERNALSYM META_CREATEBRUSHINDIRECT} META_CREATEREGION = $06FF; {$EXTERNALSYM META_CREATEREGION} type PDrawPatRect = ^TDrawPatRect; _DRAWPATRECT = record ptPosition: POINT; ptSize: POINT; wStyle: WORD; wPattern: WORD; end; {$EXTERNALSYM _DRAWPATRECT} DRAWPATRECT = _DRAWPATRECT; {$EXTERNALSYM DRAWPATRECT} TDrawPatRect = _DRAWPATRECT; // GDI Escapes const NEWFRAME = 1; {$EXTERNALSYM NEWFRAME} _ABORTDOC = 2; // Underscore prfix by translator (nameclash) {$EXTERNALSYM ABORTDOC} NEXTBAND = 3; {$EXTERNALSYM NEXTBAND} SETCOLORTABLE = 4; {$EXTERNALSYM SETCOLORTABLE} GETCOLORTABLE = 5; {$EXTERNALSYM GETCOLORTABLE} FLUSHOUTPUT = 6; {$EXTERNALSYM FLUSHOUTPUT} DRAFTMODE = 7; {$EXTERNALSYM DRAFTMODE} QUERYESCSUPPORT = 8; {$EXTERNALSYM QUERYESCSUPPORT} SETABORTPROC_ = 9; // Underscore prfix by translator (nameclash) {$EXTERNALSYM SETABORTPROC} STARTDOC_ = 10; // Underscore prfix by translator (nameclash) {$EXTERNALSYM STARTDOC} ENDDOC_ = 11; // Underscore prfix by translator (nameclash) {$EXTERNALSYM ENDDOC} GETPHYSPAGESIZE = 12; {$EXTERNALSYM GETPHYSPAGESIZE} GETPRINTINGOFFSET = 13; {$EXTERNALSYM GETPRINTINGOFFSET} GETSCALINGFACTOR = 14; {$EXTERNALSYM GETSCALINGFACTOR} MFCOMMENT = 15; {$EXTERNALSYM MFCOMMENT} GETPENWIDTH = 16; {$EXTERNALSYM GETPENWIDTH} SETCOPYCOUNT = 17; {$EXTERNALSYM SETCOPYCOUNT} SELECTPAPERSOURCE = 18; {$EXTERNALSYM SELECTPAPERSOURCE} DEVICEDATA = 19; {$EXTERNALSYM DEVICEDATA} PASSTHROUGH = 19; {$EXTERNALSYM PASSTHROUGH} GETTECHNOLGY = 20; {$EXTERNALSYM GETTECHNOLGY} GETTECHNOLOGY = 20; {$EXTERNALSYM GETTECHNOLOGY} SETLINECAP = 21; {$EXTERNALSYM SETLINECAP} SETLINEJOIN = 22; {$EXTERNALSYM SETLINEJOIN} SETMITERLIMIT_ = 23; // underscore prefix by translator (nameclash) {$EXTERNALSYM SETMITERLIMIT} BANDINFO = 24; {$EXTERNALSYM BANDINFO} DRAWPATTERNRECT = 25; {$EXTERNALSYM DRAWPATTERNRECT} GETVECTORPENSIZE = 26; {$EXTERNALSYM GETVECTORPENSIZE} GETVECTORBRUSHSIZE = 27; {$EXTERNALSYM GETVECTORBRUSHSIZE} ENABLEDUPLEX = 28; {$EXTERNALSYM ENABLEDUPLEX} GETSETPAPERBINS = 29; {$EXTERNALSYM GETSETPAPERBINS} GETSETPRINTORIENT = 30; {$EXTERNALSYM GETSETPRINTORIENT} ENUMPAPERBINS = 31; {$EXTERNALSYM ENUMPAPERBINS} SETDIBSCALING = 32; {$EXTERNALSYM SETDIBSCALING} EPSPRINTING = 33; {$EXTERNALSYM EPSPRINTING} ENUMPAPERMETRICS = 34; {$EXTERNALSYM ENUMPAPERMETRICS} GETSETPAPERMETRICS = 35; {$EXTERNALSYM GETSETPAPERMETRICS} POSTSCRIPT_DATA = 37; {$EXTERNALSYM POSTSCRIPT_DATA} POSTSCRIPT_IGNORE = 38; {$EXTERNALSYM POSTSCRIPT_IGNORE} MOUSETRAILS = 39; {$EXTERNALSYM MOUSETRAILS} GETDEVICEUNITS = 42; {$EXTERNALSYM GETDEVICEUNITS} GETEXTENDEDTEXTMETRICS = 256; {$EXTERNALSYM GETEXTENDEDTEXTMETRICS} GETEXTENTTABLE = 257; {$EXTERNALSYM GETEXTENTTABLE} GETPAIRKERNTABLE = 258; {$EXTERNALSYM GETPAIRKERNTABLE} GETTRACKKERNTABLE = 259; {$EXTERNALSYM GETTRACKKERNTABLE} EXTTEXTOUT_ = 512; // underscore prefix by translator (nameclash) {$EXTERNALSYM EXTTEXTOUT} GETFACENAME = 513; {$EXTERNALSYM GETFACENAME} DOWNLOADFACE = 514; {$EXTERNALSYM DOWNLOADFACE} ENABLERELATIVEWIDTHS = 768; {$EXTERNALSYM ENABLERELATIVEWIDTHS} ENABLEPAIRKERNING = 769; {$EXTERNALSYM ENABLEPAIRKERNING} SETKERNTRACK = 770; {$EXTERNALSYM SETKERNTRACK} SETALLJUSTVALUES = 771; {$EXTERNALSYM SETALLJUSTVALUES} SETCHARSET = 772; {$EXTERNALSYM SETCHARSET} STRETCHBLT_ESCAPE = 2048; // suffix _ESCAPE by translator because of // name-clash with StretchBlt function {$EXTERNALSYM STRETCHBLT} METAFILE_DRIVER = 2049; {$EXTERNALSYM METAFILE_DRIVER} GETSETSCREENPARAMS = 3072; {$EXTERNALSYM GETSETSCREENPARAMS} QUERYDIBSUPPORT = 3073; {$EXTERNALSYM QUERYDIBSUPPORT} BEGIN_PATH = 4096; {$EXTERNALSYM BEGIN_PATH} CLIP_TO_PATH = 4097; {$EXTERNALSYM CLIP_TO_PATH} END_PATH = 4098; {$EXTERNALSYM END_PATH} EXT_DEVICE_CAPS = 4099; {$EXTERNALSYM EXT_DEVICE_CAPS} RESTORE_CTM = 4100; {$EXTERNALSYM RESTORE_CTM} SAVE_CTM = 4101; {$EXTERNALSYM SAVE_CTM} SET_ARC_DIRECTION = 4102; {$EXTERNALSYM SET_ARC_DIRECTION} SET_BACKGROUND_COLOR = 4103; {$EXTERNALSYM SET_BACKGROUND_COLOR} SET_POLY_MODE = 4104; {$EXTERNALSYM SET_POLY_MODE} SET_SCREEN_ANGLE = 4105; {$EXTERNALSYM SET_SCREEN_ANGLE} SET_SPREAD = 4106; {$EXTERNALSYM SET_SPREAD} TRANSFORM_CTM = 4107; {$EXTERNALSYM TRANSFORM_CTM} SET_CLIP_BOX = 4108; {$EXTERNALSYM SET_CLIP_BOX} SET_BOUNDS = 4109; {$EXTERNALSYM SET_BOUNDS} SET_MIRROR_MODE = 4110; {$EXTERNALSYM SET_MIRROR_MODE} OPENCHANNEL = 4110; {$EXTERNALSYM OPENCHANNEL} DOWNLOADHEADER = 4111; {$EXTERNALSYM DOWNLOADHEADER} CLOSECHANNEL = 4112; {$EXTERNALSYM CLOSECHANNEL} POSTSCRIPT_PASSTHROUGH = 4115; {$EXTERNALSYM POSTSCRIPT_PASSTHROUGH} ENCAPSULATED_POSTSCRIPT = 4116; {$EXTERNALSYM ENCAPSULATED_POSTSCRIPT} POSTSCRIPT_IDENTIFY = 4117; // new escape for NT5 pscript driver {$EXTERNALSYM POSTSCRIPT_IDENTIFY} POSTSCRIPT_INJECTION = 4118; // new escape for NT5 pscript driver {$EXTERNALSYM POSTSCRIPT_INJECTION} CHECKJPEGFORMAT = 4119; {$EXTERNALSYM CHECKJPEGFORMAT} CHECKPNGFORMAT = 4120; {$EXTERNALSYM CHECKPNGFORMAT} GET_PS_FEATURESETTING = 4121; // new escape for NT5 pscript driver {$EXTERNALSYM GET_PS_FEATURESETTING} SPCLPASSTHROUGH2 = 4568; // new escape for NT5 pscript driver {$EXTERNALSYM SPCLPASSTHROUGH2} // // Parameters for POSTSCRIPT_IDENTIFY escape // PSIDENT_GDICENTRIC = 0; {$EXTERNALSYM PSIDENT_GDICENTRIC} PSIDENT_PSCENTRIC = 1; {$EXTERNALSYM PSIDENT_PSCENTRIC} // // Header structure for the input buffer to POSTSCRIPT_INJECTION escape // type PPsInjectData = ^TPsInjectData; _PSINJECTDATA = record DataBytes: DWORD; // number of raw data bytes (NOT including this header) InjectionPoint: WORD; // injection point PageNumber: WORD; // page number to apply the injection // Followed by raw data to be injected end; {$EXTERNALSYM _PSINJECTDATA} PSINJECTDATA = _PSINJECTDATA; {$EXTERNALSYM PSINJECTDATA} TPsInjectData = _PSINJECTDATA; // // Constants for PSINJECTDATA.InjectionPoint field // const PSINJECT_BEGINSTREAM = 1; {$EXTERNALSYM PSINJECT_BEGINSTREAM} PSINJECT_PSADOBE = 2; {$EXTERNALSYM PSINJECT_PSADOBE} PSINJECT_PAGESATEND = 3; {$EXTERNALSYM PSINJECT_PAGESATEND} PSINJECT_PAGES = 4; {$EXTERNALSYM PSINJECT_PAGES} PSINJECT_DOCNEEDEDRES = 5; {$EXTERNALSYM PSINJECT_DOCNEEDEDRES} PSINJECT_DOCSUPPLIEDRES = 6; {$EXTERNALSYM PSINJECT_DOCSUPPLIEDRES} PSINJECT_PAGEORDER = 7; {$EXTERNALSYM PSINJECT_PAGEORDER} PSINJECT_ORIENTATION = 8; {$EXTERNALSYM PSINJECT_ORIENTATION} PSINJECT_BOUNDINGBOX = 9; {$EXTERNALSYM PSINJECT_BOUNDINGBOX} PSINJECT_DOCUMENTPROCESSCOLORS = 10; {$EXTERNALSYM PSINJECT_DOCUMENTPROCESSCOLORS} PSINJECT_COMMENTS = 11; {$EXTERNALSYM PSINJECT_COMMENTS} PSINJECT_BEGINDEFAULTS = 12; {$EXTERNALSYM PSINJECT_BEGINDEFAULTS} PSINJECT_ENDDEFAULTS = 13; {$EXTERNALSYM PSINJECT_ENDDEFAULTS} PSINJECT_BEGINPROLOG = 14; {$EXTERNALSYM PSINJECT_BEGINPROLOG} PSINJECT_ENDPROLOG = 15; {$EXTERNALSYM PSINJECT_ENDPROLOG} PSINJECT_BEGINSETUP = 16; {$EXTERNALSYM PSINJECT_BEGINSETUP} PSINJECT_ENDSETUP = 17; {$EXTERNALSYM PSINJECT_ENDSETUP} PSINJECT_TRAILER = 18; {$EXTERNALSYM PSINJECT_TRAILER} PSINJECT_EOF = 19; {$EXTERNALSYM PSINJECT_EOF} PSINJECT_ENDSTREAM = 20; {$EXTERNALSYM PSINJECT_ENDSTREAM} PSINJECT_DOCUMENTPROCESSCOLORSATEND = 21; {$EXTERNALSYM PSINJECT_DOCUMENTPROCESSCOLORSATEND} PSINJECT_PAGENUMBER = 100; {$EXTERNALSYM PSINJECT_PAGENUMBER} PSINJECT_BEGINPAGESETUP = 101; {$EXTERNALSYM PSINJECT_BEGINPAGESETUP} PSINJECT_ENDPAGESETUP = 102; {$EXTERNALSYM PSINJECT_ENDPAGESETUP} PSINJECT_PAGETRAILER = 103; {$EXTERNALSYM PSINJECT_PAGETRAILER} PSINJECT_PLATECOLOR = 104; {$EXTERNALSYM PSINJECT_PLATECOLOR} PSINJECT_SHOWPAGE = 105; {$EXTERNALSYM PSINJECT_SHOWPAGE} PSINJECT_PAGEBBOX = 106; {$EXTERNALSYM PSINJECT_PAGEBBOX} PSINJECT_ENDPAGECOMMENTS = 107; {$EXTERNALSYM PSINJECT_ENDPAGECOMMENTS} PSINJECT_VMSAVE = 200; {$EXTERNALSYM PSINJECT_VMSAVE} PSINJECT_VMRESTORE = 201; {$EXTERNALSYM PSINJECT_VMRESTORE} // // Parameter for GET_PS_FEATURESETTING escape // FEATURESETTING_NUP = 0; {$EXTERNALSYM FEATURESETTING_NUP} FEATURESETTING_OUTPUT = 1; {$EXTERNALSYM FEATURESETTING_OUTPUT} FEATURESETTING_PSLEVEL = 2; {$EXTERNALSYM FEATURESETTING_PSLEVEL} FEATURESETTING_CUSTPAPER = 3; {$EXTERNALSYM FEATURESETTING_CUSTPAPER} FEATURESETTING_MIRROR = 4; {$EXTERNALSYM FEATURESETTING_MIRROR} FEATURESETTING_NEGATIVE = 5; {$EXTERNALSYM FEATURESETTING_NEGATIVE} FEATURESETTING_PROTOCOL = 6; {$EXTERNALSYM FEATURESETTING_PROTOCOL} // // The range of selectors between FEATURESETTING_PRIVATE_BEGIN and // FEATURESETTING_PRIVATE_END is reserved by Microsoft for private use // FEATURESETTING_PRIVATE_BEGIN = $1000; {$EXTERNALSYM FEATURESETTING_PRIVATE_BEGIN} FEATURESETTING_PRIVATE_END = $1FFF; {$EXTERNALSYM FEATURESETTING_PRIVATE_END} // // Information about output options // type PPsFeatureOutput = ^TPsFeatureOutput; _PSFEATURE_OUTPUT = record bPageIndependent: BOOL; bSetPageDevice: BOOL; end; {$EXTERNALSYM _PSFEATURE_OUTPUT} PSFEATURE_OUTPUT = _PSFEATURE_OUTPUT; {$EXTERNALSYM PSFEATURE_OUTPUT} PPSFEATURE_OUTPUT = ^PSFEATURE_OUTPUT; {$EXTERNALSYM PPSFEATURE_OUTPUT} TPsFeatureOutput = _PSFEATURE_OUTPUT; // // Information about custom paper size // PPsFeatureCustPaper = ^TPsFeatureCustPaper; _PSFEATURE_CUSTPAPER = record lOrientation: LONG; lWidth: LONG; lHeight: LONG; lWidthOffset: LONG; lHeightOffset: LONG; end; {$EXTERNALSYM _PSFEATURE_CUSTPAPER} PSFEATURE_CUSTPAPER = _PSFEATURE_CUSTPAPER; {$EXTERNALSYM PSFEATURE_CUSTPAPER} PPSFEATURE_CUSTPAPER = ^PSFEATURE_CUSTPAPER; {$EXTERNALSYM PPSFEATURE_CUSTPAPER} TPsFeatureCustPaper = _PSFEATURE_CUSTPAPER; // Value returned for FEATURESETTING_PROTOCOL const PSPROTOCOL_ASCII = 0; {$EXTERNALSYM PSPROTOCOL_ASCII} PSPROTOCOL_BCP = 1; {$EXTERNALSYM PSPROTOCOL_BCP} PSPROTOCOL_TBCP = 2; {$EXTERNALSYM PSPROTOCOL_TBCP} PSPROTOCOL_BINARY = 3; {$EXTERNALSYM PSPROTOCOL_BINARY} // Flag returned from QUERYDIBSUPPORT QDI_SETDIBITS = 1; {$EXTERNALSYM QDI_SETDIBITS} QDI_GETDIBITS = 2; {$EXTERNALSYM QDI_GETDIBITS} QDI_DIBTOSCREEN = 4; {$EXTERNALSYM QDI_DIBTOSCREEN} QDI_STRETCHDIB = 8; {$EXTERNALSYM QDI_STRETCHDIB} // Spooler Error Codes SP_NOTREPORTED = $4000; {$EXTERNALSYM SP_NOTREPORTED} SP_ERROR = DWORD(-1); {$EXTERNALSYM SP_ERROR} SP_APPABORT = DWORD(-2); {$EXTERNALSYM SP_APPABORT} SP_USERABORT = DWORD(-3); {$EXTERNALSYM SP_USERABORT} SP_OUTOFDISK = DWORD(-4); {$EXTERNALSYM SP_OUTOFDISK} SP_OUTOFMEMORY = DWORD(-5); {$EXTERNALSYM SP_OUTOFMEMORY} PR_JOBSTATUS = $0000; {$EXTERNALSYM PR_JOBSTATUS} // Object Definitions for EnumObjects() OBJ_PEN = 1; {$EXTERNALSYM OBJ_PEN} OBJ_BRUSH = 2; {$EXTERNALSYM OBJ_BRUSH} OBJ_DC = 3; {$EXTERNALSYM OBJ_DC} OBJ_METADC = 4; {$EXTERNALSYM OBJ_METADC} OBJ_PAL = 5; {$EXTERNALSYM OBJ_PAL} OBJ_FONT = 6; {$EXTERNALSYM OBJ_FONT} OBJ_BITMAP = 7; {$EXTERNALSYM OBJ_BITMAP} OBJ_REGION = 8; {$EXTERNALSYM OBJ_REGION} OBJ_METAFILE = 9; {$EXTERNALSYM OBJ_METAFILE} OBJ_MEMDC = 10; {$EXTERNALSYM OBJ_MEMDC} OBJ_EXTPEN = 11; {$EXTERNALSYM OBJ_EXTPEN} OBJ_ENHMETADC = 12; {$EXTERNALSYM OBJ_ENHMETADC} OBJ_ENHMETAFILE = 13; {$EXTERNALSYM OBJ_ENHMETAFILE} OBJ_COLORSPACE = 14; {$EXTERNALSYM OBJ_COLORSPACE} // xform stuff MWT_IDENTITY = 1; {$EXTERNALSYM MWT_IDENTITY} MWT_LEFTMULTIPLY = 2; {$EXTERNALSYM MWT_LEFTMULTIPLY} MWT_RIGHTMULTIPLY = 3; {$EXTERNALSYM MWT_RIGHTMULTIPLY} MWT_MIN = MWT_IDENTITY; {$EXTERNALSYM MWT_MIN} MWT_MAX = MWT_RIGHTMULTIPLY; {$EXTERNALSYM MWT_MAX} type PXform = ^TXform; tagXFORM = record eM11: FLOAT; eM12: FLOAT; eM21: FLOAT; eM22: FLOAT; eDx: FLOAT; eDy: FLOAT; end; {$EXTERNALSYM tagXFORM} XFORM = tagXFORM; {$EXTERNALSYM XFORM} LPXFORM = ^XFORM; {$EXTERNALSYM LPXFORM} TXform = XFORM; // Bitmap Header Definition PBitmap = ^TBitmap; tagBITMAP = record bmType: LONG; bmWidth: LONG; bmHeight: LONG; bmWidthBytes: LONG; bmPlanes: WORD; bmBitsPixel: WORD; bmBits: LPVOID; end; {$EXTERNALSYM tagBITMAP} BITMAP = tagBITMAP; {$EXTERNALSYM BITMAP} LPBITMAP = ^BITMAP; {$EXTERNALSYM LPBITMAP} NPBITMAP = ^BITMAP; {$EXTERNALSYM NPBITMAP} TBitmap = BITMAP; // #include PRgbTriple = ^TRgbTriple; tagRGBTRIPLE = packed record rgbtBlue: BYTE; rgbtGreen: BYTE; rgbtRed: BYTE; end; {$EXTERNALSYM tagRGBTRIPLE} RGBTRIPLE = tagRGBTRIPLE; {$EXTERNALSYM RGBTRIPLE} TRgbTriple = RGBTRIPLE; // #include PRgbQuad = ^TRgbQuad; tagRGBQUAD = record rgbBlue: BYTE; rgbGreen: BYTE; rgbRed: BYTE; rgbReserved: BYTE; end; {$EXTERNALSYM tagRGBQUAD} RGBQUAD = tagRGBQUAD; {$EXTERNALSYM RGBQUAD} LPRGBQUAD = ^RGBQUAD; {$EXTERNALSYM LPRGBQUAD} TRgbQuad = RGBQUAD; // Image Color Matching color definitions const CS_ENABLE = $00000001; {$EXTERNALSYM CS_ENABLE} CS_DISABLE = $00000002; {$EXTERNALSYM CS_DISABLE} CS_DELETE_TRANSFORM = $00000003; {$EXTERNALSYM CS_DELETE_TRANSFORM} // Logcolorspace signature LCS_SIGNATURE = 'PSOC'; {$EXTERNALSYM LCS_SIGNATURE} // Logcolorspace lcsType values LCS_sRGB = 'sRGB'; {$EXTERNALSYM LCS_sRGB} LCS_WINDOWS_COLOR_SPACE = 'Win '; // Windows default color space {$EXTERNALSYM LCS_WINDOWS_COLOR_SPACE} type LCSCSTYPE = LONG; {$EXTERNALSYM LCSCSTYPE} const LCS_CALIBRATED_RGB = $00000000; {$EXTERNALSYM LCS_CALIBRATED_RGB} type LCSGAMUTMATCH = LONG; {$EXTERNALSYM LCSGAMUTMATCH } const LCS_GM_BUSINESS = $00000001; {$EXTERNALSYM LCS_GM_BUSINESS} LCS_GM_GRAPHICS = $00000002; {$EXTERNALSYM LCS_GM_GRAPHICS} LCS_GM_IMAGES = $00000004; {$EXTERNALSYM LCS_GM_IMAGES} LCS_GM_ABS_COLORIMETRIC = $00000008; {$EXTERNALSYM LCS_GM_ABS_COLORIMETRIC} // ICM Defines for results from CheckColorInGamut() CM_OUT_OF_GAMUT = 255; {$EXTERNALSYM CM_OUT_OF_GAMUT} CM_IN_GAMUT = 0; {$EXTERNALSYM CM_IN_GAMUT} // UpdateICMRegKey Constants ICM_ADDPROFILE = 1; {$EXTERNALSYM ICM_ADDPROFILE} ICM_DELETEPROFILE = 2; {$EXTERNALSYM ICM_DELETEPROFILE} ICM_QUERYPROFILE = 3; {$EXTERNALSYM ICM_QUERYPROFILE} ICM_SETDEFAULTPROFILE = 4; {$EXTERNALSYM ICM_SETDEFAULTPROFILE} ICM_REGISTERICMATCHER = 5; {$EXTERNALSYM ICM_REGISTERICMATCHER} ICM_UNREGISTERICMATCHER = 6; {$EXTERNALSYM ICM_UNREGISTERICMATCHER} ICM_QUERYMATCH = 7; {$EXTERNALSYM ICM_QUERYMATCH} // Macros to retrieve CMYK values from a COLORREF function GetKValue(cmyk: COLORREF): BYTE; {$EXTERNALSYM GetKValue} function GetYValue(cmyk: COLORREF): BYTE; {$EXTERNALSYM GetYValue} function GetMValue(cmyk: COLORREF): BYTE; {$EXTERNALSYM GetMValue} function GetCValue(cmyk: COLORREF): BYTE; {$EXTERNALSYM GetCValue} function CMYK(c, m, y, k: BYTE): COLORREF; {$EXTERNALSYM CMYK} type FXPT16DOT16 = Longint; {$EXTERNALSYM FXPT16DOT16} LPFXPT16DOT16 = ^FXPT16DOT16; {$EXTERNALSYM LPFXPT16DOT16} FXPT2DOT30 = Longint; {$EXTERNALSYM FXPT2DOT30} LPFXPT2DOT30 = ^FXPT2DOT30; {$EXTERNALSYM LPFXPT2DOT30} // ICM Color Definitions // The following two structures are used for defining RGB's in terms of CIEXYZ. PCieXyz = ^TCieXyz; tagCIEXYZ = record ciexyzX: FXPT2DOT30; ciexyzY: FXPT2DOT30; ciexyzZ: FXPT2DOT30; end; {$EXTERNALSYM tagCIEXYZ} CIEXYZ = tagCIEXYZ; {$EXTERNALSYM CIEXYZ} LPCIEXYZ = ^CIEXYZ; {$EXTERNALSYM LPCIEXYZ} TCieXyz = CIEXYZ; PCieXyzTriple = ^TCieXyzTriple; tagCIEXYZTRIPLE = record ciexyzRed: CIEXYZ; ciexyzGreen: CIEXYZ; ciexyzBlue: CIEXYZ; end; {$EXTERNALSYM tagCIEXYZTRIPLE} CIEXYZTRIPLE = tagCIEXYZTRIPLE; {$EXTERNALSYM CIEXYZTRIPLE} LPCIEXYZTRIPLE = ^CIEXYZTRIPLE; {$EXTERNALSYM LPCIEXYZTRIPLE} TCieXyzTriple = CIEXYZTRIPLE; // The next structures the logical color space. Unlike pens and brushes, // but like palettes, there is only one way to create a LogColorSpace. // A pointer to it must be passed, its elements can't be pushed as // arguments. PLogColorSpaceA = ^TLogColorSpaceA; tagLOGCOLORSPACEA = record lcsSignature: DWORD; lcsVersion: DWORD; lcsSize: DWORD; lcsCSType: LCSCSTYPE; lcsIntent: LCSGAMUTMATCH; lcsEndpoints: CIEXYZTRIPLE; lcsGammaRed: DWORD; lcsGammaGreen: DWORD; lcsGammaBlue: DWORD; lcsFilename: array [0..MAX_PATH - 1] of CHAR; end; {$EXTERNALSYM tagLOGCOLORSPACEA} LOGCOLORSPACEA = tagLOGCOLORSPACEA; {$EXTERNALSYM LOGCOLORSPACEA} LPLOGCOLORSPACEA = ^LOGCOLORSPACEA; {$EXTERNALSYM LPLOGCOLORSPACEA} TLogColorSpaceA = LOGCOLORSPACEA; PLogColorSpaceW = ^TLogColorSpaceW; tagLOGCOLORSPACEW = record lcsSignature: DWORD; lcsVersion: DWORD; lcsSize: DWORD; lcsCSType: LCSCSTYPE; lcsIntent: LCSGAMUTMATCH; lcsEndpoints: CIEXYZTRIPLE; lcsGammaRed: DWORD; lcsGammaGreen: DWORD; lcsGammaBlue: DWORD; lcsFilename: array [0..MAX_PATH - 1] of WCHAR; end; {$EXTERNALSYM tagLOGCOLORSPACEW} LOGCOLORSPACEW = tagLOGCOLORSPACEW; {$EXTERNALSYM LOGCOLORSPACEW} LPLOGCOLORSPACEW = ^LOGCOLORSPACEW; {$EXTERNALSYM LPLOGCOLORSPACEW} TLogColorSpaceW = LOGCOLORSPACEW; {$IFDEF UNICODE} LOGCOLORSPACE = LOGCOLORSPACEW; {$EXTERNALSYM LOGCOLORSPACE} LPLOGCOLORSPACE = LPLOGCOLORSPACEW; {$EXTERNALSYM LPLOGCOLORSPACE} TLogColorSpace = TLogColorSpaceW; PLogColorSpace = PLogColorSpaceW; {$ELSE} LOGCOLORSPACE = LOGCOLORSPACEA; {$EXTERNALSYM LOGCOLORSPACE} LPLOGCOLORSPACE = LPLOGCOLORSPACEA; {$EXTERNALSYM LPLOGCOLORSPACE} TLogColorSpace = TLogColorSpaceA; PLogColorSpace = PLogColorSpaceA; {$ENDIF UNICODE} // structures for defining DIBs PBitmapCoreHeader = ^TBitmapCoreHeader; tagBITMAPCOREHEADER = record bcSize: DWORD; bcWidth: WORD; bcHeight: WORD; bcPlanes: WORD; bcBitCount: WORD; end; {$EXTERNALSYM tagBITMAPCOREHEADER} BITMAPCOREHEADER = tagBITMAPCOREHEADER; {$EXTERNALSYM BITMAPCOREHEADER} LPBITMAPCOREHEADER = ^BITMAPCOREHEADER; {$EXTERNALSYM LPBITMAPCOREHEADER} TBitmapCoreHeader = BITMAPCOREHEADER; PBitmapInfoHeader = ^TBitmapInfoHeader; tagBITMAPINFOHEADER = record biSize: DWORD; biWidth: LONG; biHeight: LONG; biPlanes: WORD; biBitCount: WORD; biCompression: DWORD; biSizeImage: DWORD; biXPelsPerMeter: LONG; biYPelsPerMeter: LONG; biClrUsed: DWORD; biClrImportant: DWORD; end; {$EXTERNALSYM tagBITMAPINFOHEADER} BITMAPINFOHEADER = tagBITMAPINFOHEADER; {$EXTERNALSYM BITMAPINFOHEADER} LPBITMAPINFOHEADER = ^BITMAPINFOHEADER; {$EXTERNALSYM LPBITMAPINFOHEADER} TBitmapInfoHeader = BITMAPINFOHEADER; PBitmapV4Header = ^TBitmapV4Header; BITMAPV4HEADER = record bV4Size: DWORD; bV4Width: LONG; bV4Height: LONG; bV4Planes: WORD; bV4BitCount: WORD; bV4V4Compression: DWORD; bV4SizeImage: DWORD; bV4XPelsPerMeter: LONG; bV4YPelsPerMeter: LONG; bV4ClrUsed: DWORD; bV4ClrImportant: DWORD; bV4RedMask: DWORD; bV4GreenMask: DWORD; bV4BlueMask: DWORD; bV4AlphaMask: DWORD; bV4CSType: DWORD; bV4Endpoints: CIEXYZTRIPLE; bV4GammaRed: DWORD; bV4GammaGreen: DWORD; bV4GammaBlue: DWORD; end; {$EXTERNALSYM BITMAPV4HEADER} LPBITMAPV4HEADER = ^BITMAPV4HEADER; {$EXTERNALSYM LPBITMAPV4HEADER} TBitmapV4Header = BITMAPV4HEADER; PBitmapV5Header = ^TBitmapV5Header; BITMAPV5HEADER = record bV5Size: DWORD; bV5Width: LONG; bV5Height: LONG; bV5Planes: WORD; bV5BitCount: WORD; bV5Compression: DWORD; bV5SizeImage: DWORD; bV5XPelsPerMeter: LONG; bV5YPelsPerMeter: LONG; bV5ClrUsed: DWORD; bV5ClrImportant: DWORD; bV5RedMask: DWORD; bV5GreenMask: DWORD; bV5BlueMask: DWORD; bV5AlphaMask: DWORD; bV5CSType: DWORD; bV5Endpoints: CIEXYZTRIPLE; bV5GammaRed: DWORD; bV5GammaGreen: DWORD; bV5GammaBlue: DWORD; bV5Intent: DWORD; bV5ProfileData: DWORD; bV5ProfileSize: DWORD; bV5Reserved: DWORD; end; {$EXTERNALSYM BITMAPV5HEADER} LPBITMAPV5HEADER = ^BITMAPV5HEADER; {$EXTERNALSYM LPBITMAPV5HEADER} TBitmapV5Header = BITMAPV5HEADER; // Values for bV5CSType const PROFILE_LINKED = 'LINK'; {$EXTERNALSYM PROFILE_LINKED} PROFILE_EMBEDDED = 'MBED'; {$EXTERNALSYM PROFILE_EMBEDDED} // constants for the biCompression field BI_RGB = 0; {$EXTERNALSYM BI_RGB} BI_RLE8 = 1; {$EXTERNALSYM BI_RLE8} BI_RLE4 = 2; {$EXTERNALSYM BI_RLE4} BI_BITFIELDS = 3; {$EXTERNALSYM BI_BITFIELDS} BI_JPEG = 4; {$EXTERNALSYM BI_JPEG} BI_PNG = 5; {$EXTERNALSYM BI_PNG} type PBitmapInfo = ^TBitmapInfo; tagBITMAPINFO = record bmiHeader: BITMAPINFOHEADER; bmiColors: array [0..0] of RGBQUAD; end; {$EXTERNALSYM tagBITMAPINFO} BITMAPINFO = tagBITMAPINFO; {$EXTERNALSYM BITMAPINFO} LPBITMAPINFO = ^BITMAPINFO; {$EXTERNALSYM LPBITMAPINFO} TBitmapInfo = BITMAPINFO; PBitmapCoreInfo = ^TBitmapCoreInfo; tagBITMAPCOREINFO = record bmciHeader: BITMAPCOREHEADER; bmciColors: array [0..0] of RGBTRIPLE; end; {$EXTERNALSYM tagBITMAPCOREINFO} BITMAPCOREINFO = tagBITMAPCOREINFO; {$EXTERNALSYM BITMAPCOREINFO} LPBITMAPCOREINFO = ^BITMAPCOREINFO; {$EXTERNALSYM LPBITMAPCOREINFO} TBitmapCoreInfo = BITMAPCOREINFO; // #include PBitmapFileHeader = ^TBitmapFileHeader; tagBITMAPFILEHEADER = packed record bfType: WORD; bfSize: DWORD; bfReserved1: WORD; bfReserved2: WORD; bfOffBits: DWORD; end; {$EXTERNALSYM tagBITMAPFILEHEADER} BITMAPFILEHEADER = tagBITMAPFILEHEADER; {$EXTERNALSYM BITMAPFILEHEADER} LPBITMAPFILEHEADER = ^BITMAPFILEHEADER; {$EXTERNALSYM BITMAPFILEHEADER} TBitmapFileHeader = BITMAPFILEHEADER; // #include function MAKEPOINTS(l: DWORD): POINTS; {$EXTERNALSYM MAKEPOINTS} type PFontSignature = ^TFontSignature; tagFONTSIGNATURE = record fsUsb: array [0..3] of DWORD; fsCsb: array [0..1] of DWORD; end; {$EXTERNALSYM tagFONTSIGNATURE} FONTSIGNATURE = tagFONTSIGNATURE; {$EXTERNALSYM FONTSIGNATURE} LPFONTSIGNATURE = ^FONTSIGNATURE; {$EXTERNALSYM LPFONTSIGNATURE} TFontSignature = FONTSIGNATURE; PCharSetInfo = ^TCharSetInfo; tagCHARSETINFO = record ciCharset: UINT; ciACP: UINT; fs: FONTSIGNATURE; end; {$EXTERNALSYM tagCHARSETINFO} CHARSETINFO = tagCHARSETINFO; {$EXTERNALSYM CHARSETINFO} LPCHARSETINFO = ^CHARSETINFO; {$EXTERNALSYM LPCHARSETINFO} NPCHARSETINFO = ^CHARSETINFO; {$EXTERNALSYM NPCHARSETINFO} TCharSetInfo = CHARSETINFO; const TCI_SRCCHARSET = 1; {$EXTERNALSYM TCI_SRCCHARSET} TCI_SRCCODEPAGE = 2; {$EXTERNALSYM TCI_SRCCODEPAGE} TCI_SRCFONTSIG = 3; {$EXTERNALSYM TCI_SRCFONTSIG} TCI_SRCLOCALE = $1000; {$EXTERNALSYM TCI_SRCLOCALE} type PLocaleSignature = ^TLocaleSignature; tagLOCALESIGNATURE = record lsUsb: array [0..3] of DWORD; lsCsbDefault: array [0..1] of DWORD; lsCsbSupported: array [0..1] of DWORD; end; {$EXTERNALSYM tagLOCALESIGNATURE} LOCALESIGNATURE = tagLOCALESIGNATURE; {$EXTERNALSYM LOCALESIGNATURE} LPLOCALESIGNATURE = ^LOCALESIGNATURE; {$EXTERNALSYM LPLOCALESIGNATURE} TLocaleSignature = LOCALESIGNATURE; // Clipboard Metafile Picture Structure PHandleTable = ^THandleTable; tagHANDLETABLE = record objectHandle: array [0..0] of HGDIOBJ; end; {$EXTERNALSYM tagHANDLETABLE} HANDLETABLE = tagHANDLETABLE; {$EXTERNALSYM HANDLETABLE} LPHANDLETABLE = ^HANDLETABLE; {$EXTERNALSYM LPHANDLETABLE} THandleTable = HANDLETABLE; PMetaRecord = ^TMetaRecord; tagMETARECORD = record rdSize: DWORD; rdFunction: WORD; rdParm: array [0..0] of WORD; end; {$EXTERNALSYM tagMETARECORD} METARECORD = tagMETARECORD; {$EXTERNALSYM METARECORD} LPMETARECORD = ^METARECORD; {$EXTERNALSYM LPMETARECORD} TMetaRecord = METARECORD; PMetaFilePict = ^TMetaFilePict; tagMETAFILEPICT = record mm: LONG; xExt: LONG; yExt: LONG; hMF: HMETAFILE; end; {$EXTERNALSYM tagMETAFILEPICT} METAFILEPICT = tagMETAFILEPICT; {$EXTERNALSYM METAFILEPICT} LPMETAFILEPICT = ^METAFILEPICT; {$EXTERNALSYM LPMETAFILEPICT} TMetaFilePict = METAFILEPICT; // #include PMetaHeader = ^TMetaHeader; tagMETAHEADER = packed record mtType: WORD; mtHeaderSize: WORD; mtVersion: WORD; mtSize: DWORD; mtNoObjects: WORD; mtMaxRecord: DWORD; mtNoParameters: WORD; end; {$EXTERNALSYM tagMETAHEADER} METAHEADER = tagMETAHEADER; {$EXTERNALSYM METAHEADER} LPMETAHEADER = ^METAHEADER; {$EXTERNALSYM LPMETAHEADER} TMetaHeader = METAHEADER; // #include // Enhanced Metafile structures PEnhMetaRecord = ^TEnhMetaRecord; tagENHMETARECORD = record iType: DWORD; // Record type EMR_XXX nSize: DWORD; // Record size in bytes dParm: array [0..0] of DWORD; // Parameters end; {$EXTERNALSYM tagENHMETARECORD} ENHMETARECORD = tagENHMETARECORD; {$EXTERNALSYM ENHMETARECORD} LPENHMETARECORD = ^ENHMETARECORD; {$EXTERNALSYM LPENHMETARECORD} TEnhMetaRecord = ENHMETARECORD; PEnhMetaHeader = ^TEnhMetaHeader; tagENHMETAHEADER = record iType: DWORD; // Record type EMR_HEADER nSize: DWORD; // Record size in bytes. This may be greater // than the sizeof(ENHMETAHEADER). rclBounds: RECTL; // Inclusive-inclusive bounds in device units rclFrame: RECTL; // Inclusive-inclusive Picture Frame of metafile in .01 mm units dSignature: DWORD; // Signature. Must be ENHMETA_SIGNATURE. nVersion: DWORD; // Version number nBytes: DWORD; // Size of the metafile in bytes nRecords: DWORD; // Number of records in the metafile nHandles: WORD; // Number of handles in the handle table // Handle index zero is reserved. sReserved: WORD; // Reserved. Must be zero. nDescription: DWORD; // Number of chars in the unicode description string // This is 0 if there is no description string offDescription: DWORD; // Offset to the metafile description record. // This is 0 if there is no description string nPalEntries: DWORD; // Number of entries in the metafile palette. szlDevice: SIZEL; // Size of the reference device in pels szlMillimeters: SIZEL; // Size of the reference device in millimeters cbPixelFormat: DWORD; // Size of PIXELFORMATDESCRIPTOR information // This is 0 if no pixel format is set offPixelFormat: DWORD; // Offset to PIXELFORMATDESCRIPTOR // This is 0 if no pixel format is set bOpenGL: DWORD; // TRUE if OpenGL commands are present in // the metafile, otherwise FALSE {$IFDEF WIN98ME_UP} szlMicrometers: SIZEL; // Size of the reference device in micrometers {$ENDIF WIN98ME_UP} end; {$EXTERNALSYM tagENHMETAHEADER} ENHMETAHEADER = tagENHMETAHEADER; {$EXTERNALSYM ENHMETAHEADER} LPENHMETAHEADER = ^ENHMETAHEADER; {$EXTERNALSYM LPENHMETAHEADER} TEnhMetaHeader = tagENHMETAHEADER; // tmPitchAndFamily flags const TMPF_FIXED_PITCH = $01; {$EXTERNALSYM TMPF_FIXED_PITCH} TMPF_VECTOR = $02; {$EXTERNALSYM TMPF_VECTOR} TMPF_DEVICE = $08; {$EXTERNALSYM TMPF_DEVICE} TMPF_TRUETYPE = $04; {$EXTERNALSYM TMPF_TRUETYPE} // // BCHAR definition for APPs // type {$IFDEF UNICODE} BCHAR = WCHAR; {$EXTERNALSYM BCHAR} {$ELSE} BCHAR = BYTE; {$EXTERNALSYM BCHAR} {$ENDIF UNICODE} type PTextMetricA = ^TTextMetricA; tagTEXTMETRICA = record tmHeight: LONG; tmAscent: LONG; tmDescent: LONG; tmInternalLeading: LONG; tmExternalLeading: LONG; tmAveCharWidth: LONG; tmMaxCharWidth: LONG; tmWeight: LONG; tmOverhang: LONG; tmDigitizedAspectX: LONG; tmDigitizedAspectY: LONG; tmFirstChar: BYTE; tmLastChar: BYTE; tmDefaultChar: BYTE; tmBreakChar: BYTE; tmItalic: BYTE; tmUnderlined: BYTE; tmStruckOut: BYTE; tmPitchAndFamily: BYTE; tmCharSet: BYTE; end; {$EXTERNALSYM tagTEXTMETRICA} TEXTMETRICA = tagTEXTMETRICA; {$EXTERNALSYM TEXTMETRICA} LPTEXTMETRICA = ^TEXTMETRICA; {$EXTERNALSYM LPTEXTMETRICA} NPTEXTMETRICA = ^TEXTMETRICA; {$EXTERNALSYM NPTEXTMETRICA} TTextMetricA = TEXTMETRICA; PTextMetricW = ^TTextMetricW; tagTEXTMETRICW = record tmHeight: LONG; tmAscent: LONG; tmDescent: LONG; tmInternalLeading: LONG; tmExternalLeading: LONG; tmAveCharWidth: LONG; tmMaxCharWidth: LONG; tmWeight: LONG; tmOverhang: LONG; tmDigitizedAspectX: LONG; tmDigitizedAspectY: LONG; tmFirstChar: WCHAR; tmLastChar: WCHAR; tmDefaultChar: WCHAR; tmBreakChar: WCHAR; tmItalic: BYTE; tmUnderlined: BYTE; tmStruckOut: BYTE; tmPitchAndFamily: BYTE; tmCharSet: BYTE; end; {$EXTERNALSYM tagTEXTMETRICW} TEXTMETRICW = tagTEXTMETRICW; {$EXTERNALSYM TEXTMETRICW} LPTEXTMETRICW = ^TEXTMETRICW; {$EXTERNALSYM LPTEXTMETRICW} NPTEXTMETRICW = ^TEXTMETRICW; {$EXTERNALSYM NPTEXTMETRICW} TTextMetricW = TEXTMETRICW; {$IFDEF UNICODE} TEXTMETRIC = TEXTMETRICW; {$EXTERNALSYM TEXTMETRIC} PTEXTMETRIC = PTEXTMETRICW; {$EXTERNALSYM PTEXTMETRIC} NPTEXTMETRIC = NPTEXTMETRICW; {$EXTERNALSYM NPTEXTMETRIC} LPTEXTMETRIC = LPTEXTMETRICW; {$EXTERNALSYM LPTEXTMETRIC} TTextMetric = TTextMetricW; {$ELSE} TEXTMETRIC = TEXTMETRICA; {$EXTERNALSYM TEXTMETRIC} NPTEXTMETRIC = NPTEXTMETRICA; {$EXTERNALSYM NPTEXTMETRIC} LPTEXTMETRIC = LPTEXTMETRICA; {$EXTERNALSYM LPTEXTMETRIC} TTextMetric = TTextMetricA; {$ENDIF UNICODE} // ntmFlags field flags const NTM_REGULAR = $00000040; {$EXTERNALSYM NTM_REGULAR} NTM_BOLD = $00000020; {$EXTERNALSYM NTM_BOLD} NTM_ITALIC = $00000001; {$EXTERNALSYM NTM_ITALIC} // new in NT 5.0 NTM_NONNEGATIVE_AC = $00010000; {$EXTERNALSYM NTM_NONNEGATIVE_AC} NTM_PS_OPENTYPE = $00020000; {$EXTERNALSYM NTM_PS_OPENTYPE} NTM_TT_OPENTYPE = $00040000; {$EXTERNALSYM NTM_TT_OPENTYPE} NTM_MULTIPLEMASTER = $00080000; {$EXTERNALSYM NTM_MULTIPLEMASTER} NTM_TYPE1 = $00100000; {$EXTERNALSYM NTM_TYPE1} NTM_DSIG = $00200000; {$EXTERNALSYM NTM_DSIG} // #include type PNewTextMetricA = ^TNewTextMetricA; tagNEWTEXTMETRICA = record tmHeight: LONG; tmAscent: LONG; tmDescent: LONG; tmInternalLeading: LONG; tmExternalLeading: LONG; tmAveCharWidth: LONG; tmMaxCharWidth: LONG; tmWeight: LONG; tmOverhang: LONG; tmDigitizedAspectX: LONG; tmDigitizedAspectY: LONG; tmFirstChar: BYTE; tmLastChar: BYTE; tmDefaultChar: BYTE; tmBreakChar: BYTE; tmItalic: BYTE; tmUnderlined: BYTE; tmStruckOut: BYTE; tmPitchAndFamily: BYTE; tmCharSet: BYTE; ntmFlags: DWORD; ntmSizeEM: UINT; ntmCellHeight: UINT; ntmAvgWidth: UINT; end; {$EXTERNALSYM tagNEWTEXTMETRICA} NEWTEXTMETRICA = tagNEWTEXTMETRICA; {$EXTERNALSYM NEWTEXTMETRICA} LPNEWTEXTMETRICA = ^NEWTEXTMETRICA; {$EXTERNALSYM LPNEWTEXTMETRICA} NPNEWTEXTMETRICA = ^NEWTEXTMETRICA; {$EXTERNALSYM NPNEWTEXTMETRICA} TNewTextMetricA = NEWTEXTMETRICA; PNewTextMetricW = ^TNewTextMetricW; tagNEWTEXTMETRICW = record tmHeight: LONG; tmAscent: LONG; tmDescent: LONG; tmInternalLeading: LONG; tmExternalLeading: LONG; tmAveCharWidth: LONG; tmMaxCharWidth: LONG; tmWeight: LONG; tmOverhang: LONG; tmDigitizedAspectX: LONG; tmDigitizedAspectY: LONG; tmFirstChar: WCHAR; tmLastChar: WCHAR; tmDefaultChar: WCHAR; tmBreakChar: WCHAR; tmItalic: BYTE; tmUnderlined: BYTE; tmStruckOut: BYTE; tmPitchAndFamily: BYTE; tmCharSet: BYTE; ntmFlags: DWORD; ntmSizeEM: UINT; ntmCellHeight: UINT; ntmAvgWidth: UINT; end; {$EXTERNALSYM tagNEWTEXTMETRICW} NEWTEXTMETRICW = tagNEWTEXTMETRICW; {$EXTERNALSYM NEWTEXTMETRICW} LPNEWTEXTMETRICW = ^NEWTEXTMETRICW; {$EXTERNALSYM LPNEWTEXTMETRICW} NPNEWTEXTMETRICW = ^NEWTEXTMETRICW; {$EXTERNALSYM NPNEWTEXTMETRICW} TNewTextMetricW = NEWTEXTMETRICW; {$IFDEF UNICODE} NEWTEXTMETRIC = NEWTEXTMETRICW; {$EXTERNALSYM NEWTEXTMETRIC} PNEWTEXTMETRIC = PNEWTEXTMETRICW; {$EXTERNALSYM PNEWTEXTMETRIC} NPNEWTEXTMETRIC = NPNEWTEXTMETRICW; {$EXTERNALSYM NPNEWTEXTMETRIC} LPNEWTEXTMETRIC = LPNEWTEXTMETRICW; {$EXTERNALSYM LPNEWTEXTMETRIC} TNewTextMetric = TNewTextMetricW; {$ELSE} NEWTEXTMETRIC = NEWTEXTMETRICW; {$EXTERNALSYM NEWTEXTMETRIC} PNEWTEXTMETRIC = PNEWTEXTMETRICW; {$EXTERNALSYM PNEWTEXTMETRIC} NPNEWTEXTMETRIC = NPNEWTEXTMETRICW; {$EXTERNALSYM NPNEWTEXTMETRIC} LPNEWTEXTMETRIC = LPNEWTEXTMETRICW; {$EXTERNALSYM LPNEWTEXTMETRIC} TNewTextMetric = TNewTextMetricW; {$ENDIF UNICODE} // #include PNewTextMetricExA = ^TNewTextMetricExA; tagNEWTEXTMETRICEXA = record ntmTm: NEWTEXTMETRICA; ntmFontSig: FONTSIGNATURE; end; {$EXTERNALSYM tagNEWTEXTMETRICEXA} NEWTEXTMETRICEXA = tagNEWTEXTMETRICEXA; {$EXTERNALSYM NEWTEXTMETRICEXA} TNewTextMetricExA = NEWTEXTMETRICEXA; PNewTextMetricExW = ^TNewTextMetricExW; tagNEWTEXTMETRICEXW = record ntmTm: NEWTEXTMETRICW; ntmFontSig: FONTSIGNATURE; end; {$EXTERNALSYM tagNEWTEXTMETRICEXW} NEWTEXTMETRICEXW = tagNEWTEXTMETRICEXW; {$EXTERNALSYM NEWTEXTMETRICEXW} TNewTextMetricExW = NEWTEXTMETRICEXW; {$IFDEF UNICODE} NEWTEXTMETRICEX = NEWTEXTMETRICEXW; {$EXTERNALSYM NEWTEXTMETRICEX} TNewTextMetricEx = TNewTextMetricExW; PNewTextMetricEx = PNewTextMetricExW; {$ELSE} NEWTEXTMETRICEX = NEWTEXTMETRICEXA; {$EXTERNALSYM NEWTEXTMETRICEX} TNewTextMetricEx = TNewTextMetricExA; PNewTextMetricEx = PNewTextMetricExA; {$ENDIF UNICODE} // GDI Logical Objects: // Pel Array PPelArray = ^TPelArray; tagPELARRAY = record paXCount: LONG; paYCount: LONG; paXExt: LONG; paYExt: LONG; paRGBs: BYTE; end; {$EXTERNALSYM tagPELARRAY} PELARRAY = tagPELARRAY; {$EXTERNALSYM PELARRAY} LPPELARRAY = ^PELARRAY; {$EXTERNALSYM LPPELARRAY} TPelArray = PELARRAY; // Logical Brush (or Pattern) PLogBrush = ^TLogBrush; tagLOGBRUSH = record lbStyle: UINT; lbColor: COLORREF; lbHatch: ULONG_PTR; // Sundown: lbHatch could hold a HANDLE end; {$EXTERNALSYM tagLOGBRUSH} LOGBRUSH = tagLOGBRUSH; {$EXTERNALSYM LOGBRUSH} LPLOGBRUSH = ^LOGBRUSH; {$EXTERNALSYM LPLOGBRUSH} NPLOGBRUSH = ^LOGBRUSH; {$EXTERNALSYM NPLOGBRUSH} TLogBrush = LOGBRUSH; PLogBrush32 = ^TLogBrush32; tagLOGBRUSH32 = record lbStyle: UINT; lbColor: COLORREF; lbHatch: ULONG; end; {$EXTERNALSYM tagLOGBRUSH32} LOGBRUSH32 = tagLOGBRUSH32; {$EXTERNALSYM LOGBRUSH32} LPLOGBRUSH32 = ^LOGBRUSH32; {$EXTERNALSYM LPLOGBRUSH32} NPLOGBRUSH32 = ^LOGBRUSH32; {$EXTERNALSYM NPLOGBRUSH32} TLogBrush32 = LOGBRUSH32; PATTERN = LOGBRUSH; {$EXTERNALSYM PATTERN} PPATTERN = ^PATTERN; {$EXTERNALSYM PPATTERN} LPPATTERN = ^PATTERN; {$EXTERNALSYM LPPATTERN} NPPATTERN = ^PATTERN; {$EXTERNALSYM NPPATTERN} // Logical Pen PLogPen = ^TLogPen; tagLOGPEN = record lopnStyle: UINT; lopnWidth: POINT; lopnColor: COLORREF; end; {$EXTERNALSYM tagLOGPEN} LOGPEN = tagLOGPEN; {$EXTERNALSYM LOGPEN} LPLOGPEN = ^LOGPEN; {$EXTERNALSYM LPLOGPEN} NPLOGPEN = ^LOGPEN; {$EXTERNALSYM NPLOGPEN} TLogPen = LOGPEN; PExtLogPen = ^TExtLogPen; tagEXTLOGPEN = record elpPenStyle: DWORD; elpWidth: DWORD; elpBrushStyle: UINT; elpColor: COLORREF; elpHatch: ULONG_PTR; // Sundown: elpHatch could take a HANDLE elpNumEntries: DWORD; elpStyleEntry: array [0..0] of DWORD; end; {$EXTERNALSYM tagEXTLOGPEN} EXTLOGPEN = tagEXTLOGPEN; {$EXTERNALSYM EXTLOGPEN} LPEXTLOGPEN = ^EXTLOGPEN; {$EXTERNALSYM LPEXTLOGPEN} NPEXTLOGPEN = ^EXTLOGPEN; {$EXTERNALSYM NPEXTLOGPEN} TExtLogPen = EXTLOGPEN; PPaletteEntry = ^TPaletteEntry; tagPALETTEENTRY = record peRed: BYTE; peGreen: BYTE; peBlue: BYTE; peFlags: BYTE; end; {$EXTERNALSYM tagPALETTEENTRY} PALETTEENTRY = tagPALETTEENTRY; {$EXTERNALSYM PALETTEENTRY} LPPALETTEENTRY = ^PALETTEENTRY; {$EXTERNALSYM LPPALETTEENTRY} TPaletteEntry = PALETTEENTRY; // Logical Palette PLogPalette = ^TLogPalette; tagLOGPALETTE = record palVersion: WORD; palNumEntries: WORD; palPalEntry: array [0..0] of PALETTEENTRY; end; {$EXTERNALSYM tagLOGPALETTE} LOGPALETTE = tagLOGPALETTE; {$EXTERNALSYM LOGPALETTE} LPLOGPALETTE = ^LOGPALETTE; {$EXTERNALSYM LPLOGPALETTE} NPLOGPALETTE = ^LOGPALETTE; {$EXTERNALSYM NPLOGPALETTE} TLogPalette = LOGPALETTE; // Logical Font const LF_FACESIZE = 32; {$EXTERNALSYM LF_FACESIZE} type PLogFontA = ^TLogFontA; tagLOGFONTA = record lfHeight: LONG; lfWidth: LONG; lfEscapement: LONG; lfOrientation: LONG; lfWeight: LONG; lfItalic: BYTE; lfUnderline: BYTE; lfStrikeOut: BYTE; lfCharSet: BYTE; lfOutPrecision: BYTE; lfClipPrecision: BYTE; lfQuality: BYTE; lfPitchAndFamily: BYTE; lfFaceName: array [0..LF_FACESIZE - 1] of CHAR; end; {$EXTERNALSYM tagLOGFONTA} LOGFONTA = tagLOGFONTA; {$EXTERNALSYM LOGFONTA} LPLOGFONTA = ^LOGFONTA; {$EXTERNALSYM LPLOGFONTA} NPLOGFONTA = ^LOGFONTA; {$EXTERNALSYM NPLOGFONTA} TLogFontA = LOGFONTA; PLogFontW = ^TLogFontW; tagLOGFONTW = record lfHeight: LONG; lfWidth: LONG; lfEscapement: LONG; lfOrientation: LONG; lfWeight: LONG; lfItalic: BYTE; lfUnderline: BYTE; lfStrikeOut: BYTE; lfCharSet: BYTE; lfOutPrecision: BYTE; lfClipPrecision: BYTE; lfQuality: BYTE; lfPitchAndFamily: BYTE; lfFaceName: array [0..LF_FACESIZE - 1] of WCHAR; end; {$EXTERNALSYM tagLOGFONTW} LOGFONTW = tagLOGFONTW; {$EXTERNALSYM LOGFONTW} LPLOGFONTW = ^LOGFONTW; {$EXTERNALSYM LPLOGFONTW} NPLOGFONTW = ^LOGFONTW; {$EXTERNALSYM NPLOGFONTW} TLogFontW = LOGFONTW; {$IFDEF UNICODE} LOGFONT = LOGFONTW; {$EXTERNALSYM LOGFONT} PLOGFONT = PLOGFONTW; {$EXTERNALSYM PLOGFONT} NPLOGFONT = NPLOGFONTW; {$EXTERNALSYM NPLOGFONT} LPLOGFONT = LPLOGFONTW; {$EXTERNALSYM LPLOGFONT} TLogFont = TLogFontW; {$ELSE} LOGFONT = LOGFONTA; {$EXTERNALSYM LOGFONT} PLOGFONT = PLOGFONTA; {$EXTERNALSYM PLOGFONT} NPLOGFONT = NPLOGFONTA; {$EXTERNALSYM NPLOGFONT} LPLOGFONT = LPLOGFONTA; {$EXTERNALSYM LPLOGFONT} TLogFont = TLogFontA; {$ENDIF UNICODE} const LF_FULLFACESIZE = 64; {$EXTERNALSYM LF_FULLFACESIZE} // Structure passed to FONTENUMPROC type PEnumLogFontA = ^TEnumLogFontA; tagENUMLOGFONTA = record elfLogFont: LOGFONTA; elfFullName: array [ 0..LF_FULLFACESIZE - 1] of BYTE; elfStyle: array [0..LF_FACESIZE - 1] of BYTE; end; {$EXTERNALSYM tagENUMLOGFONTA} ENUMLOGFONTA = tagENUMLOGFONTA; {$EXTERNALSYM ENUMLOGFONTA} LPENUMLOGFONTA = ^ENUMLOGFONTA; {$EXTERNALSYM LPENUMLOGFONTA} TEnumLogFontA = ENUMLOGFONTA; // Structure passed to FONTENUMPROC PEnumLogFontW = ^TEnumLogFontW; tagENUMLOGFONTW = record elfLogFont: LOGFONTW; elfFullName: array [0..LF_FULLFACESIZE - 1] of WCHAR; elfStyle: array [0..LF_FACESIZE - 1] of WCHAR; end; {$EXTERNALSYM tagENUMLOGFONTW} ENUMLOGFONTW = tagENUMLOGFONTW; {$EXTERNALSYM ENUMLOGFONTW} LPENUMLOGFONTW = ^ENUMLOGFONTW; {$EXTERNALSYM LPENUMLOGFONTW} TEnumLogFontW = ENUMLOGFONTW; {$IFDEF UNICODE} ENUMLOGFONT = ENUMLOGFONTW; {$EXTERNALSYM ENUMLOGFONT} LPENUMLOGFONT = LPENUMLOGFONTW; {$EXTERNALSYM LPENUMLOGFONT} TEnumLogFont = TEnumLogFontW; PEnumLogFont = PEnumLogFontW; {$ELSE} ENUMLOGFONT = ENUMLOGFONTA; {$EXTERNALSYM ENUMLOGFONT} LPENUMLOGFONT = LPENUMLOGFONTA; {$EXTERNALSYM LPENUMLOGFONT} TEnumLogFont = TEnumLogFontA; PEnumLogFont = PEnumLogFontA; {$ENDIF UNICODE} PEnumLogFontExA = ^TEnumLogFontExA; tagENUMLOGFONTEXA = record elfLogFont: LOGFONTA; elfFullName: array [0..LF_FULLFACESIZE - 1] of BYTE; elfStyle: array [0..LF_FACESIZE - 1] of BYTE; elfScript: array [0..LF_FACESIZE - 1] of BYTE; end; {$EXTERNALSYM tagENUMLOGFONTEXA} ENUMLOGFONTEXA = tagENUMLOGFONTEXA; {$EXTERNALSYM ENUMLOGFONTEXA} LPENUMLOGFONTEXA = ^ENUMLOGFONTEXA; {$EXTERNALSYM LPENUMLOGFONTEXA} TEnumLogFontExA = ENUMLOGFONTEXA; PEnumLogFontExW = ^TEnumLogFontExW; tagENUMLOGFONTEXW = record elfLogFont: LOGFONTW; elfFullName: array [0..LF_FULLFACESIZE - 1] of WCHAR; elfStyle: array [0..LF_FACESIZE - 1] of WCHAR; elfScript: array [0..LF_FACESIZE - 1] of WCHAR; end; {$EXTERNALSYM tagENUMLOGFONTEXW} ENUMLOGFONTEXW = tagENUMLOGFONTEXW; {$EXTERNALSYM ENUMLOGFONTEXW} LPENUMLOGFONTEXW = ^ENUMLOGFONTEXW; {$EXTERNALSYM LPENUMLOGFONTEXW} TEnumLogFontExW = ENUMLOGFONTEXW; {$IFDEF UNICODE} ENUMLOGFONTEX = ENUMLOGFONTEXW; {$EXTERNALSYM ENUMLOGFONTEX} LPENUMLOGFONTEX = LPENUMLOGFONTEXW; {$EXTERNALSYM LPENUMLOGFONTEX} TEnumLogFontEx = TEnumLogFontExW; PEnumLogFontEx = PEnumLogFontExW; {$ELSE} ENUMLOGFONTEX = ENUMLOGFONTEXA; {$EXTERNALSYM ENUMLOGFONTEX} LPENUMLOGFONTEX = LPENUMLOGFONTEXA; {$EXTERNALSYM LPENUMLOGFONTEX} TEnumLogFontEx = TEnumLogFontExA; PEnumLogFontEx = PEnumLogFontExA; {$ENDIF UNICODE} const OUT_DEFAULT_PRECIS = 0; {$EXTERNALSYM OUT_DEFAULT_PRECIS} OUT_STRING_PRECIS = 1; {$EXTERNALSYM OUT_STRING_PRECIS} OUT_CHARACTER_PRECIS = 2; {$EXTERNALSYM OUT_CHARACTER_PRECIS} OUT_STROKE_PRECIS = 3; {$EXTERNALSYM OUT_STROKE_PRECIS} OUT_TT_PRECIS = 4; {$EXTERNALSYM OUT_TT_PRECIS} OUT_DEVICE_PRECIS = 5; {$EXTERNALSYM OUT_DEVICE_PRECIS} OUT_RASTER_PRECIS = 6; {$EXTERNALSYM OUT_RASTER_PRECIS} OUT_TT_ONLY_PRECIS = 7; {$EXTERNALSYM OUT_TT_ONLY_PRECIS} OUT_OUTLINE_PRECIS = 8; {$EXTERNALSYM OUT_OUTLINE_PRECIS} OUT_SCREEN_OUTLINE_PRECIS = 9; {$EXTERNALSYM OUT_SCREEN_OUTLINE_PRECIS} OUT_PS_ONLY_PRECIS = 10; {$EXTERNALSYM OUT_PS_ONLY_PRECIS} CLIP_DEFAULT_PRECIS = 0; {$EXTERNALSYM CLIP_DEFAULT_PRECIS} CLIP_CHARACTER_PRECIS = 1; {$EXTERNALSYM CLIP_CHARACTER_PRECIS} CLIP_STROKE_PRECIS = 2; {$EXTERNALSYM CLIP_STROKE_PRECIS} CLIP_MASK = $f; {$EXTERNALSYM CLIP_MASK} CLIP_LH_ANGLES = 1 shl 4; {$EXTERNALSYM CLIP_LH_ANGLES} CLIP_TT_ALWAYS = 2 shl 4; {$EXTERNALSYM CLIP_TT_ALWAYS} CLIP_DFA_DISABLE = 4 shl 4; {$EXTERNALSYM CLIP_DFA_DISABLE} CLIP_EMBEDDED = 8 shl 4; {$EXTERNALSYM CLIP_EMBEDDED} DEFAULT_QUALITY = 0; {$EXTERNALSYM DEFAULT_QUALITY} DRAFT_QUALITY = 1; {$EXTERNALSYM DRAFT_QUALITY} PROOF_QUALITY = 2; {$EXTERNALSYM PROOF_QUALITY} NONANTIALIASED_QUALITY = 3; {$EXTERNALSYM NONANTIALIASED_QUALITY} ANTIALIASED_QUALITY = 4; {$EXTERNALSYM ANTIALIASED_QUALITY} CLEARTYPE_QUALITY = 5; {$EXTERNALSYM CLEARTYPE_QUALITY} //#if (_WIN32_WINNT >= 0x0501) CLEARTYPE_NATURAL_QUALITY = 6; {$EXTERNALSYM CLEARTYPE_NATURAL_QUALITY} //#endif DEFAULT_PITCH = 0; {$EXTERNALSYM DEFAULT_PITCH} FIXED_PITCH = 1; {$EXTERNALSYM FIXED_PITCH} VARIABLE_PITCH = 2; {$EXTERNALSYM VARIABLE_PITCH} MONO_FONT = 8; {$EXTERNALSYM MONO_FONT} ANSI_CHARSET = 0; {$EXTERNALSYM ANSI_CHARSET} DEFAULT_CHARSET = 1; {$EXTERNALSYM DEFAULT_CHARSET} SYMBOL_CHARSET = 2; {$EXTERNALSYM SYMBOL_CHARSET} SHIFTJIS_CHARSET = 128; {$EXTERNALSYM SHIFTJIS_CHARSET} HANGEUL_CHARSET = 129; {$EXTERNALSYM HANGEUL_CHARSET} HANGUL_CHARSET = 129; {$EXTERNALSYM HANGUL_CHARSET} GB2312_CHARSET = 134; {$EXTERNALSYM GB2312_CHARSET} CHINESEBIG5_CHARSET = 136; {$EXTERNALSYM CHINESEBIG5_CHARSET} OEM_CHARSET = 255; {$EXTERNALSYM OEM_CHARSET} JOHAB_CHARSET = 130; {$EXTERNALSYM JOHAB_CHARSET} HEBREW_CHARSET = 177; {$EXTERNALSYM HEBREW_CHARSET} ARABIC_CHARSET = 178; {$EXTERNALSYM ARABIC_CHARSET} GREEK_CHARSET = 161; {$EXTERNALSYM GREEK_CHARSET} TURKISH_CHARSET = 162; {$EXTERNALSYM TURKISH_CHARSET} VIETNAMESE_CHARSET = 163; {$EXTERNALSYM VIETNAMESE_CHARSET} THAI_CHARSET = 222; {$EXTERNALSYM THAI_CHARSET} EASTEUROPE_CHARSET = 238; {$EXTERNALSYM EASTEUROPE_CHARSET} RUSSIAN_CHARSET = 204; {$EXTERNALSYM RUSSIAN_CHARSET} MAC_CHARSET = 77; {$EXTERNALSYM MAC_CHARSET} BALTIC_CHARSET = 186; {$EXTERNALSYM BALTIC_CHARSET} FS_LATIN1 = $00000001; {$EXTERNALSYM FS_LATIN1} FS_LATIN2 = $00000002; {$EXTERNALSYM FS_LATIN2} FS_CYRILLIC = $00000004; {$EXTERNALSYM FS_CYRILLIC} FS_GREEK = $00000008; {$EXTERNALSYM FS_GREEK} FS_TURKISH = $00000010; {$EXTERNALSYM FS_TURKISH} FS_HEBREW = $00000020; {$EXTERNALSYM FS_HEBREW} FS_ARABIC = $00000040; {$EXTERNALSYM FS_ARABIC} FS_BALTIC = $00000080; {$EXTERNALSYM FS_BALTIC} FS_VIETNAMESE = $00000100; {$EXTERNALSYM FS_VIETNAMESE} FS_THAI = $00010000; {$EXTERNALSYM FS_THAI} FS_JISJAPAN = $00020000; {$EXTERNALSYM FS_JISJAPAN} FS_CHINESESIMP = $00040000; {$EXTERNALSYM FS_CHINESESIMP} FS_WANSUNG = $00080000; {$EXTERNALSYM FS_WANSUNG} FS_CHINESETRAD = $00100000; {$EXTERNALSYM FS_CHINESETRAD} FS_JOHAB = $00200000; {$EXTERNALSYM FS_JOHAB} FS_SYMBOL = $80000000; {$EXTERNALSYM FS_SYMBOL} // Font Families FF_DONTCARE = 0 shl 4; // Don't care or don't know. {$EXTERNALSYM FF_DONTCARE} FF_ROMAN = 1 shl 4; // Variable stroke width, serifed. {$EXTERNALSYM FF_ROMAN} // Times Roman, Century Schoolbook, etc. FF_SWISS = 2 shl 4; // Variable stroke width, sans-serifed. {$EXTERNALSYM FF_SWISS} // Helvetica, Swiss, etc. FF_MODERN = 3 shl 4; // Constant stroke width, serifed or sans-serifed. {$EXTERNALSYM FF_MODERN} // Pica, Elite, Courier, etc. FF_SCRIPT = 4 shl 4; // Cursive, etc. {$EXTERNALSYM FF_SCRIPT} FF_DECORATIVE = 5 shl 4; // Old English, etc. {$EXTERNALSYM FF_DECORATIVE} // Font Weights FW_DONTCARE = 0; {$EXTERNALSYM FW_DONTCARE} FW_THIN = 100; {$EXTERNALSYM FW_THIN} FW_EXTRALIGHT = 200; {$EXTERNALSYM FW_EXTRALIGHT} FW_LIGHT = 300; {$EXTERNALSYM FW_LIGHT} FW_NORMAL = 400; {$EXTERNALSYM FW_NORMAL} FW_MEDIUM = 500; {$EXTERNALSYM FW_MEDIUM} FW_SEMIBOLD = 600; {$EXTERNALSYM FW_SEMIBOLD} FW_BOLD = 700; {$EXTERNALSYM FW_BOLD} FW_EXTRABOLD = 800; {$EXTERNALSYM FW_EXTRABOLD} FW_HEAVY = 900; {$EXTERNALSYM FW_HEAVY} FW_ULTRALIGHT = FW_EXTRALIGHT; {$EXTERNALSYM FW_ULTRALIGHT} FW_REGULAR = FW_NORMAL; {$EXTERNALSYM FW_REGULAR} FW_DEMIBOLD = FW_SEMIBOLD; {$EXTERNALSYM FW_DEMIBOLD} FW_ULTRABOLD = FW_EXTRABOLD; {$EXTERNALSYM FW_ULTRABOLD} FW_BLACK = FW_HEAVY; {$EXTERNALSYM FW_BLACK} PANOSE_COUNT = 10; {$EXTERNALSYM PANOSE_COUNT} PAN_FAMILYTYPE_INDEX = 0; {$EXTERNALSYM PAN_FAMILYTYPE_INDEX} PAN_SERIFSTYLE_INDEX = 1; {$EXTERNALSYM PAN_SERIFSTYLE_INDEX} PAN_WEIGHT_INDEX = 2; {$EXTERNALSYM PAN_WEIGHT_INDEX} PAN_PROPORTION_INDEX = 3; {$EXTERNALSYM PAN_PROPORTION_INDEX} PAN_CONTRAST_INDEX = 4; {$EXTERNALSYM PAN_CONTRAST_INDEX} PAN_STROKEVARIATION_INDEX = 5; {$EXTERNALSYM PAN_STROKEVARIATION_INDEX} PAN_ARMSTYLE_INDEX = 6; {$EXTERNALSYM PAN_ARMSTYLE_INDEX} PAN_LETTERFORM_INDEX = 7; {$EXTERNALSYM PAN_LETTERFORM_INDEX} PAN_MIDLINE_INDEX = 8; {$EXTERNALSYM PAN_MIDLINE_INDEX} PAN_XHEIGHT_INDEX = 9; {$EXTERNALSYM PAN_XHEIGHT_INDEX} PAN_CULTURE_LATIN = 0; {$EXTERNALSYM PAN_CULTURE_LATIN} type PPanose = ^TPanose; tagPANOSE = record bFamilyType: BYTE; bSerifStyle: BYTE; bWeight: BYTE; bProportion: BYTE; bContrast: BYTE; bStrokeVariation: BYTE; bArmStyle: BYTE; bLetterform: BYTE; bMidline: BYTE; bXHeight: BYTE; end; {$EXTERNALSYM tagPANOSE} PANOSE = tagPANOSE; {$EXTERNALSYM PANOSE} LPPANOSE = ^PANOSE; {$EXTERNALSYM LPPANOSE} TPanose = PANOSE; const PAN_ANY = 0; // Any {$EXTERNALSYM PAN_ANY} PAN_NO_FIT = 1; // No Fit {$EXTERNALSYM PAN_NO_FIT} PAN_FAMILY_TEXT_DISPLAY = 2; // Text and Display {$EXTERNALSYM PAN_FAMILY_TEXT_DISPLAY} PAN_FAMILY_SCRIPT = 3; // Script {$EXTERNALSYM PAN_FAMILY_SCRIPT} PAN_FAMILY_DECORATIVE = 4; // Decorative {$EXTERNALSYM PAN_FAMILY_DECORATIVE} PAN_FAMILY_PICTORIAL = 5; // Pictorial {$EXTERNALSYM PAN_FAMILY_PICTORIAL} PAN_SERIF_COVE = 2; // Cove {$EXTERNALSYM PAN_SERIF_COVE} PAN_SERIF_OBTUSE_COVE = 3; // Obtuse Cove {$EXTERNALSYM PAN_SERIF_OBTUSE_COVE} PAN_SERIF_SQUARE_COVE = 4; // Square Cove {$EXTERNALSYM PAN_SERIF_SQUARE_COVE} PAN_SERIF_OBTUSE_SQUARE_COVE = 5; // Obtuse Square Cove {$EXTERNALSYM PAN_SERIF_OBTUSE_SQUARE_COVE} PAN_SERIF_SQUARE = 6; // Square {$EXTERNALSYM PAN_SERIF_SQUARE} PAN_SERIF_THIN = 7; // Thin {$EXTERNALSYM PAN_SERIF_THIN} PAN_SERIF_BONE = 8; // Bone {$EXTERNALSYM PAN_SERIF_BONE} PAN_SERIF_EXAGGERATED = 9; // Exaggerated {$EXTERNALSYM PAN_SERIF_EXAGGERATED} PAN_SERIF_TRIANGLE = 10; // Triangle {$EXTERNALSYM PAN_SERIF_TRIANGLE} PAN_SERIF_NORMAL_SANS = 11; // Normal Sans {$EXTERNALSYM PAN_SERIF_NORMAL_SANS} PAN_SERIF_OBTUSE_SANS = 12; // Obtuse Sans {$EXTERNALSYM PAN_SERIF_OBTUSE_SANS} PAN_SERIF_PERP_SANS = 13; // Prep Sans {$EXTERNALSYM PAN_SERIF_PERP_SANS} PAN_SERIF_FLARED = 14; // Flared {$EXTERNALSYM PAN_SERIF_FLARED} PAN_SERIF_ROUNDED = 15; // Rounded {$EXTERNALSYM PAN_SERIF_ROUNDED} PAN_WEIGHT_VERY_LIGHT = 2; // Very Light {$EXTERNALSYM PAN_WEIGHT_VERY_LIGHT} PAN_WEIGHT_LIGHT = 3; // Light {$EXTERNALSYM PAN_WEIGHT_LIGHT} PAN_WEIGHT_THIN = 4; // Thin {$EXTERNALSYM PAN_WEIGHT_THIN} PAN_WEIGHT_BOOK = 5; // Book {$EXTERNALSYM PAN_WEIGHT_BOOK} PAN_WEIGHT_MEDIUM = 6; // Medium {$EXTERNALSYM PAN_WEIGHT_MEDIUM} PAN_WEIGHT_DEMI = 7; // Demi {$EXTERNALSYM PAN_WEIGHT_DEMI} PAN_WEIGHT_BOLD = 8; // Bold {$EXTERNALSYM PAN_WEIGHT_BOLD} PAN_WEIGHT_HEAVY = 9; // Heavy {$EXTERNALSYM PAN_WEIGHT_HEAVY} PAN_WEIGHT_BLACK = 10; // Black {$EXTERNALSYM PAN_WEIGHT_BLACK} PAN_WEIGHT_NORD = 11; // Nord {$EXTERNALSYM PAN_WEIGHT_NORD} PAN_PROP_OLD_STYLE = 2; // Old Style {$EXTERNALSYM PAN_PROP_OLD_STYLE} PAN_PROP_MODERN = 3; // Modern {$EXTERNALSYM PAN_PROP_MODERN} PAN_PROP_EVEN_WIDTH = 4; // Even Width {$EXTERNALSYM PAN_PROP_EVEN_WIDTH} PAN_PROP_EXPANDED = 5; // Expanded {$EXTERNALSYM PAN_PROP_EXPANDED} PAN_PROP_CONDENSED = 6; // Condensed {$EXTERNALSYM PAN_PROP_CONDENSED} PAN_PROP_VERY_EXPANDED = 7; // Very Expanded {$EXTERNALSYM PAN_PROP_VERY_EXPANDED} PAN_PROP_VERY_CONDENSED = 8; // Very Condensed {$EXTERNALSYM PAN_PROP_VERY_CONDENSED} PAN_PROP_MONOSPACED = 9; // Monospaced {$EXTERNALSYM PAN_PROP_MONOSPACED} PAN_CONTRAST_NONE = 2; // None {$EXTERNALSYM PAN_CONTRAST_NONE} PAN_CONTRAST_VERY_LOW = 3; // Very Low {$EXTERNALSYM PAN_CONTRAST_VERY_LOW} PAN_CONTRAST_LOW = 4; // Low {$EXTERNALSYM PAN_CONTRAST_LOW} PAN_CONTRAST_MEDIUM_LOW = 5; // Medium Low {$EXTERNALSYM PAN_CONTRAST_MEDIUM_LOW} PAN_CONTRAST_MEDIUM = 6; // Medium {$EXTERNALSYM PAN_CONTRAST_MEDIUM} PAN_CONTRAST_MEDIUM_HIGH = 7; // Mediim High {$EXTERNALSYM PAN_CONTRAST_MEDIUM_HIGH} PAN_CONTRAST_HIGH = 8; // High {$EXTERNALSYM PAN_CONTRAST_HIGH} PAN_CONTRAST_VERY_HIGH = 9; // Very High {$EXTERNALSYM PAN_CONTRAST_VERY_HIGH} PAN_STROKE_GRADUAL_DIAG = 2; // Gradual/Diagonal {$EXTERNALSYM PAN_STROKE_GRADUAL_DIAG} PAN_STROKE_GRADUAL_TRAN = 3; // Gradual/Transitional {$EXTERNALSYM PAN_STROKE_GRADUAL_TRAN} PAN_STROKE_GRADUAL_VERT = 4; // Gradual/Vertical {$EXTERNALSYM PAN_STROKE_GRADUAL_VERT} PAN_STROKE_GRADUAL_HORZ = 5; // Gradual/Horizontal {$EXTERNALSYM PAN_STROKE_GRADUAL_HORZ} PAN_STROKE_RAPID_VERT = 6; // Rapid/Vertical {$EXTERNALSYM PAN_STROKE_RAPID_VERT} PAN_STROKE_RAPID_HORZ = 7; // Rapid/Horizontal {$EXTERNALSYM PAN_STROKE_RAPID_HORZ} PAN_STROKE_INSTANT_VERT = 8; // Instant/Vertical {$EXTERNALSYM PAN_STROKE_INSTANT_VERT} PAN_STRAIGHT_ARMS_HORZ = 2; // Straight Arms/Horizontal {$EXTERNALSYM PAN_STRAIGHT_ARMS_HORZ} PAN_STRAIGHT_ARMS_WEDGE = 3; // Straight Arms/Wedge {$EXTERNALSYM PAN_STRAIGHT_ARMS_WEDGE} PAN_STRAIGHT_ARMS_VERT = 4; // Straight Arms/Vertical {$EXTERNALSYM PAN_STRAIGHT_ARMS_VERT} PAN_STRAIGHT_ARMS_SINGLE_SERIF = 5; // Straight Arms/Single-Serif {$EXTERNALSYM PAN_STRAIGHT_ARMS_SINGLE_SERIF} PAN_STRAIGHT_ARMS_DOUBLE_SERIF = 6; // Straight Arms/Double-Serif {$EXTERNALSYM PAN_STRAIGHT_ARMS_DOUBLE_SERIF} PAN_BENT_ARMS_HORZ = 7; // Non-Straight Arms/Horizontal {$EXTERNALSYM PAN_BENT_ARMS_HORZ} PAN_BENT_ARMS_WEDGE = 8; // Non-Straight Arms/Wedge {$EXTERNALSYM PAN_BENT_ARMS_WEDGE} PAN_BENT_ARMS_VERT = 9; // Non-Straight Arms/Vertical {$EXTERNALSYM PAN_BENT_ARMS_VERT} PAN_BENT_ARMS_SINGLE_SERIF = 10; // Non-Straight Arms/Single-Serif {$EXTERNALSYM PAN_BENT_ARMS_SINGLE_SERIF} PAN_BENT_ARMS_DOUBLE_SERIF = 11; // Non-Straight Arms/Double-Serif {$EXTERNALSYM PAN_BENT_ARMS_DOUBLE_SERIF} PAN_LETT_NORMAL_CONTACT = 2; // Normal/Contact {$EXTERNALSYM PAN_LETT_NORMAL_CONTACT} PAN_LETT_NORMAL_WEIGHTED = 3; // Normal/Weighted {$EXTERNALSYM PAN_LETT_NORMAL_WEIGHTED} PAN_LETT_NORMAL_BOXED = 4; // Normal/Boxed {$EXTERNALSYM PAN_LETT_NORMAL_BOXED} PAN_LETT_NORMAL_FLATTENED = 5; // Normal/Flattened {$EXTERNALSYM PAN_LETT_NORMAL_FLATTENED} PAN_LETT_NORMAL_ROUNDED = 6; // Normal/Rounded {$EXTERNALSYM PAN_LETT_NORMAL_ROUNDED} PAN_LETT_NORMAL_OFF_CENTER = 7; // Normal/Off Center {$EXTERNALSYM PAN_LETT_NORMAL_OFF_CENTER} PAN_LETT_NORMAL_SQUARE = 8; // Normal/Square {$EXTERNALSYM PAN_LETT_NORMAL_SQUARE} PAN_LETT_OBLIQUE_CONTACT = 9; // Oblique/Contact {$EXTERNALSYM PAN_LETT_OBLIQUE_CONTACT} PAN_LETT_OBLIQUE_WEIGHTED = 10; // Oblique/Weighted {$EXTERNALSYM PAN_LETT_OBLIQUE_WEIGHTED} PAN_LETT_OBLIQUE_BOXED = 11; // Oblique/Boxed {$EXTERNALSYM PAN_LETT_OBLIQUE_BOXED} PAN_LETT_OBLIQUE_FLATTENED = 12; // Oblique/Flattened {$EXTERNALSYM PAN_LETT_OBLIQUE_FLATTENED} PAN_LETT_OBLIQUE_ROUNDED = 13; // Oblique/Rounded {$EXTERNALSYM PAN_LETT_OBLIQUE_ROUNDED} PAN_LETT_OBLIQUE_OFF_CENTER = 14; // Oblique/Off Center {$EXTERNALSYM PAN_LETT_OBLIQUE_OFF_CENTER} PAN_LETT_OBLIQUE_SQUARE = 15; // Oblique/Square {$EXTERNALSYM PAN_LETT_OBLIQUE_SQUARE} PAN_MIDLINE_STANDARD_TRIMMED = 2; // Standard/Trimmed {$EXTERNALSYM PAN_MIDLINE_STANDARD_TRIMMED} PAN_MIDLINE_STANDARD_POINTED = 3; // Standard/Pointed {$EXTERNALSYM PAN_MIDLINE_STANDARD_POINTED} PAN_MIDLINE_STANDARD_SERIFED = 4; // Standard/Serifed {$EXTERNALSYM PAN_MIDLINE_STANDARD_SERIFED} PAN_MIDLINE_HIGH_TRIMMED = 5; // High/Trimmed {$EXTERNALSYM PAN_MIDLINE_HIGH_TRIMMED} PAN_MIDLINE_HIGH_POINTED = 6; // High/Pointed {$EXTERNALSYM PAN_MIDLINE_HIGH_POINTED} PAN_MIDLINE_HIGH_SERIFED = 7; // High/Serifed {$EXTERNALSYM PAN_MIDLINE_HIGH_SERIFED} PAN_MIDLINE_CONSTANT_TRIMMED = 8; // Constant/Trimmed {$EXTERNALSYM PAN_MIDLINE_CONSTANT_TRIMMED} PAN_MIDLINE_CONSTANT_POINTED = 9; // Constant/Pointed {$EXTERNALSYM PAN_MIDLINE_CONSTANT_POINTED} PAN_MIDLINE_CONSTANT_SERIFED = 10; // Constant/Serifed {$EXTERNALSYM PAN_MIDLINE_CONSTANT_SERIFED} PAN_MIDLINE_LOW_TRIMMED = 11; // Low/Trimmed {$EXTERNALSYM PAN_MIDLINE_LOW_TRIMMED} PAN_MIDLINE_LOW_POINTED = 12; // Low/Pointed {$EXTERNALSYM PAN_MIDLINE_LOW_POINTED} PAN_MIDLINE_LOW_SERIFED = 13; // Low/Serifed {$EXTERNALSYM PAN_MIDLINE_LOW_SERIFED} PAN_XHEIGHT_CONSTANT_SMALL = 2; // Constant/Small {$EXTERNALSYM PAN_XHEIGHT_CONSTANT_SMALL} PAN_XHEIGHT_CONSTANT_STD = 3; // Constant/Standard {$EXTERNALSYM PAN_XHEIGHT_CONSTANT_STD} PAN_XHEIGHT_CONSTANT_LARGE = 4; // Constant/Large {$EXTERNALSYM PAN_XHEIGHT_CONSTANT_LARGE} PAN_XHEIGHT_DUCKING_SMALL = 5; // Ducking/Small {$EXTERNALSYM PAN_XHEIGHT_DUCKING_SMALL} PAN_XHEIGHT_DUCKING_STD = 6; // Ducking/Standard {$EXTERNALSYM PAN_XHEIGHT_DUCKING_STD} PAN_XHEIGHT_DUCKING_LARGE = 7; // Ducking/Large {$EXTERNALSYM PAN_XHEIGHT_DUCKING_LARGE} ELF_VENDOR_SIZE = 4; {$EXTERNALSYM ELF_VENDOR_SIZE} // The extended logical font // An extension of the ENUMLOGFONT type PExtLogFontA = ^TExtLogFontA; tagEXTLOGFONTA = record elfLogFont: LOGFONTA; elfFullName: array [0..LF_FULLFACESIZE - 1] of BYTE; elfStyle: array [0..LF_FACESIZE - 1] of BYTE; elfVersion: DWORD; elfStyleSize: DWORD; elfMatch: DWORD; elfReserved: DWORD; elfVendorId: array [0..ELF_VENDOR_SIZE - 1] of BYTE; elfCulture: DWORD; elfPanose: PANOSE; end; {$EXTERNALSYM tagEXTLOGFONTA} EXTLOGFONTA = tagEXTLOGFONTA; {$EXTERNALSYM EXTLOGFONTA} LPEXTLOGFONTA = ^EXTLOGFONTA; {$EXTERNALSYM LPEXTLOGFONTA} NPEXTLOGFONTA = ^EXTLOGFONTA; {$EXTERNALSYM NPEXTLOGFONTA} TExtLogFontA = EXTLOGFONTA; PExtLogFontW = ^TExtLogFontW; tagEXTLOGFONTW = record elfLogFont: LOGFONTW; elfFullName: array [0..LF_FULLFACESIZE - 1] of WCHAR; elfStyle: array [0..LF_FACESIZE - 1] of WCHAR; elfVersion: DWORD; elfStyleSize: DWORD; elfMatch: DWORD; elfReserved: DWORD; elfVendorId: array [0..ELF_VENDOR_SIZE - 1] of BYTE; elfCulture: DWORD; elfPanose: PANOSE; end; {$EXTERNALSYM tagEXTLOGFONTW} EXTLOGFONTW = tagEXTLOGFONTW; {$EXTERNALSYM EXTLOGFONTW} LPEXTLOGFONTW = ^EXTLOGFONTW; {$EXTERNALSYM LPEXTLOGFONTW} NPEXTLOGFONTW = ^EXTLOGFONTW; {$EXTERNALSYM NPEXTLOGFONTW} TExtLogFontW = EXTLOGFONTW; {$IFDEF UNICODE} EXTLOGFONT = EXTLOGFONTW; {$EXTERNALSYM EXTLOGFONT} PEXTLOGFONT = PEXTLOGFONTW; {$EXTERNALSYM PEXTLOGFONT} NPEXTLOGFONT = NPEXTLOGFONTW; {$EXTERNALSYM NPEXTLOGFONT} LPEXTLOGFONT = LPEXTLOGFONTW; {$EXTERNALSYM LPEXTLOGFONT} TExtLogFont = TExtLogFontW; {$ELSE} EXTLOGFONT = EXTLOGFONTA; {$EXTERNALSYM EXTLOGFONT} PEXTLOGFONT = PEXTLOGFONTA; {$EXTERNALSYM PEXTLOGFONT} NPEXTLOGFONT = NPEXTLOGFONTA; {$EXTERNALSYM NPEXTLOGFONT} LPEXTLOGFONT = LPEXTLOGFONTA; {$EXTERNALSYM LPEXTLOGFONT} TExtLogFont = TExtLogFontA; {$ENDIF UNICODE} const ELF_VERSION = 0; {$EXTERNALSYM ELF_VERSION} ELF_CULTURE_LATIN = 0; {$EXTERNALSYM ELF_CULTURE_LATIN} // EnumFonts Masks RASTER_FONTTYPE = $0001; {$EXTERNALSYM RASTER_FONTTYPE} DEVICE_FONTTYPE = $002; {$EXTERNALSYM DEVICE_FONTTYPE} TRUETYPE_FONTTYPE = $004; {$EXTERNALSYM TRUETYPE_FONTTYPE} function RGB(r, g, b: BYTE): COLORREF; {$EXTERNALSYM RGB} function PALETTERGB(r, g, b: BYTE): COLORREF; {$EXTERNALSYM PALETTERGB} function PALETTEINDEX(i: WORD): COLORREF; {$EXTERNALSYM PALETTEINDEX} // palette entry flags const PC_RESERVED = $01; // palette index used for animation {$EXTERNALSYM PC_RESERVED} PC_EXPLICIT = $02; // palette index is explicit to device {$EXTERNALSYM PC_EXPLICIT} PC_NOCOLLAPSE = $04; // do not match color to system palette {$EXTERNALSYM PC_NOCOLLAPSE} function GetRValue(rgb: COLORREF): BYTE; {$EXTERNALSYM GetRValue} function GetGValue(rgb: COLORREF): BYTE; {$EXTERNALSYM GetGValue} function GetBValue(rgb: COLORREF): BYTE; {$EXTERNALSYM GetBValue} // Background Modes const TRANSPARENT = 1; {$EXTERNALSYM TRANSPARENT} OPAQUE = 2; {$EXTERNALSYM OPAQUE} BKMODE_LAST = 2; {$EXTERNALSYM BKMODE_LAST} // Graphics Modes GM_COMPATIBLE = 1; {$EXTERNALSYM GM_COMPATIBLE} GM_ADVANCED = 2; {$EXTERNALSYM GM_ADVANCED} GM_LAST = 2; {$EXTERNALSYM GM_LAST} // PolyDraw and GetPath point types PT_CLOSEFIGURE = $01; {$EXTERNALSYM PT_CLOSEFIGURE} PT_LINETO = $02; {$EXTERNALSYM PT_LINETO} PT_BEZIERTO = $04; {$EXTERNALSYM PT_BEZIERTO} PT_MOVETO = $06; {$EXTERNALSYM PT_MOVETO} // Mapping Modes MM_TEXT = 1; {$EXTERNALSYM MM_TEXT} MM_LOMETRIC = 2; {$EXTERNALSYM MM_LOMETRIC} MM_HIMETRIC = 3; {$EXTERNALSYM MM_HIMETRIC} MM_LOENGLISH = 4; {$EXTERNALSYM MM_LOENGLISH} MM_HIENGLISH = 5; {$EXTERNALSYM MM_HIENGLISH} MM_TWIPS = 6; {$EXTERNALSYM MM_TWIPS} MM_ISOTROPIC = 7; {$EXTERNALSYM MM_ISOTROPIC} MM_ANISOTROPIC = 8; {$EXTERNALSYM MM_ANISOTROPIC} // Min and Max Mapping Mode values MM_MIN = MM_TEXT; {$EXTERNALSYM MM_MIN} MM_MAX = MM_ANISOTROPIC; {$EXTERNALSYM MM_MAX} MM_MAX_FIXEDSCALE = MM_TWIPS; {$EXTERNALSYM MM_MAX_FIXEDSCALE} // Coordinate Modes ABSOLUTE = 1; {$EXTERNALSYM ABSOLUTE} RELATIVE = 2; {$EXTERNALSYM RELATIVE} // Stock Logical Objects WHITE_BRUSH = 0; {$EXTERNALSYM WHITE_BRUSH} LTGRAY_BRUSH = 1; {$EXTERNALSYM LTGRAY_BRUSH} GRAY_BRUSH = 2; {$EXTERNALSYM GRAY_BRUSH} DKGRAY_BRUSH = 3; {$EXTERNALSYM DKGRAY_BRUSH} BLACK_BRUSH = 4; {$EXTERNALSYM BLACK_BRUSH} NULL_BRUSH = 5; {$EXTERNALSYM NULL_BRUSH} HOLLOW_BRUSH = NULL_BRUSH; {$EXTERNALSYM HOLLOW_BRUSH} WHITE_PEN = 6; {$EXTERNALSYM WHITE_PEN} BLACK_PEN = 7; {$EXTERNALSYM BLACK_PEN} NULL_PEN = 8; {$EXTERNALSYM NULL_PEN} OEM_FIXED_FONT = 10; {$EXTERNALSYM OEM_FIXED_FONT} ANSI_FIXED_FONT = 11; {$EXTERNALSYM ANSI_FIXED_FONT} ANSI_VAR_FONT = 12; {$EXTERNALSYM ANSI_VAR_FONT} SYSTEM_FONT = 13; {$EXTERNALSYM SYSTEM_FONT} DEVICE_DEFAULT_FONT = 14; {$EXTERNALSYM DEVICE_DEFAULT_FONT} DEFAULT_PALETTE = 15; {$EXTERNALSYM DEFAULT_PALETTE} SYSTEM_FIXED_FONT = 16; {$EXTERNALSYM SYSTEM_FIXED_FONT} DEFAULT_GUI_FONT = 17; {$EXTERNALSYM DEFAULT_GUI_FONT} DC_BRUSH = 18; {$EXTERNALSYM DC_BRUSH} DC_PEN = 19; {$EXTERNALSYM DC_PEN} {$IFDEF WIN2000_UP} STOCK_LAST = 19; {$EXTERNALSYM STOCK_LAST} {$ELSE} {$IFDEF WIN95_UP} STOCK_LAST = 17; {$EXTERNALSYM STOCK_LAST} {$ELSE} STOCK_LAST = 16; {$EXTERNALSYM STOCK_LAST} {$ENDIF WIN95_UP} {$ENDIF WIN2000_UP} CLR_INVALID = DWORD($FFFFFFFF); {$EXTERNALSYM CLR_INVALID} // Brush Styles BS_SOLID = 0; {$EXTERNALSYM BS_SOLID} BS_NULL = 1; {$EXTERNALSYM BS_NULL} BS_HOLLOW = BS_NULL; {$EXTERNALSYM BS_HOLLOW} BS_HATCHED = 2; {$EXTERNALSYM BS_HATCHED} BS_PATTERN = 3; {$EXTERNALSYM BS_PATTERN} BS_INDEXED = 4; {$EXTERNALSYM BS_INDEXED} BS_DIBPATTERN = 5; {$EXTERNALSYM BS_DIBPATTERN} BS_DIBPATTERNPT = 6; {$EXTERNALSYM BS_DIBPATTERNPT} BS_PATTERN8X8 = 7; {$EXTERNALSYM BS_PATTERN8X8} BS_DIBPATTERN8X8 = 8; {$EXTERNALSYM BS_DIBPATTERN8X8} BS_MONOPATTERN = 9; {$EXTERNALSYM BS_MONOPATTERN} // Hatch Styles HS_HORIZONTAL = 0; // ----- {$EXTERNALSYM HS_HORIZONTAL} HS_VERTICAL = 1; // ||||| {$EXTERNALSYM HS_VERTICAL} HS_FDIAGONAL = 2; // \\\\\ {$EXTERNALSYM HS_FDIAGONAL} HS_BDIAGONAL = 3; // ///// {$EXTERNALSYM HS_BDIAGONAL} HS_CROSS = 4; // +++++ {$EXTERNALSYM HS_CROSS} HS_DIAGCROSS = 5; // xxxxx {$EXTERNALSYM HS_DIAGCROSS} // Pen Styles PS_SOLID = 0; {$EXTERNALSYM PS_SOLID} PS_DASH = 1; // ------- {$EXTERNALSYM PS_DASH} PS_DOT = 2; // ....... {$EXTERNALSYM PS_DOT} PS_DASHDOT = 3; // _._._._ {$EXTERNALSYM PS_DASHDOT} PS_DASHDOTDOT = 4; // _.._.._ {$EXTERNALSYM PS_DASHDOTDOT} PS_NULL = 5; {$EXTERNALSYM PS_NULL} PS_INSIDEFRAME = 6; {$EXTERNALSYM PS_INSIDEFRAME} PS_USERSTYLE = 7; {$EXTERNALSYM PS_USERSTYLE} PS_ALTERNATE = 8; {$EXTERNALSYM PS_ALTERNATE} PS_STYLE_MASK = $0000000F; {$EXTERNALSYM PS_STYLE_MASK} PS_ENDCAP_ROUND = $00000000; {$EXTERNALSYM PS_ENDCAP_ROUND} PS_ENDCAP_SQUARE = $00000100; {$EXTERNALSYM PS_ENDCAP_SQUARE} PS_ENDCAP_FLAT = $00000200; {$EXTERNALSYM PS_ENDCAP_FLAT} PS_ENDCAP_MASK = $00000F00; {$EXTERNALSYM PS_ENDCAP_MASK} PS_JOIN_ROUND = $00000000; {$EXTERNALSYM PS_JOIN_ROUND} PS_JOIN_BEVEL = $00001000; {$EXTERNALSYM PS_JOIN_BEVEL} PS_JOIN_MITER = $00002000; {$EXTERNALSYM PS_JOIN_MITER} PS_JOIN_MASK = $0000F000; {$EXTERNALSYM PS_JOIN_MASK} PS_COSMETIC = $00000000; {$EXTERNALSYM PS_COSMETIC} PS_GEOMETRIC = $00010000; {$EXTERNALSYM PS_GEOMETRIC} PS_TYPE_MASK = $000F0000; {$EXTERNALSYM PS_TYPE_MASK} AD_COUNTERCLOCKWISE = 1; {$EXTERNALSYM AD_COUNTERCLOCKWISE} AD_CLOCKWISE = 2; {$EXTERNALSYM AD_CLOCKWISE} // Device Parameters for GetDeviceCaps() DRIVERVERSION = 0; // Device driver version {$EXTERNALSYM DRIVERVERSION} TECHNOLOGY = 2; // Device classification {$EXTERNALSYM TECHNOLOGY} HORZSIZE = 4; // Horizontal size in millimeters {$EXTERNALSYM HORZSIZE} VERTSIZE = 6; // Vertical size in millimeters {$EXTERNALSYM VERTSIZE} HORZRES = 8; // Horizontal width in pixels {$EXTERNALSYM HORZRES} VERTRES = 10; // Vertical height in pixels {$EXTERNALSYM VERTRES} BITSPIXEL = 12; // Number of bits per pixel {$EXTERNALSYM BITSPIXEL} PLANES = 14; // Number of planes {$EXTERNALSYM PLANES} NUMBRUSHES = 16; // Number of brushes the device has {$EXTERNALSYM NUMBRUSHES} NUMPENS = 18; // Number of pens the device has {$EXTERNALSYM NUMPENS} NUMMARKERS = 20; // Number of markers the device has {$EXTERNALSYM NUMMARKERS} NUMFONTS = 22; // Number of fonts the device has {$EXTERNALSYM NUMFONTS} NUMCOLORS = 24; // Number of colors the device supports {$EXTERNALSYM NUMCOLORS} PDEVICESIZE = 26; // Size required for device descriptor {$EXTERNALSYM PDEVICESIZE} CURVECAPS = 28; // Curve capabilities {$EXTERNALSYM CURVECAPS} LINECAPS = 30; // Line capabilities {$EXTERNALSYM LINECAPS} POLYGONALCAPS = 32; // Polygonal capabilities {$EXTERNALSYM POLYGONALCAPS} TEXTCAPS = 34; // Text capabilities {$EXTERNALSYM TEXTCAPS} CLIPCAPS = 36; // Clipping capabilities {$EXTERNALSYM CLIPCAPS} RASTERCAPS = 38; // Bitblt capabilities {$EXTERNALSYM RASTERCAPS} ASPECTX = 40; // Length of the X leg {$EXTERNALSYM ASPECTX} ASPECTY = 42; // Length of the Y leg {$EXTERNALSYM ASPECTY} ASPECTXY = 44; // Length of the hypotenuse {$EXTERNALSYM ASPECTXY} LOGPIXELSX = 88; // Logical pixels/inch in X {$EXTERNALSYM LOGPIXELSX} LOGPIXELSY = 90; // Logical pixels/inch in Y {$EXTERNALSYM LOGPIXELSY} SIZEPALETTE = 104; // Number of entries in physical palette {$EXTERNALSYM SIZEPALETTE} NUMRESERVED = 106; // Number of reserved entries in palette {$EXTERNALSYM NUMRESERVED} COLORRES = 108; // Actual color resolution {$EXTERNALSYM COLORRES} // Printing related DeviceCaps. These replace the appropriate Escapes PHYSICALWIDTH = 110; // Physical Width in device units {$EXTERNALSYM PHYSICALWIDTH} PHYSICALHEIGHT = 111; // Physical Height in device units {$EXTERNALSYM PHYSICALHEIGHT} PHYSICALOFFSETX = 112; // Physical Printable Area x margin {$EXTERNALSYM PHYSICALOFFSETX} PHYSICALOFFSETY = 113; // Physical Printable Area y margin {$EXTERNALSYM PHYSICALOFFSETY} SCALINGFACTORX = 114; // Scaling factor x {$EXTERNALSYM SCALINGFACTORX} SCALINGFACTORY = 115; // Scaling factor y {$EXTERNALSYM SCALINGFACTORY} // Display driver specific VREFRESH = 116; // Current vertical refresh rate of the {$EXTERNALSYM VREFRESH} // display device (for displays only) in Hz DESKTOPVERTRES = 117; // Horizontal width of entire desktop in {$EXTERNALSYM DESKTOPVERTRES} // pixels DESKTOPHORZRES = 118; // Vertical height of entire desktop in {$EXTERNALSYM DESKTOPHORZRES} // pixels BLTALIGNMENT = 119; // Preferred blt alignment {$EXTERNALSYM BLTALIGNMENT} SHADEBLENDCAPS = 120; // Shading and blending caps {$EXTERNALSYM SHADEBLENDCAPS} COLORMGMTCAPS = 121; // Color Management caps {$EXTERNALSYM COLORMGMTCAPS} // Device Capability Masks: // Device Technologies DT_PLOTTER = 0; // Vector plotter {$EXTERNALSYM DT_PLOTTER} DT_RASDISPLAY = 1; // Raster display {$EXTERNALSYM DT_RASDISPLAY} DT_RASPRINTER = 2; // Raster printer {$EXTERNALSYM DT_RASPRINTER} DT_RASCAMERA = 3; // Raster camera {$EXTERNALSYM DT_RASCAMERA} DT_CHARSTREAM = 4; // Character-stream, PLP {$EXTERNALSYM DT_CHARSTREAM} DT_METAFILE = 5; // Metafile, VDM {$EXTERNALSYM DT_METAFILE} DT_DISPFILE = 6; // Display-file {$EXTERNALSYM DT_DISPFILE} // Curve Capabilities CC_NONE = 0; // Curves not supported {$EXTERNALSYM CC_NONE} CC_CIRCLES = 1; // Can do circles {$EXTERNALSYM CC_CIRCLES} CC_PIE = 2; // Can do pie wedges {$EXTERNALSYM CC_PIE} CC_CHORD = 4; // Can do chord arcs {$EXTERNALSYM CC_CHORD} CC_ELLIPSES = 8; // Can do ellipese {$EXTERNALSYM CC_ELLIPSES} CC_WIDE = 16; // Can do wide lines {$EXTERNALSYM CC_WIDE} CC_STYLED = 32; // Can do styled lines {$EXTERNALSYM CC_STYLED} CC_WIDESTYLED = 64; // Can do wide styled lines {$EXTERNALSYM CC_WIDESTYLED} CC_INTERIORS = 128; // Can do interiors {$EXTERNALSYM CC_INTERIORS} CC_ROUNDRECT = 256; {$EXTERNALSYM CC_ROUNDRECT} // Line Capabilities LC_NONE = 0; // Lines not supported {$EXTERNALSYM LC_NONE} LC_POLYLINE = 2; // Can do polylines {$EXTERNALSYM LC_POLYLINE} LC_MARKER = 4; // Can do markers {$EXTERNALSYM LC_MARKER} LC_POLYMARKER = 8; // Can do polymarkers {$EXTERNALSYM LC_POLYMARKER} LC_WIDE = 16; // Can do wide lines {$EXTERNALSYM LC_WIDE} LC_STYLED = 32; // Can do styled lines {$EXTERNALSYM LC_STYLED} LC_WIDESTYLED = 64; // Can do wide styled lines {$EXTERNALSYM LC_WIDESTYLED} LC_INTERIORS = 128; // Can do interiors {$EXTERNALSYM LC_INTERIORS} // Polygonal Capabilities PC_NONE = 0; // Polygonals not supported {$EXTERNALSYM PC_NONE} PC_POLYGON = 1; // Can do polygons {$EXTERNALSYM PC_POLYGON} PC_RECTANGLE = 2; // Can do rectangles {$EXTERNALSYM PC_RECTANGLE} PC_WINDPOLYGON = 4; // Can do winding polygons {$EXTERNALSYM PC_WINDPOLYGON} PC_TRAPEZOID = 4; // Can do trapezoids {$EXTERNALSYM PC_TRAPEZOID} PC_SCANLINE = 8; // Can do scanlines {$EXTERNALSYM PC_SCANLINE} PC_WIDE = 16; // Can do wide borders {$EXTERNALSYM PC_WIDE} PC_STYLED = 32; // Can do styled borders {$EXTERNALSYM PC_STYLED} PC_WIDESTYLED = 64; // Can do wide styled borders {$EXTERNALSYM PC_WIDESTYLED} PC_INTERIORS = 128; // Can do interiors {$EXTERNALSYM PC_INTERIORS} PC_POLYPOLYGON = 256; // Can do polypolygons {$EXTERNALSYM PC_POLYPOLYGON} PC_PATHS = 512; // Can do paths {$EXTERNALSYM PC_PATHS} // Clipping Capabilities CP_NONE = 0; // No clipping of output {$EXTERNALSYM CP_NONE} CP_RECTANGLE = 1; // Output clipped to rects {$EXTERNALSYM CP_RECTANGLE} CP_REGION = 2; // obsolete {$EXTERNALSYM CP_REGION} // Text Capabilities TC_OP_CHARACTER = $00000001; // Can do OutputPrecision CHARACTER {$EXTERNALSYM TC_OP_CHARACTER} TC_OP_STROKE = $00000002; // Can do OutputPrecision STROKE {$EXTERNALSYM TC_OP_STROKE} TC_CP_STROKE = $00000004; // Can do ClipPrecision STROKE {$EXTERNALSYM TC_CP_STROKE} TC_CR_90 = $00000008; // Can do CharRotAbility 90 {$EXTERNALSYM TC_CR_90} TC_CR_ANY = $00000010; // Can do CharRotAbility ANY {$EXTERNALSYM TC_CR_ANY} TC_SF_X_YINDEP = $00000020; // Can do ScaleFreedom X_YINDEPENDENT {$EXTERNALSYM TC_SF_X_YINDEP} TC_SA_DOUBLE = $00000040; // Can do ScaleAbility DOUBLE {$EXTERNALSYM TC_SA_DOUBLE} TC_SA_INTEGER = $00000080; // Can do ScaleAbility INTEGER {$EXTERNALSYM TC_SA_INTEGER} TC_SA_CONTIN = $00000100; // Can do ScaleAbility CONTINUOUS {$EXTERNALSYM TC_SA_CONTIN} TC_EA_DOUBLE = $00000200; // Can do EmboldenAbility DOUBLE {$EXTERNALSYM TC_EA_DOUBLE} TC_IA_ABLE = $00000400; // Can do ItalisizeAbility ABLE {$EXTERNALSYM TC_IA_ABLE} TC_UA_ABLE = $00000800; // Can do UnderlineAbility ABLE {$EXTERNALSYM TC_UA_ABLE} TC_SO_ABLE = $00001000; // Can do StrikeOutAbility ABLE {$EXTERNALSYM TC_SO_ABLE} TC_RA_ABLE = $00002000; // Can do RasterFontAble ABLE {$EXTERNALSYM TC_RA_ABLE} TC_VA_ABLE = $00004000; // Can do VectorFontAble ABLE {$EXTERNALSYM TC_VA_ABLE} TC_RESERVED = $00008000; {$EXTERNALSYM TC_RESERVED} TC_SCROLLBLT = $00010000; // Don't do text scroll with blt {$EXTERNALSYM TC_SCROLLBLT} // Raster Capabilities RC_BITBLT = 1; // Can do standard BLT. {$EXTERNALSYM RC_BITBLT} RC_BANDING = 2; // Device requires banding support {$EXTERNALSYM RC_BANDING} RC_SCALING = 4; // Device requires scaling support {$EXTERNALSYM RC_SCALING} RC_BITMAP64 = 8; // Device can support >64K bitmap {$EXTERNALSYM RC_BITMAP64} RC_GDI20_OUTPUT = $0010; // has 2.0 output calls {$EXTERNALSYM RC_GDI20_OUTPUT} RC_GDI20_STATE = $0020; {$EXTERNALSYM RC_GDI20_STATE} RC_SAVEBITMAP = $0040; {$EXTERNALSYM RC_SAVEBITMAP} RC_DI_BITMAP = $0080; // supports DIB to memory {$EXTERNALSYM RC_DI_BITMAP} RC_PALETTE = $0100; // supports a palette {$EXTERNALSYM RC_PALETTE} RC_DIBTODEV = $0200; // supports DIBitsToDevice {$EXTERNALSYM RC_DIBTODEV} RC_BIGFONT = $0400; // supports >64K fonts {$EXTERNALSYM RC_BIGFONT} RC_STRETCHBLT = $0800; // supports StretchBlt {$EXTERNALSYM RC_STRETCHBLT} RC_FLOODFILL = $1000; // supports FloodFill {$EXTERNALSYM RC_FLOODFILL} RC_STRETCHDIB = $2000; // supports StretchDIBits {$EXTERNALSYM RC_STRETCHDIB} RC_OP_DX_OUTPUT = $4000; {$EXTERNALSYM RC_OP_DX_OUTPUT} RC_DEVBITS = $8000; {$EXTERNALSYM RC_DEVBITS} // Shading and blending caps SB_NONE = $00000000; {$EXTERNALSYM SB_NONE} SB_CONST_ALPHA = $00000001; {$EXTERNALSYM SB_CONST_ALPHA} SB_PIXEL_ALPHA = $00000002; {$EXTERNALSYM SB_PIXEL_ALPHA} SB_PREMULT_ALPHA = $00000004; {$EXTERNALSYM SB_PREMULT_ALPHA} SB_GRAD_RECT = $00000010; {$EXTERNALSYM SB_GRAD_RECT} SB_GRAD_TRI = $00000020; {$EXTERNALSYM SB_GRAD_TRI} // Color Management caps CM_NONE = $00000000; {$EXTERNALSYM CM_NONE} CM_DEVICE_ICM = $00000001; {$EXTERNALSYM CM_DEVICE_ICM} CM_GAMMA_RAMP = $00000002; {$EXTERNALSYM CM_GAMMA_RAMP} CM_CMYK_COLOR = $00000004; {$EXTERNALSYM CM_CMYK_COLOR} // DIB color table identifiers DIB_RGB_COLORS = 0; // color table in RGBs {$EXTERNALSYM DIB_RGB_COLORS} DIB_PAL_COLORS = 1; // color table in palette indices {$EXTERNALSYM DIB_PAL_COLORS} // constants for Get/SetSystemPaletteUse() SYSPAL_ERROR = 0; {$EXTERNALSYM SYSPAL_ERROR} SYSPAL_STATIC = 1; {$EXTERNALSYM SYSPAL_STATIC} SYSPAL_NOSTATIC = 2; {$EXTERNALSYM SYSPAL_NOSTATIC} SYSPAL_NOSTATIC256 = 3; {$EXTERNALSYM SYSPAL_NOSTATIC256} // constants for CreateDIBitmap CBM_INIT = $04; // initialize bitmap {$EXTERNALSYM CBM_INIT} // ExtFloodFill style flags FLOODFILLBORDER = 0; {$EXTERNALSYM FLOODFILLBORDER} FLOODFILLSURFACE = 1; {$EXTERNALSYM FLOODFILLSURFACE} // size of a device name string CCHDEVICENAME = 32; {$EXTERNALSYM CCHDEVICENAME} // size of a form name string CCHFORMNAME = 32; {$EXTERNALSYM CCHFORMNAME} {$IFDEF WIN98ME} {$IFNDEF WINNT4} {$DEFINE WIN98ME_UP_EXCEPT_NT4} {$ENDIF !WINNT4} {$ENDIF WIN98ME} type TDmDisplayFlagsUnion = record case Integer of 0: ( dmDisplayFlags: DWORD); 1: ( dmNup: DWORD); end; _devicemodeA = record dmDeviceName: array [0..CCHDEVICENAME - 1] of BYTE; dmSpecVersion: WORD; dmDriverVersion: WORD; dmSize: WORD; dmDriverExtra: WORD; dmFields: DWORD; union1: record case Integer of // printer only fields 0: ( dmOrientation: short; dmPaperSize: short; dmPaperLength: short; dmPaperWidth: short; dmScale: short; dmCopies: short; dmDefaultSource: short; dmPrintQuality: short); // display only fields 1: ( dmPosition: POINTL; dmDisplayOrientation: DWORD; dmDisplayFixedOutput: DWORD); end; dmColor: short; dmDuplex: short; dmYResolution: short; dmTTOption: short; dmCollate: short; dmFormName: array [0..CCHFORMNAME - 1] of BYTE; dmLogPixels: WORD; dmBitsPerPel: DWORD; dmPelsWidth: DWORD; dmPelsHeight: DWORD; dmDisplayFlags: TDmDisplayFlagsUnion; dmDisplayFrequency: DWORD; dmICMMethod: DWORD; dmICMIntent: DWORD; dmMediaType: DWORD; dmDitherType: DWORD; dmReserved1: DWORD; dmReserved2: DWORD; {$IFDEF WIN98ME_UP_EXCEPT_NT4} dmPanningWidth: DWORD; dmPanningHeight: DWORD; {$ENDIF WIN98ME_UP_EXCEPT_NT4} end; {$EXTERNALSYM _devicemodeA} DEVMODEA = _devicemodeA; {$EXTERNALSYM DEVMODEA} PDEVMODEA = ^DEVMODEA; {$EXTERNALSYM PDEVMODEA} LPDEVMODEA = ^DEVMODEA; {$EXTERNALSYM LPDEVMODEA} NPDEVMODEA = ^DEVMODEA; {$EXTERNALSYM NPDEVMODEA} TDevModeA = _devicemodeA; _devicemodeW = record dmDeviceName: array [0..CCHDEVICENAME - 1] of WCHAR; dmSpecVersion: WORD; dmDriverVersion: WORD; dmSize: WORD; dmDriverExtra: WORD; dmFields: DWORD; union1: record case Integer of // printer only fields 0: ( dmOrientation: short; dmPaperSize: short; dmPaperLength: short; dmPaperWidth: short; dmScale: short; dmCopies: short; dmDefaultSource: short; dmPrintQuality: short); // display only fields 1: ( dmPosition: POINTL; dmDisplayOrientation: DWORD; dmDisplayFixedOutput: DWORD); end; dmColor: short; dmDuplex: short; dmYResolution: short; dmTTOption: short; dmCollate: short; dmFormName: array [0..CCHFORMNAME - 1] of WCHAR; dmLogPixels: WORD; dmBitsPerPel: DWORD; dmPelsWidth: DWORD; dmPelsHeight: DWORD; dmDiusplayFlags: TDmDisplayFlagsUnion; dmDisplayFrequency: DWORD; dmICMMethod: DWORD; dmICMIntent: DWORD; dmMediaType: DWORD; dmDitherType: DWORD; dmReserved1: DWORD; dmReserved2: DWORD; {$IFDEF WIN98ME_UP_EXCEPT_NT4} dmPanningWidth: DWORD; dmPanningHeight: DWORD; {$ENDIF WIN98ME_UP_EXCEPT_NT4} end; {$EXTERNALSYM _devicemodeW} DEVMODEW = _devicemodeW; {$EXTERNALSYM DEVMODEW} PDEVMODEW = ^DEVMODEW; {$EXTERNALSYM PDEVMODEW} LPDEVMODEW = ^DEVMODEW; {$EXTERNALSYM LPDEVMODEW} NPDEVMODEW = ^DEVMODEW; {$EXTERNALSYM NPDEVMODEW} TDevModeW = _devicemodeW; {$IFDEF UNICODE} DEVMODE = DEVMODEW; {$EXTERNALSYM DEVMODE} PDEVMODE = PDEVMODEW; {$EXTERNALSYM PDEVMODE} NPDEVMODE = NPDEVMODEW; {$EXTERNALSYM NPDEVMODE} LPDEVMODE = LPDEVMODEW; {$EXTERNALSYM LPDEVMODE} TDevMode = TDevModeW; {$ELSE} DEVMODE = DEVMODEA; {$EXTERNALSYM DEVMODE} PDEVMODE = PDEVMODEA; {$EXTERNALSYM PDEVMODE} NPDEVMODE = NPDEVMODEA; {$EXTERNALSYM NPDEVMODE} LPDEVMODE = LPDEVMODEA; {$EXTERNALSYM LPDEVMODE} TDevMode = TDevModeA; {$ENDIF UNICODE} // current version of specification const {$IFDEF WIN98ME_UP_EXCEPT_NT4} DM_SPECVERSION = $0401; {$EXTERNALSYM DM_SPECVERSION} {$ELSE} DM_SPECVERSION = $0400; {$EXTERNALSYM DM_SPECVERSION} {$ENDIF WIN98ME_UP_EXCEPT_NT4} {$UNDEF WIN98ME_UP_EXCEPT_NT4} // field selection bits const DM_ORIENTATION = $00000001; {$EXTERNALSYM DM_ORIENTATION} DM_PAPERSIZE = $00000002; {$EXTERNALSYM DM_PAPERSIZE} DM_PAPERLENGTH = $00000004; {$EXTERNALSYM DM_PAPERLENGTH} DM_PAPERWIDTH = $00000008; {$EXTERNALSYM DM_PAPERWIDTH} DM_SCALE = $00000010; {$EXTERNALSYM DM_SCALE} DM_POSITION = $00000020; {$EXTERNALSYM DM_POSITION} DM_NUP = $00000040; {$EXTERNALSYM DM_NUP} //#if(WINVER >= 0x0501) DM_DISPLAYORIENTATION = $00000080; {$EXTERNALSYM DM_DISPLAYORIENTATION} //#endif /* WINVER >= 0x0501 */ DM_COPIES = $00000100; {$EXTERNALSYM DM_COPIES} DM_DEFAULTSOURCE = $00000200; {$EXTERNALSYM DM_DEFAULTSOURCE} DM_PRINTQUALITY = $00000400; {$EXTERNALSYM DM_PRINTQUALITY} DM_COLOR = $00000800; {$EXTERNALSYM DM_COLOR} DM_DUPLEX = $00001000; {$EXTERNALSYM DM_DUPLEX} DM_YRESOLUTION = $00002000; {$EXTERNALSYM DM_YRESOLUTION} DM_TTOPTION = $00004000; {$EXTERNALSYM DM_TTOPTION} DM_COLLATE = $00008000; {$EXTERNALSYM DM_COLLATE} DM_FORMNAME = $00010000; {$EXTERNALSYM DM_FORMNAME} DM_LOGPIXELS = $00020000; {$EXTERNALSYM DM_LOGPIXELS} DM_BITSPERPEL = $00040000; {$EXTERNALSYM DM_BITSPERPEL} DM_PELSWIDTH = $00080000; {$EXTERNALSYM DM_PELSWIDTH} DM_PELSHEIGHT = $00100000; {$EXTERNALSYM DM_PELSHEIGHT} DM_DISPLAYFLAGS = $00200000; {$EXTERNALSYM DM_DISPLAYFLAGS} DM_DISPLAYFREQUENCY = $00400000; {$EXTERNALSYM DM_DISPLAYFREQUENCY} DM_ICMMETHOD = $00800000; {$EXTERNALSYM DM_ICMMETHOD} DM_ICMINTENT = $01000000; {$EXTERNALSYM DM_ICMINTENT} DM_MEDIATYPE = $02000000; {$EXTERNALSYM DM_MEDIATYPE} DM_DITHERTYPE = $04000000; {$EXTERNALSYM DM_DITHERTYPE} DM_PANNINGWIDTH = $08000000; {$EXTERNALSYM DM_PANNINGWIDTH} DM_PANNINGHEIGHT = $10000000; {$EXTERNALSYM DM_PANNINGHEIGHT} //#if(WINVER >= 0x0501) DM_DISPLAYFIXEDOUTPUT = $20000000; {$EXTERNALSYM DM_DISPLAYFIXEDOUTPUT} //#endif /* WINVER >= 0x0501 */ // orientation selections DMORIENT_PORTRAIT = 1; {$EXTERNALSYM DMORIENT_PORTRAIT} DMORIENT_LANDSCAPE = 2; {$EXTERNALSYM DMORIENT_LANDSCAPE} // paper selections DMPAPER_LETTER = 1; // Letter 8 1/2 x 11 in {$EXTERNALSYM DMPAPER_LETTER} DMPAPER_FIRST = DMPAPER_LETTER; {$EXTERNALSYM DMPAPER_FIRST} DMPAPER_LETTERSMALL = 2; // Letter Small 8 1/2 x 11 in {$EXTERNALSYM DMPAPER_LETTERSMALL} DMPAPER_TABLOID = 3; // Tabloid 11 x 17 in {$EXTERNALSYM DMPAPER_TABLOID} DMPAPER_LEDGER = 4; // Ledger 17 x 11 in {$EXTERNALSYM DMPAPER_LEDGER} DMPAPER_LEGAL = 5; // Legal 8 1/2 x 14 in {$EXTERNALSYM DMPAPER_LEGAL} DMPAPER_STATEMENT = 6; // Statement 5 1/2 x 8 1/2 in {$EXTERNALSYM DMPAPER_STATEMENT} DMPAPER_EXECUTIVE = 7; // Executive 7 1/4 x 10 1/2 in {$EXTERNALSYM DMPAPER_EXECUTIVE} DMPAPER_A3 = 8; // A3 297 x 420 mm {$EXTERNALSYM DMPAPER_A3} DMPAPER_A4 = 9; // A4 210 x 297 mm {$EXTERNALSYM DMPAPER_A4} DMPAPER_A4SMALL = 10; // A4 Small 210 x 297 mm {$EXTERNALSYM DMPAPER_A4SMALL} DMPAPER_A5 = 11; // A5 148 x 210 mm {$EXTERNALSYM DMPAPER_A5} DMPAPER_B4 = 12; // B4 (JIS) 250 x 354 {$EXTERNALSYM DMPAPER_B4} DMPAPER_B5 = 13; // B5 (JIS) 182 x 257 mm {$EXTERNALSYM DMPAPER_B5} DMPAPER_FOLIO = 14; // Folio 8 1/2 x 13 in {$EXTERNALSYM DMPAPER_FOLIO} DMPAPER_QUARTO = 15; // Quarto 215 x 275 mm {$EXTERNALSYM DMPAPER_QUARTO} DMPAPER_10X14 = 16; // 10x14 in {$EXTERNALSYM DMPAPER_10X14} DMPAPER_11X17 = 17; // 11x17 in {$EXTERNALSYM DMPAPER_11X17} DMPAPER_NOTE = 18; // Note 8 1/2 x 11 in {$EXTERNALSYM DMPAPER_NOTE} DMPAPER_ENV_9 = 19; // Envelope #9 3 7/8 x 8 7/8 {$EXTERNALSYM DMPAPER_ENV_9} DMPAPER_ENV_10 = 20; // Envelope #10 4 1/8 x 9 1/2 {$EXTERNALSYM DMPAPER_ENV_10} DMPAPER_ENV_11 = 21; // Envelope #11 4 1/2 x 10 3/8 {$EXTERNALSYM DMPAPER_ENV_11} DMPAPER_ENV_12 = 22; // Envelope #12 4 \276 x 11 {$EXTERNALSYM DMPAPER_ENV_12} DMPAPER_ENV_14 = 23; // Envelope #14 5 x 11 1/2 {$EXTERNALSYM DMPAPER_ENV_14} DMPAPER_CSHEET = 24; // C size sheet {$EXTERNALSYM DMPAPER_CSHEET} DMPAPER_DSHEET = 25; // D size sheet {$EXTERNALSYM DMPAPER_DSHEET} DMPAPER_ESHEET = 26; // E size sheet {$EXTERNALSYM DMPAPER_ESHEET} DMPAPER_ENV_DL = 27; // Envelope DL 110 x 220mm {$EXTERNALSYM DMPAPER_ENV_DL} DMPAPER_ENV_C5 = 28; // Envelope C5 162 x 229 mm {$EXTERNALSYM DMPAPER_ENV_C5} DMPAPER_ENV_C3 = 29; // Envelope C3 324 x 458 mm {$EXTERNALSYM DMPAPER_ENV_C3} DMPAPER_ENV_C4 = 30; // Envelope C4 229 x 324 mm {$EXTERNALSYM DMPAPER_ENV_C4} DMPAPER_ENV_C6 = 31; // Envelope C6 114 x 162 mm {$EXTERNALSYM DMPAPER_ENV_C6} DMPAPER_ENV_C65 = 32; // Envelope C65 114 x 229 mm {$EXTERNALSYM DMPAPER_ENV_C65} DMPAPER_ENV_B4 = 33; // Envelope B4 250 x 353 mm {$EXTERNALSYM DMPAPER_ENV_B4} DMPAPER_ENV_B5 = 34; // Envelope B5 176 x 250 mm {$EXTERNALSYM DMPAPER_ENV_B5} DMPAPER_ENV_B6 = 35; // Envelope B6 176 x 125 mm {$EXTERNALSYM DMPAPER_ENV_B6} DMPAPER_ENV_ITALY = 36; // Envelope 110 x 230 mm {$EXTERNALSYM DMPAPER_ENV_ITALY} DMPAPER_ENV_MONARCH = 37; // Envelope Monarch 3.875 x 7.5 in {$EXTERNALSYM DMPAPER_ENV_MONARCH} DMPAPER_ENV_PERSONAL = 38; // 6 3/4 Envelope 3 5/8 x 6 1/2 in {$EXTERNALSYM DMPAPER_ENV_PERSONAL} DMPAPER_FANFOLD_US = 39; // US Std Fanfold 14 7/8 x 11 in {$EXTERNALSYM DMPAPER_FANFOLD_US} DMPAPER_FANFOLD_STD_GERMAN = 40; // German Std Fanfold 8 1/2 x 12 in {$EXTERNALSYM DMPAPER_FANFOLD_STD_GERMAN} DMPAPER_FANFOLD_LGL_GERMAN = 41; // German Legal Fanfold 8 1/2 x 13 in {$EXTERNALSYM DMPAPER_FANFOLD_LGL_GERMAN} DMPAPER_ISO_B4 = 42; // B4 (ISO) 250 x 353 mm {$EXTERNALSYM DMPAPER_ISO_B4} DMPAPER_JAPANESE_POSTCARD = 43; // Japanese Postcard 100 x 148 mm {$EXTERNALSYM DMPAPER_JAPANESE_POSTCARD} DMPAPER_9X11 = 44; // 9 x 11 in {$EXTERNALSYM DMPAPER_9X11} DMPAPER_10X11 = 45; // 10 x 11 in {$EXTERNALSYM DMPAPER_10X11} DMPAPER_15X11 = 46; // 15 x 11 in {$EXTERNALSYM DMPAPER_15X11} DMPAPER_ENV_INVITE = 47; // Envelope Invite 220 x 220 mm {$EXTERNALSYM DMPAPER_ENV_INVITE} DMPAPER_RESERVED_48 = 48; // RESERVED--DO NOT USE {$EXTERNALSYM DMPAPER_RESERVED_48} DMPAPER_RESERVED_49 = 49; // RESERVED--DO NOT USE {$EXTERNALSYM DMPAPER_RESERVED_49} DMPAPER_LETTER_EXTRA = 50; // Letter Extra 9 \275 x 12 in {$EXTERNALSYM DMPAPER_LETTER_EXTRA} DMPAPER_LEGAL_EXTRA = 51; // Legal Extra 9 \275 x 15 in {$EXTERNALSYM DMPAPER_LEGAL_EXTRA} DMPAPER_TABLOID_EXTRA = 52; // Tabloid Extra 11.69 x 18 in {$EXTERNALSYM DMPAPER_TABLOID_EXTRA} DMPAPER_A4_EXTRA = 53; // A4 Extra 9.27 x 12.69 in {$EXTERNALSYM DMPAPER_A4_EXTRA} DMPAPER_LETTER_TRANSVERSE = 54; // Letter Transverse 8 \275 x 11 in {$EXTERNALSYM DMPAPER_LETTER_TRANSVERSE} DMPAPER_A4_TRANSVERSE = 55; // A4 Transverse 210 x 297 mm {$EXTERNALSYM DMPAPER_A4_TRANSVERSE} DMPAPER_LETTER_EXTRA_TRANSVERSE = 56; // Letter Extra Transverse 9\275 x 12 in {$EXTERNALSYM DMPAPER_LETTER_EXTRA_TRANSVERSE} DMPAPER_A_PLUS = 57; // SuperA/SuperA/A4 227 x 356 mm {$EXTERNALSYM DMPAPER_A_PLUS} DMPAPER_B_PLUS = 58; // SuperB/SuperB/A3 305 x 487 mm {$EXTERNALSYM DMPAPER_B_PLUS} DMPAPER_LETTER_PLUS = 59; // Letter Plus 8.5 x 12.69 in {$EXTERNALSYM DMPAPER_LETTER_PLUS} DMPAPER_A4_PLUS = 60; // A4 Plus 210 x 330 mm {$EXTERNALSYM DMPAPER_A4_PLUS} DMPAPER_A5_TRANSVERSE = 61; // A5 Transverse 148 x 210 mm {$EXTERNALSYM DMPAPER_A5_TRANSVERSE} DMPAPER_B5_TRANSVERSE = 62; // B5 (JIS) Transverse 182 x 257 mm {$EXTERNALSYM DMPAPER_B5_TRANSVERSE} DMPAPER_A3_EXTRA = 63; // A3 Extra 322 x 445 mm {$EXTERNALSYM DMPAPER_A3_EXTRA} DMPAPER_A5_EXTRA = 64; // A5 Extra 174 x 235 mm {$EXTERNALSYM DMPAPER_A5_EXTRA} DMPAPER_B5_EXTRA = 65; // B5 (ISO) Extra 201 x 276 mm {$EXTERNALSYM DMPAPER_B5_EXTRA} DMPAPER_A2 = 66; // A2 420 x 594 mm {$EXTERNALSYM DMPAPER_A2} DMPAPER_A3_TRANSVERSE = 67; // A3 Transverse 297 x 420 mm {$EXTERNALSYM DMPAPER_A3_TRANSVERSE} DMPAPER_A3_EXTRA_TRANSVERSE = 68; // A3 Extra Transverse 322 x 445 mm {$EXTERNALSYM DMPAPER_A3_EXTRA_TRANSVERSE} DMPAPER_DBL_JAPANESE_POSTCARD = 69; // Japanese Double Postcard 200 x 148 mm {$EXTERNALSYM DMPAPER_DBL_JAPANESE_POSTCARD} DMPAPER_A6 = 70; // A6 105 x 148 mm {$EXTERNALSYM DMPAPER_A6} DMPAPER_JENV_KAKU2 = 71; // Japanese Envelope Kaku #2 {$EXTERNALSYM DMPAPER_JENV_KAKU2} DMPAPER_JENV_KAKU3 = 72; // Japanese Envelope Kaku #3 {$EXTERNALSYM DMPAPER_JENV_KAKU3} DMPAPER_JENV_CHOU3 = 73; // Japanese Envelope Chou #3 {$EXTERNALSYM DMPAPER_JENV_CHOU3} DMPAPER_JENV_CHOU4 = 74; // Japanese Envelope Chou #4 {$EXTERNALSYM DMPAPER_JENV_CHOU4} DMPAPER_LETTER_ROTATED = 75; // Letter Rotated 11 x 8 1/2 11 in {$EXTERNALSYM DMPAPER_LETTER_ROTATED} DMPAPER_A3_ROTATED = 76; // A3 Rotated 420 x 297 mm {$EXTERNALSYM DMPAPER_A3_ROTATED} DMPAPER_A4_ROTATED = 77; // A4 Rotated 297 x 210 mm {$EXTERNALSYM DMPAPER_A4_ROTATED} DMPAPER_A5_ROTATED = 78; // A5 Rotated 210 x 148 mm {$EXTERNALSYM DMPAPER_A5_ROTATED} DMPAPER_B4_JIS_ROTATED = 79; // B4 (JIS) Rotated 364 x 257 mm {$EXTERNALSYM DMPAPER_B4_JIS_ROTATED} DMPAPER_B5_JIS_ROTATED = 80; // B5 (JIS) Rotated 257 x 182 mm {$EXTERNALSYM DMPAPER_B5_JIS_ROTATED} DMPAPER_JAPANESE_POSTCARD_ROTATED = 81; // Japanese Postcard Rotated 148 x 100 mm {$EXTERNALSYM DMPAPER_JAPANESE_POSTCARD_ROTATED} DMPAPER_DBL_JAPANESE_POSTCARD_ROTATED = 82; // Double Japanese Postcard Rotated 148 x 200 mm {$EXTERNALSYM DMPAPER_DBL_JAPANESE_POSTCARD_ROTATED} DMPAPER_A6_ROTATED = 83; // A6 Rotated 148 x 105 mm {$EXTERNALSYM DMPAPER_A6_ROTATED} DMPAPER_JENV_KAKU2_ROTATED = 84; // Japanese Envelope Kaku #2 Rotated {$EXTERNALSYM DMPAPER_JENV_KAKU2_ROTATED} DMPAPER_JENV_KAKU3_ROTATED = 85; // Japanese Envelope Kaku #3 Rotated {$EXTERNALSYM DMPAPER_JENV_KAKU3_ROTATED} DMPAPER_JENV_CHOU3_ROTATED = 86; // Japanese Envelope Chou #3 Rotated {$EXTERNALSYM DMPAPER_JENV_CHOU3_ROTATED} DMPAPER_JENV_CHOU4_ROTATED = 87; // Japanese Envelope Chou #4 Rotated {$EXTERNALSYM DMPAPER_JENV_CHOU4_ROTATED} DMPAPER_B6_JIS = 88; // B6 (JIS) 128 x 182 mm {$EXTERNALSYM DMPAPER_B6_JIS} DMPAPER_B6_JIS_ROTATED = 89; // B6 (JIS) Rotated 182 x 128 mm {$EXTERNALSYM DMPAPER_B6_JIS_ROTATED} DMPAPER_12X11 = 90; // 12 x 11 in {$EXTERNALSYM DMPAPER_12X11} DMPAPER_JENV_YOU4 = 91; // Japanese Envelope You #4 {$EXTERNALSYM DMPAPER_JENV_YOU4} DMPAPER_JENV_YOU4_ROTATED = 92; // Japanese Envelope You #4 Rotated {$EXTERNALSYM DMPAPER_JENV_YOU4_ROTATED} DMPAPER_P16K = 93; // PRC 16K 146 x 215 mm {$EXTERNALSYM DMPAPER_P16K} DMPAPER_P32K = 94; // PRC 32K 97 x 151 mm {$EXTERNALSYM DMPAPER_P32K} DMPAPER_P32KBIG = 95; // PRC 32K(Big) 97 x 151 mm {$EXTERNALSYM DMPAPER_P32KBIG} DMPAPER_PENV_1 = 96; // PRC Envelope #1 102 x 165 mm {$EXTERNALSYM DMPAPER_PENV_1} DMPAPER_PENV_2 = 97; // PRC Envelope #2 102 x 176 mm {$EXTERNALSYM DMPAPER_PENV_2} DMPAPER_PENV_3 = 98; // PRC Envelope #3 125 x 176 mm {$EXTERNALSYM DMPAPER_PENV_3} DMPAPER_PENV_4 = 99; // PRC Envelope #4 110 x 208 mm {$EXTERNALSYM DMPAPER_PENV_4} DMPAPER_PENV_5 = 100; // PRC Envelope #5 110 x 220 mm {$EXTERNALSYM DMPAPER_PENV_5} DMPAPER_PENV_6 = 101; // PRC Envelope #6 120 x 230 mm {$EXTERNALSYM DMPAPER_PENV_6} DMPAPER_PENV_7 = 102; // PRC Envelope #7 160 x 230 mm {$EXTERNALSYM DMPAPER_PENV_7} DMPAPER_PENV_8 = 103; // PRC Envelope #8 120 x 309 mm {$EXTERNALSYM DMPAPER_PENV_8} DMPAPER_PENV_9 = 104; // PRC Envelope #9 229 x 324 mm {$EXTERNALSYM DMPAPER_PENV_9} DMPAPER_PENV_10 = 105; // PRC Envelope #10 324 x 458 mm {$EXTERNALSYM DMPAPER_PENV_10} DMPAPER_P16K_ROTATED = 106; // PRC 16K Rotated {$EXTERNALSYM DMPAPER_P16K_ROTATED} DMPAPER_P32K_ROTATED = 107; // PRC 32K Rotated {$EXTERNALSYM DMPAPER_P32K_ROTATED} DMPAPER_P32KBIG_ROTATED = 108; // PRC 32K(Big) Rotated {$EXTERNALSYM DMPAPER_P32KBIG_ROTATED} DMPAPER_PENV_1_ROTATED = 109; // PRC Envelope #1 Rotated 165 x 102 mm {$EXTERNALSYM DMPAPER_PENV_1_ROTATED} DMPAPER_PENV_2_ROTATED = 110; // PRC Envelope #2 Rotated 176 x 102 mm {$EXTERNALSYM DMPAPER_PENV_2_ROTATED} DMPAPER_PENV_3_ROTATED = 111; // PRC Envelope #3 Rotated 176 x 125 mm {$EXTERNALSYM DMPAPER_PENV_3_ROTATED} DMPAPER_PENV_4_ROTATED = 112; // PRC Envelope #4 Rotated 208 x 110 mm {$EXTERNALSYM DMPAPER_PENV_4_ROTATED} DMPAPER_PENV_5_ROTATED = 113; // PRC Envelope #5 Rotated 220 x 110 mm {$EXTERNALSYM DMPAPER_PENV_5_ROTATED} DMPAPER_PENV_6_ROTATED = 114; // PRC Envelope #6 Rotated 230 x 120 mm {$EXTERNALSYM DMPAPER_PENV_6_ROTATED} DMPAPER_PENV_7_ROTATED = 115; // PRC Envelope #7 Rotated 230 x 160 mm {$EXTERNALSYM DMPAPER_PENV_7_ROTATED} DMPAPER_PENV_8_ROTATED = 116; // PRC Envelope #8 Rotated 309 x 120 mm {$EXTERNALSYM DMPAPER_PENV_8_ROTATED} DMPAPER_PENV_9_ROTATED = 117; // PRC Envelope #9 Rotated 324 x 229 mm {$EXTERNALSYM DMPAPER_PENV_9_ROTATED} DMPAPER_PENV_10_ROTATED = 118; // PRC Envelope #10 Rotated 458 x 324 mm {$EXTERNALSYM DMPAPER_PENV_10_ROTATED} {$IFDEF WIN98ME_UP} DMPAPER_LAST = DMPAPER_PENV_10_ROTATED; {$EXTERNALSYM DMPAPER_LAST} {$ELSE} DMPAPER_LAST = DMPAPER_A3_EXTRA_TRANSVERSE; {$EXTERNALSYM DMPAPER_LAST} {$ENDIF WIN98ME_UP} DMPAPER_USER = 256; {$EXTERNALSYM DMPAPER_USER} // bin selections DMBIN_UPPER = 1; {$EXTERNALSYM DMBIN_UPPER} DMBIN_FIRST = DMBIN_UPPER; {$EXTERNALSYM DMBIN_FIRST} DMBIN_ONLYONE = 1; {$EXTERNALSYM DMBIN_ONLYONE} DMBIN_LOWER = 2; {$EXTERNALSYM DMBIN_LOWER} DMBIN_MIDDLE = 3; {$EXTERNALSYM DMBIN_MIDDLE} DMBIN_MANUAL = 4; {$EXTERNALSYM DMBIN_MANUAL} DMBIN_ENVELOPE = 5; {$EXTERNALSYM DMBIN_ENVELOPE} DMBIN_ENVMANUAL = 6; {$EXTERNALSYM DMBIN_ENVMANUAL} DMBIN_AUTO = 7; {$EXTERNALSYM DMBIN_AUTO} DMBIN_TRACTOR = 8; {$EXTERNALSYM DMBIN_TRACTOR} DMBIN_SMALLFMT = 9; {$EXTERNALSYM DMBIN_SMALLFMT} DMBIN_LARGEFMT = 10; {$EXTERNALSYM DMBIN_LARGEFMT} DMBIN_LARGECAPACITY = 11; {$EXTERNALSYM DMBIN_LARGECAPACITY} DMBIN_CASSETTE = 14; {$EXTERNALSYM DMBIN_CASSETTE} DMBIN_FORMSOURCE = 15; {$EXTERNALSYM DMBIN_FORMSOURCE} DMBIN_LAST = DMBIN_FORMSOURCE; {$EXTERNALSYM DMBIN_LAST} DMBIN_USER = 256; // device specific bins start here {$EXTERNALSYM DMBIN_USER} // print qualities DMRES_DRAFT = DWORD(-1); {$EXTERNALSYM DMRES_DRAFT} DMRES_LOW = DWORD(-2); {$EXTERNALSYM DMRES_LOW} DMRES_MEDIUM = DWORD(-3); {$EXTERNALSYM DMRES_MEDIUM} DMRES_HIGH = DWORD(-4); {$EXTERNALSYM DMRES_HIGH} // color enable/disable for color printers DMCOLOR_MONOCHROME = 1; {$EXTERNALSYM DMCOLOR_MONOCHROME} DMCOLOR_COLOR = 2; {$EXTERNALSYM DMCOLOR_COLOR} // duplex enable DMDUP_SIMPLEX = 1; {$EXTERNALSYM DMDUP_SIMPLEX} DMDUP_VERTICAL = 2; {$EXTERNALSYM DMDUP_VERTICAL} DMDUP_HORIZONTAL = 3; {$EXTERNALSYM DMDUP_HORIZONTAL} // TrueType options DMTT_BITMAP = 1; // print TT fonts as graphics {$EXTERNALSYM DMTT_BITMAP} DMTT_DOWNLOAD = 2; // download TT fonts as soft fonts {$EXTERNALSYM DMTT_DOWNLOAD} DMTT_SUBDEV = 3; // substitute device fonts for TT fonts {$EXTERNALSYM DMTT_SUBDEV} DMTT_DOWNLOAD_OUTLINE = 4; // download TT fonts as outline soft fonts {$EXTERNALSYM DMTT_DOWNLOAD_OUTLINE} // Collation selections DMCOLLATE_FALSE = 0; {$EXTERNALSYM DMCOLLATE_FALSE} DMCOLLATE_TRUE = 1; {$EXTERNALSYM DMCOLLATE_TRUE} //#if(WINVER >= 0x0501) // DEVMODE dmDisplayOrientation specifiations DMDO_DEFAULT = 0; {$EXTERNALSYM DMDO_DEFAULT} DMDO_90 = 1; {$EXTERNALSYM DMDO_90} DMDO_180 = 2; {$EXTERNALSYM DMDO_180} DMDO_270 = 3; {$EXTERNALSYM DMDO_270} // DEVMODE dmDisplayFixedOutput specifiations DMDFO_DEFAULT = 0; {$EXTERNALSYM DMDFO_DEFAULT} DMDFO_STRETCH = 1; {$EXTERNALSYM DMDFO_STRETCH} DMDFO_CENTER = 2; {$EXTERNALSYM DMDFO_CENTER} //#endif /* WINVER >= 0x0501 */ // DEVMODE dmDisplayFlags flags // #define DM_GRAYSCALE 0x00000001 /* This flag is no longer valid */ // #define DM_INTERLACED 0x00000002 /* This flag is no longer valid */ DMDISPLAYFLAGS_TEXTMODE = $00000004; {$EXTERNALSYM DMDISPLAYFLAGS_TEXTMODE} // dmNup , multiple logical page per physical page options DMNUP_SYSTEM = 1; {$EXTERNALSYM DMNUP_SYSTEM} DMNUP_ONEUP = 2; {$EXTERNALSYM DMNUP_ONEUP} // ICM methods DMICMMETHOD_NONE = 1; // ICM disabled {$EXTERNALSYM DMICMMETHOD_NONE} DMICMMETHOD_SYSTEM = 2; // ICM handled by system {$EXTERNALSYM DMICMMETHOD_SYSTEM} DMICMMETHOD_DRIVER = 3; // ICM handled by driver {$EXTERNALSYM DMICMMETHOD_DRIVER} DMICMMETHOD_DEVICE = 4; // ICM handled by device {$EXTERNALSYM DMICMMETHOD_DEVICE} DMICMMETHOD_USER = 256; // Device-specific methods start here {$EXTERNALSYM DMICMMETHOD_USER} // ICM Intents DMICM_SATURATE = 1; // Maximize color saturation {$EXTERNALSYM DMICM_SATURATE} DMICM_CONTRAST = 2; // Maximize color contrast {$EXTERNALSYM DMICM_CONTRAST} DMICM_COLORIMETRIC = 3; // Use specific color metric {$EXTERNALSYM DMICM_COLORIMETRIC} DMICM_ABS_COLORIMETRIC = 4; // Use specific color metric {$EXTERNALSYM DMICM_ABS_COLORIMETRIC} DMICM_USER = 256; // Device-specific intents start here {$EXTERNALSYM DMICM_USER} // Media types DMMEDIA_STANDARD = 1; // Standard paper {$EXTERNALSYM DMMEDIA_STANDARD} DMMEDIA_TRANSPARENCY = 2; // Transparency {$EXTERNALSYM DMMEDIA_TRANSPARENCY} DMMEDIA_GLOSSY = 3; // Glossy paper {$EXTERNALSYM DMMEDIA_GLOSSY} DMMEDIA_USER = 256; // Device-specific media start here {$EXTERNALSYM DMMEDIA_USER} // Dither types DMDITHER_NONE = 1; // No dithering {$EXTERNALSYM DMDITHER_NONE} DMDITHER_COARSE = 2; // Dither with a coarse brush {$EXTERNALSYM DMDITHER_COARSE} DMDITHER_FINE = 3; // Dither with a fine brush {$EXTERNALSYM DMDITHER_FINE} DMDITHER_LINEART = 4; // LineArt dithering {$EXTERNALSYM DMDITHER_LINEART} DMDITHER_ERRORDIFFUSION = 5; // LineArt dithering {$EXTERNALSYM DMDITHER_ERRORDIFFUSION} DMDITHER_RESERVED6 = 6; // LineArt dithering {$EXTERNALSYM DMDITHER_RESERVED6} DMDITHER_RESERVED7 = 7; // LineArt dithering {$EXTERNALSYM DMDITHER_RESERVED7} DMDITHER_RESERVED8 = 8; // LineArt dithering {$EXTERNALSYM DMDITHER_RESERVED8} DMDITHER_RESERVED9 = 9; // LineArt dithering {$EXTERNALSYM DMDITHER_RESERVED9} DMDITHER_GRAYSCALE = 10; // Device does grayscaling {$EXTERNALSYM DMDITHER_GRAYSCALE} DMDITHER_USER = 256; // Device-specific dithers start here {$EXTERNALSYM DMDITHER_USER} type PDisplayDeviceA = ^TDisplayDeviceA; _DISPLAY_DEVICEA = record cb: DWORD; DeviceName: array [0..32 - 1] of CHAR; DeviceString: array [0..128 - 1] of CHAR; StateFlags: DWORD; DeviceID: array [0..128 - 1] of CHAR; DeviceKey: array [0..128 - 1] of CHAR; end; {$EXTERNALSYM _DISPLAY_DEVICEA} DISPLAY_DEVICEA = _DISPLAY_DEVICEA; {$EXTERNALSYM DISPLAY_DEVICEA} LPDISPLAY_DEVICEA = ^DISPLAY_DEVICEA; {$EXTERNALSYM LPDISPLAY_DEVICEA} PDISPLAY_DEVICEA = ^DISPLAY_DEVICEA; {$EXTERNALSYM PDISPLAY_DEVICEA} TDisplayDeviceA = _DISPLAY_DEVICEA; PDisplayDeviceW = ^TDisplayDeviceW; _DISPLAY_DEVICEW = record cb: DWORD; DeviceName: array [0..32 - 1] of WCHAR; DeviceString: array [0..128 - 1] of WCHAR; StateFlags: DWORD; DeviceID: array [0..128 - 1] of WCHAR; DeviceKey: array [0..128 - 1] of WCHAR; end; {$EXTERNALSYM _DISPLAY_DEVICEW} DISPLAY_DEVICEW = _DISPLAY_DEVICEW; {$EXTERNALSYM DISPLAY_DEVICEW} LPDISPLAY_DEVICEW = ^DISPLAY_DEVICEW; {$EXTERNALSYM LPDISPLAY_DEVICEW} PDISPLAY_DEVICEW = ^DISPLAY_DEVICEW; {$EXTERNALSYM PDISPLAY_DEVICEW} TDisplayDeviceW = _DISPLAY_DEVICEW; {$IFDEF UNICODE} DISPLAY_DEVICE = DISPLAY_DEVICEW; {$EXTERNALSYM DISPLAY_DEVICE} PDISPLAY_DEVICE = PDISPLAY_DEVICEW; {$EXTERNALSYM PDISPLAY_DEVICE} LPDISPLAY_DEVICE = LPDISPLAY_DEVICEW; {$EXTERNALSYM LPDISPLAY_DEVICE} TDisplayDevice = TDisplayDeviceW; PDisplayDevice = PDisplayDeviceW; {$ELSE} DISPLAY_DEVICE = DISPLAY_DEVICEA; {$EXTERNALSYM DISPLAY_DEVICE} PDISPLAY_DEVICE = PDISPLAY_DEVICEA; {$EXTERNALSYM PDISPLAY_DEVICE} LPDISPLAY_DEVICE = LPDISPLAY_DEVICEA; {$EXTERNALSYM LPDISPLAY_DEVICE} TDisplayDevice = TDisplayDeviceA; PDisplayDevice = PDisplayDeviceA; {$ENDIF UNICODE} const DISPLAY_DEVICE_ATTACHED_TO_DESKTOP = $00000001; {$EXTERNALSYM DISPLAY_DEVICE_ATTACHED_TO_DESKTOP} DISPLAY_DEVICE_MULTI_DRIVER = $00000002; {$EXTERNALSYM DISPLAY_DEVICE_MULTI_DRIVER} DISPLAY_DEVICE_PRIMARY_DEVICE = $00000004; {$EXTERNALSYM DISPLAY_DEVICE_PRIMARY_DEVICE} DISPLAY_DEVICE_MIRRORING_DRIVER = $00000008; {$EXTERNALSYM DISPLAY_DEVICE_MIRRORING_DRIVER} DISPLAY_DEVICE_VGA_COMPATIBLE = $00000010; {$EXTERNALSYM DISPLAY_DEVICE_VGA_COMPATIBLE} DISPLAY_DEVICE_REMOVABLE = $00000020; {$EXTERNALSYM DISPLAY_DEVICE_REMOVABLE} DISPLAY_DEVICE_MODESPRUNED = $08000000; {$EXTERNALSYM DISPLAY_DEVICE_MODESPRUNED} DISPLAY_DEVICE_REMOTE = $04000000; {$EXTERNALSYM DISPLAY_DEVICE_REMOTE} DISPLAY_DEVICE_DISCONNECT = $02000000; {$EXTERNALSYM DISPLAY_DEVICE_DISCONNECT} // Child device state DISPLAY_DEVICE_ACTIVE = $00000001; {$EXTERNALSYM DISPLAY_DEVICE_ACTIVE} DISPLAY_DEVICE_ATTACHED = $00000002; {$EXTERNALSYM DISPLAY_DEVICE_ATTACHED} // GetRegionData/ExtCreateRegion RDH_RECTANGLES = 1; {$EXTERNALSYM RDH_RECTANGLES} type PRgnDataHeader = ^TRgnDataHeader; _RGNDATAHEADER = record dwSize: DWORD; iType: DWORD; nCount: DWORD; nRgnSize: DWORD; rcBound: RECT; end; {$EXTERNALSYM _RGNDATAHEADER} RGNDATAHEADER = _RGNDATAHEADER; {$EXTERNALSYM RGNDATAHEADER} TRgnDataHeader = _RGNDATAHEADER; PRgnData = ^TRgnData; _RGNDATA = record rdh: RGNDATAHEADER; Buffer: array [0..0] of Char; end; {$EXTERNALSYM _RGNDATA} RGNDATA = _RGNDATA; {$EXTERNALSYM RGNDATA} LPRGNDATA = ^RGNDATA; {$EXTERNALSYM LPRGNDATA} NPRGNDATA = ^RGNDATA; {$EXTERNALSYM NPRGNDATA} TRgnData = _RGNDATA; // for GetRandomRgn const SYSRGN = 4; {$EXTERNALSYM SYSRGN} type PAbc = ^TAbc; _ABC = record abcA: Integer; abcB: UINT; abcC: Integer; end; {$EXTERNALSYM _ABC} ABC = _ABC; {$EXTERNALSYM ABC} LPABC = ^ABC; {$EXTERNALSYM LPABC} NPABC = ^ABC; {$EXTERNALSYM NPABC} TAbc = _ABC; PAbcFloat = ^TAbcFloat; _ABCFLOAT = record abcfA: FLOAT; abcfB: FLOAT; abcfC: FLOAT; end; {$EXTERNALSYM _ABCFLOAT} ABCFLOAT = _ABCFLOAT; {$EXTERNALSYM ABCFLOAT} LPABCFLOAT = ^ABCFLOAT; {$EXTERNALSYM LPABCFLOAT} NPABCFLOAT = ^ABCFLOAT; {$EXTERNALSYM NPABCFLOAT} TAbcFloat = _ABCFLOAT; POutlineTextMetricA = ^TOutlineTextMetricA; _OUTLINETEXTMETRICA = record otmSize: UINT; otmTextMetrics: TEXTMETRICA; otmFiller: BYTE; otmPanoseNumber: PANOSE; otmfsSelection: UINT; otmfsType: UINT; otmsCharSlopeRise: Integer; otmsCharSlopeRun: Integer; otmItalicAngle: Integer; otmEMSquare: UINT; otmAscent: Integer; otmDescent: Integer; otmLineGap: UINT; otmsCapEmHeight: UINT; otmsXHeight: UINT; otmrcFontBox: RECT; otmMacAscent: Integer; otmMacDescent: Integer; otmMacLineGap: UINT; otmusMinimumPPEM: UINT; otmptSubscriptSize: POINT; otmptSubscriptOffset: POINT; otmptSuperscriptSize: POINT; otmptSuperscriptOffset: POINT; otmsStrikeoutSize: UINT; otmsStrikeoutPosition: Integer; otmsUnderscoreSize: Integer; otmsUnderscorePosition: Integer; otmpFamilyName: PSTR; otmpFaceName: PSTR; otmpStyleName: PSTR; otmpFullName: PSTR; end; {$EXTERNALSYM _OUTLINETEXTMETRICA} OUTLINETEXTMETRICA = _OUTLINETEXTMETRICA; {$EXTERNALSYM OUTLINETEXTMETRICA} LPOUTLINETEXTMETRICA = ^OUTLINETEXTMETRICA; {$EXTERNALSYM LPOUTLINETEXTMETRICA} NPOUTLINETEXTMETRICA = ^OUTLINETEXTMETRICA; {$EXTERNALSYM NPOUTLINETEXTMETRICA} TOutlineTextMetricA = _OUTLINETEXTMETRICA; POutlineTextMetricW = ^TOutlineTextMetricW; _OUTLINETEXTMETRICW = record otmSize: UINT; otmTextMetrics: TEXTMETRICW; otmFiller: BYTE; otmPanoseNumber: PANOSE; otmfsSelection: UINT; otmfsType: UINT; otmsCharSlopeRise: Integer; otmsCharSlopeRun: Integer; otmItalicAngle: Integer; otmEMSquare: UINT; otmAscent: Integer; otmDescent: Integer; otmLineGap: UINT; otmsCapEmHeight: UINT; otmsXHeight: UINT; otmrcFontBox: RECT; otmMacAscent: Integer; otmMacDescent: Integer; otmMacLineGap: UINT; otmusMinimumPPEM: UINT; otmptSubscriptSize: POINT; otmptSubscriptOffset: POINT; otmptSuperscriptSize: POINT; otmptSuperscriptOffset: POINT; otmsStrikeoutSize: UINT; otmsStrikeoutPosition: Integer; otmsUnderscoreSize: Integer; otmsUnderscorePosition: Integer; otmpFamilyName: PSTR; otmpFaceName: PSTR; otmpStyleName: PSTR; otmpFullName: PSTR; end; {$EXTERNALSYM _OUTLINETEXTMETRICW} OUTLINETEXTMETRICW = _OUTLINETEXTMETRICW; {$EXTERNALSYM OUTLINETEXTMETRICW} LPOUTLINETEXTMETRICW = ^OUTLINETEXTMETRICW; {$EXTERNALSYM LPOUTLINETEXTMETRICW} NPOUTLINETEXTMETRICW = ^OUTLINETEXTMETRICW; {$EXTERNALSYM NPOUTLINETEXTMETRICW} TOutlineTextMetricW = _OUTLINETEXTMETRICW; {$IFDEF UNICODE} OUTLINETEXTMETRIC = OUTLINETEXTMETRICW; {$EXTERNALSYM OUTLINETEXTMETRIC} POUTLINETEXTMETRIC = POUTLINETEXTMETRICW; {$EXTERNALSYM POUTLINETEXTMETRIC} NPOUTLINETEXTMETRIC = NPOUTLINETEXTMETRICW; {$EXTERNALSYM NPOUTLINETEXTMETRIC} LPOUTLINETEXTMETRIC = LPOUTLINETEXTMETRICW; {$EXTERNALSYM LPOUTLINETEXTMETRIC} TOutlineTextMetric = TOutlineTextMetricW; {$ELSE} OUTLINETEXTMETRIC = OUTLINETEXTMETRICA; {$EXTERNALSYM OUTLINETEXTMETRIC} POUTLINETEXTMETRIC = POUTLINETEXTMETRICA; {$EXTERNALSYM POUTLINETEXTMETRIC} NPOUTLINETEXTMETRIC = NPOUTLINETEXTMETRICA; {$EXTERNALSYM NPOUTLINETEXTMETRIC} LPOUTLINETEXTMETRIC = LPOUTLINETEXTMETRICA; {$EXTERNALSYM LPOUTLINETEXTMETRIC} TOutlineTextMetric = TOutlineTextMetricA; {$ENDIF UNICODE} PPolytextA = ^TPolytextA; tagPOLYTEXTA = record x: Integer; y: Integer; n: UINT; lpstr: LPCSTR; uiFlags: UINT; rcl: RECT; pdx: PINT; end; {$EXTERNALSYM tagPOLYTEXTA} POLYTEXTA = tagPOLYTEXTA; {$EXTERNALSYM POLYTEXTA} LPPOLYTEXTA = ^POLYTEXTA; {$EXTERNALSYM LPPOLYTEXTA} NPPOLYTEXTA = ^POLYTEXTA; {$EXTERNALSYM NPPOLYTEXTA} TPolytextA = POLYTEXTA; PPolytextW = ^TPolytextW; tagPOLYTEXTW = record x: Integer; y: Integer; n: UINT; lpstr: LPCWSTR; uiFlags: UINT; rcl: RECT; pdx: PINT; end; {$EXTERNALSYM tagPOLYTEXTW} POLYTEXTW = tagPOLYTEXTW; {$EXTERNALSYM POLYTEXTW} LPPOLYTEXTW = ^POLYTEXTW; {$EXTERNALSYM LPPOLYTEXTW} NPPOLYTEXTW = ^POLYTEXTW; {$EXTERNALSYM NPPOLYTEXTW} TPolytextW = POLYTEXTW; {$IFDEF UNICODE} POLYTEXT = POLYTEXTW; {$EXTERNALSYM POLYTEXT} PPOLYTEXT = PPOLYTEXTW; {$EXTERNALSYM PPOLYTEXT} NPPOLYTEXT = NPPOLYTEXTW; {$EXTERNALSYM NPPOLYTEXT} LPPOLYTEXT = LPPOLYTEXTW; {$EXTERNALSYM LPPOLYTEXT} TPolyText = TPolyTextW; {$ELSE} POLYTEXT = POLYTEXTA; {$EXTERNALSYM POLYTEXT} PPOLYTEXT = PPOLYTEXTA; {$EXTERNALSYM PPOLYTEXT} NPPOLYTEXT = NPPOLYTEXTA; {$EXTERNALSYM NPPOLYTEXT} LPPOLYTEXT = LPPOLYTEXTA; {$EXTERNALSYM LPPOLYTEXT} TPolyText = TPolyTextA; {$ENDIF UNICODE} PFixed = ^TFixed; _FIXED = record fract: WORD; value: short; end; {$EXTERNALSYM _FIXED} FIXED = _FIXED; {$EXTERNALSYM FIXED} TFixed = _FIXED; PMat2 = ^TMat2; _MAT2 = record eM11: FIXED; eM12: FIXED; eM21: FIXED; eM22: FIXED; end; {$EXTERNALSYM _MAT2} MAT2 = _MAT2; {$EXTERNALSYM MAT2} LPMAT2 = ^MAT2; {$EXTERNALSYM LPMAT2} TMat2 = _MAT2; PGlyphMetrics = ^TGlyphMetrics; _GLYPHMETRICS = record gmBlackBoxX: UINT; gmBlackBoxY: UINT; gmptGlyphOrigin: POINT; gmCellIncX: short; gmCellIncY: short; end; {$EXTERNALSYM _GLYPHMETRICS} GLYPHMETRICS = _GLYPHMETRICS; {$EXTERNALSYM GLYPHMETRICS} LPGLYPHMETRICS = ^GLYPHMETRICS; {$EXTERNALSYM LPGLYPHMETRICS} TGlyphMetrics = _GLYPHMETRICS; // GetGlyphOutline constants const GGO_METRICS = 0; {$EXTERNALSYM GGO_METRICS} GGO_BITMAP = 1; {$EXTERNALSYM GGO_BITMAP} GGO_NATIVE = 2; {$EXTERNALSYM GGO_NATIVE} GGO_BEZIER = 3; {$EXTERNALSYM GGO_BEZIER} GGO_GRAY2_BITMAP = 4; {$EXTERNALSYM GGO_GRAY2_BITMAP} GGO_GRAY4_BITMAP = 5; {$EXTERNALSYM GGO_GRAY4_BITMAP} GGO_GRAY8_BITMAP = 6; {$EXTERNALSYM GGO_GRAY8_BITMAP} GGO_GLYPH_INDEX = $0080; {$EXTERNALSYM GGO_GLYPH_INDEX} GGO_UNHINTED = $0100; {$EXTERNALSYM GGO_UNHINTED} TT_POLYGON_TYPE = 24; {$EXTERNALSYM TT_POLYGON_TYPE} TT_PRIM_LINE = 1; {$EXTERNALSYM TT_PRIM_LINE} TT_PRIM_QSPLINE = 2; {$EXTERNALSYM TT_PRIM_QSPLINE} TT_PRIM_CSPLINE = 3; {$EXTERNALSYM TT_PRIM_CSPLINE} type PPointFx = ^TPointFx; tagPOINTFX = record x: FIXED; y: FIXED; end; {$EXTERNALSYM tagPOINTFX} POINTFX = tagPOINTFX; {$EXTERNALSYM POINTFX} LPPOINTFX = ^POINTFX; {$EXTERNALSYM LPPOINTFX} TPointFx = POINTFX; PTtPolyCurve = ^TTtPolyCurve; tagTTPOLYCURVE = record wType: WORD; cpfx: WORD; apfx: array [0..0] of POINTFX; end; {$EXTERNALSYM tagTTPOLYCURVE} TTPOLYCURVE = tagTTPOLYCURVE; {$EXTERNALSYM TTPOLYCURVE} LPTTPOLYCURVE = ^TTPOLYCURVE; {$EXTERNALSYM LPTTPOLYCURVE} TTtPolyCurve = TTPOLYCURVE; PTtPolygonHeader = ^TTtPolygonHeader; tagTTPOLYGONHEADER = record cb: DWORD; dwType: DWORD; pfxStart: POINTFX; end; {$EXTERNALSYM tagTTPOLYGONHEADER} TTPOLYGONHEADER = tagTTPOLYGONHEADER; {$EXTERNALSYM TTPOLYGONHEADER} LPTTPOLYGONHEADER = ^TTPOLYGONHEADER; {$EXTERNALSYM LPTTPOLYGONHEADER} TTtPolygonHeader = TTPOLYGONHEADER; const GCP_DBCS = $0001; {$EXTERNALSYM GCP_DBCS} GCP_REORDER = $0002; {$EXTERNALSYM GCP_REORDER} GCP_USEKERNING = $0008; {$EXTERNALSYM GCP_USEKERNING} GCP_GLYPHSHAPE = $0010; {$EXTERNALSYM GCP_GLYPHSHAPE} GCP_LIGATE = $0020; {$EXTERNALSYM GCP_LIGATE} ////#define GCP_GLYPHINDEXING 0x0080 GCP_DIACRITIC = $0100; {$EXTERNALSYM GCP_DIACRITIC} GCP_KASHIDA = $0400; {$EXTERNALSYM GCP_KASHIDA} GCP_ERROR = $8000; {$EXTERNALSYM GCP_ERROR} FLI_MASK = $103B; {$EXTERNALSYM FLI_MASK} GCP_JUSTIFY = $00010000; {$EXTERNALSYM GCP_JUSTIFY} ////#define GCP_NODIACRITICS 0x00020000L FLI_GLYPHS = $00040000; {$EXTERNALSYM FLI_GLYPHS} GCP_CLASSIN = $00080000; {$EXTERNALSYM GCP_CLASSIN} GCP_MAXEXTENT = $00100000; {$EXTERNALSYM GCP_MAXEXTENT} GCP_JUSTIFYIN = $00200000; {$EXTERNALSYM GCP_JUSTIFYIN} GCP_DISPLAYZWG = $00400000; {$EXTERNALSYM GCP_DISPLAYZWG} GCP_SYMSWAPOFF = $00800000; {$EXTERNALSYM GCP_SYMSWAPOFF} GCP_NUMERICOVERRIDE = $01000000; {$EXTERNALSYM GCP_NUMERICOVERRIDE} GCP_NEUTRALOVERRIDE = $02000000; {$EXTERNALSYM GCP_NEUTRALOVERRIDE} GCP_NUMERICSLATIN = $04000000; {$EXTERNALSYM GCP_NUMERICSLATIN} GCP_NUMERICSLOCAL = $08000000; {$EXTERNALSYM GCP_NUMERICSLOCAL} GCPCLASS_LATIN = 1; {$EXTERNALSYM GCPCLASS_LATIN} GCPCLASS_HEBREW = 2; {$EXTERNALSYM GCPCLASS_HEBREW} GCPCLASS_ARABIC = 2; {$EXTERNALSYM GCPCLASS_ARABIC} GCPCLASS_NEUTRAL = 3; {$EXTERNALSYM GCPCLASS_NEUTRAL} GCPCLASS_LOCALNUMBER = 4; {$EXTERNALSYM GCPCLASS_LOCALNUMBER} GCPCLASS_LATINNUMBER = 5; {$EXTERNALSYM GCPCLASS_LATINNUMBER} GCPCLASS_LATINNUMERICTERMINATOR = 6; {$EXTERNALSYM GCPCLASS_LATINNUMERICTERMINATOR} GCPCLASS_LATINNUMERICSEPARATOR = 7; {$EXTERNALSYM GCPCLASS_LATINNUMERICSEPARATOR} GCPCLASS_NUMERICSEPARATOR = 8; {$EXTERNALSYM GCPCLASS_NUMERICSEPARATOR} GCPCLASS_PREBOUNDLTR = $80; {$EXTERNALSYM GCPCLASS_PREBOUNDLTR} GCPCLASS_PREBOUNDRTL = $40; {$EXTERNALSYM GCPCLASS_PREBOUNDRTL} GCPCLASS_POSTBOUNDLTR = $20; {$EXTERNALSYM GCPCLASS_POSTBOUNDLTR} GCPCLASS_POSTBOUNDRTL = $10; {$EXTERNALSYM GCPCLASS_POSTBOUNDRTL} GCPGLYPH_LINKBEFORE = $8000; {$EXTERNALSYM GCPGLYPH_LINKBEFORE} GCPGLYPH_LINKAFTER = $4000; {$EXTERNALSYM GCPGLYPH_LINKAFTER} type PGcpResultsA = ^TGcpResultsA; tagGCP_RESULTSA = record lStructSize: DWORD; lpOutString: LPSTR; lpOrder: LPUINT; lpDx: PINT; lpCaretPos: PINT; lpClass: LPSTR; lpGlyphs: LPWSTR; nGlyphs: UINT; nMaxFit: Integer; end; {$EXTERNALSYM tagGCP_RESULTSA} GCP_RESULTSA = tagGCP_RESULTSA; {$EXTERNALSYM GCP_RESULTSA} LPGCP_RESULTSA = ^GCP_RESULTSA; {$EXTERNALSYM LPGCP_RESULTSA} TGcpResultsA = GCP_RESULTSA; PGcpResultsW = ^TGcpResultsW; tagGCP_RESULTSW = record lStructSize: DWORD; lpOutString: LPWSTR; lpOrder: LPUINT; lpDx: PINT; lpCaretPos: PINT; lpClass: LPSTR; lpGlyphs: LPWSTR; nGlyphs: UINT; nMaxFit: Integer; end; {$EXTERNALSYM tagGCP_RESULTSW} GCP_RESULTSW = tagGCP_RESULTSW; {$EXTERNALSYM GCP_RESULTSW} LPGCP_RESULTSW = ^GCP_RESULTSW; {$EXTERNALSYM LPGCP_RESULTSW} TGcpResultsW = GCP_RESULTSW; {$IFDEF UNICODE} GCP_RESULTS = GCP_RESULTSW; {$EXTERNALSYM GCP_RESULTS} LPGCP_RESULTS = LPGCP_RESULTSW; {$EXTERNALSYM LPGCP_RESULTS} TGcpResults = TGcpResultsW; PGcpResults = PGcpResultsW; {$ELSE} GCP_RESULTS = GCP_RESULTSA; {$EXTERNALSYM GCP_RESULTS} LPGCP_RESULTS = LPGCP_RESULTSA; {$EXTERNALSYM LPGCP_RESULTS} TGcpResults = TGcpResultsA; PGcpResults = PGcpResultsA; {$ENDIF UNICODE} PRasterizerStatus = ^TRasterizerStatus; _RASTERIZER_STATUS = record nSize: short; wFlags: short; nLanguageID: short; end; {$EXTERNALSYM _RASTERIZER_STATUS} RASTERIZER_STATUS = _RASTERIZER_STATUS; {$EXTERNALSYM RASTERIZER_STATUS} LPRASTERIZER_STATUS = ^RASTERIZER_STATUS; {$EXTERNALSYM LPRASTERIZER_STATUS} TRasterizerStatus = _RASTERIZER_STATUS; // bits defined in wFlags of RASTERIZER_STATUS const TT_AVAILABLE = $0001; {$EXTERNALSYM TT_AVAILABLE} TT_ENABLED = $0002; {$EXTERNALSYM TT_ENABLED} // Pixel format descriptor type PPixelFormatDescriptor = ^TPixelFormatDescriptor; tagPIXELFORMATDESCRIPTOR = record nSize: WORD; nVersion: WORD; dwFlags: DWORD; iPixelType: BYTE; cColorBits: BYTE; cRedBits: BYTE; cRedShift: BYTE; cGreenBits: BYTE; cGreenShift: BYTE; cBlueBits: BYTE; cBlueShift: BYTE; cAlphaBits: BYTE; cAlphaShift: BYTE; cAccumBits: BYTE; cAccumRedBits: BYTE; cAccumGreenBits: BYTE; cAccumBlueBits: BYTE; cAccumAlphaBits: BYTE; cDepthBits: BYTE; cStencilBits: BYTE; cAuxBuffers: BYTE; iLayerType: BYTE; bReserved: BYTE; dwLayerMask: DWORD; dwVisibleMask: DWORD; dwDamageMask: DWORD; end; {$EXTERNALSYM tagPIXELFORMATDESCRIPTOR} PIXELFORMATDESCRIPTOR = tagPIXELFORMATDESCRIPTOR; {$EXTERNALSYM PIXELFORMATDESCRIPTOR} LPPIXELFORMATDESCRIPTOR = ^PIXELFORMATDESCRIPTOR; {$EXTERNALSYM LPPIXELFORMATDESCRIPTOR} TPixelFormatDescriptor = PIXELFORMATDESCRIPTOR; // pixel types const PFD_TYPE_RGBA = 0; {$EXTERNALSYM PFD_TYPE_RGBA} PFD_TYPE_COLORINDEX = 1; {$EXTERNALSYM PFD_TYPE_COLORINDEX} // layer types PFD_MAIN_PLANE = 0; {$EXTERNALSYM PFD_MAIN_PLANE} PFD_OVERLAY_PLANE = 1; {$EXTERNALSYM PFD_OVERLAY_PLANE} PFD_UNDERLAY_PLANE = DWORD(-1); {$EXTERNALSYM PFD_UNDERLAY_PLANE} // PIXELFORMATDESCRIPTOR flags PFD_DOUBLEBUFFER = $00000001; {$EXTERNALSYM PFD_DOUBLEBUFFER} PFD_STEREO = $00000002; {$EXTERNALSYM PFD_STEREO} PFD_DRAW_TO_WINDOW = $00000004; {$EXTERNALSYM PFD_DRAW_TO_WINDOW} PFD_DRAW_TO_BITMAP = $00000008; {$EXTERNALSYM PFD_DRAW_TO_BITMAP} PFD_SUPPORT_GDI = $00000010; {$EXTERNALSYM PFD_SUPPORT_GDI} PFD_SUPPORT_OPENGL = $00000020; {$EXTERNALSYM PFD_SUPPORT_OPENGL} PFD_GENERIC_FORMAT = $00000040; {$EXTERNALSYM PFD_GENERIC_FORMAT} PFD_NEED_PALETTE = $00000080; {$EXTERNALSYM PFD_NEED_PALETTE} PFD_NEED_SYSTEM_PALETTE = $00000100; {$EXTERNALSYM PFD_NEED_SYSTEM_PALETTE} PFD_SWAP_EXCHANGE = $00000200; {$EXTERNALSYM PFD_SWAP_EXCHANGE} PFD_SWAP_COPY = $00000400; {$EXTERNALSYM PFD_SWAP_COPY} PFD_SWAP_LAYER_BUFFERS = $00000800; {$EXTERNALSYM PFD_SWAP_LAYER_BUFFERS} PFD_GENERIC_ACCELERATED = $00001000; {$EXTERNALSYM PFD_GENERIC_ACCELERATED} PFD_SUPPORT_DIRECTDRAW = $00002000; {$EXTERNALSYM PFD_SUPPORT_DIRECTDRAW} // PIXELFORMATDESCRIPTOR flags for use in ChoosePixelFormat only PFD_DEPTH_DONTCARE = DWORD($20000000); {$EXTERNALSYM PFD_DEPTH_DONTCARE} PFD_DOUBLEBUFFER_DONTCARE = DWORD($40000000); {$EXTERNALSYM PFD_DOUBLEBUFFER_DONTCARE} PFD_STEREO_DONTCARE = DWORD($80000000); {$EXTERNALSYM PFD_STEREO_DONTCARE} type OLDFONTENUMPROCA = function(lpelf: LPLOGFONTA; lpntm: LPTEXTMETRICA; FontType: DWORD; lParam: LPARAM): Integer; stdcall; {$EXTERNALSYM OLDFONTENUMPROCA} OLDFONTENUMPROCW = function(lpelf: LPLOGFONTW; lpntm: LPTEXTMETRICW; FontType: DWORD; lParam: LPARAM): Integer; stdcall; {$EXTERNALSYM OLDFONTENUMPROCW} OLDFONTENUMPROC = function(lpelf: LPLOGFONT; lpntm: LPTEXTMETRIC; FontType: DWORD; lParam: LPARAM): Integer; stdcall; {$EXTERNALSYM OLDFONTENUMPROC} FONTENUMPROCA = OLDFONTENUMPROCA; {$EXTERNALSYM FONTENUMPROCA} FONTENUMPROCW = OLDFONTENUMPROCW; {$EXTERNALSYM FONTENUMPROCW} FONTENUMPROC = OLDFONTENUMPROC; {$EXTERNALSYM FONTENUMPROC} GOBJENUMPROC = function(lpLogObject: LPVOID; lpData: LPARAM): Integer; stdcall; {$EXTERNALSYM GOBJENUMPROC} LINEDDAPROC = procedure(X, Y: Integer; lpData: LPARAM); stdcall; {$EXTERNALSYM LINEDDAPROC} function AddFontResourceA(lpszFileName: LPCSTR): Integer; stdcall; {$EXTERNALSYM AddFontResourceA} function AddFontResourceW(lpszFileName: LPCWSTR): Integer; stdcall; {$EXTERNALSYM AddFontResourceW} function AddFontResource(lpszFileName: LPCTSTR): Integer; stdcall; {$EXTERNALSYM AddFontResource} function AnimatePalette(hPal: HPALETTE; iStartIndex: UINT; cEntries: UINT; ppe: PPALETTEENTRY): BOOL; stdcall; {$EXTERNALSYM AnimatePalette} function Arc(hdc: HDC; nLeftRect, nTopRect, nRightRect, nBottomRect, nxStartArc, nyStartArc, nXEndArc, nYEndArc: Integer): BOOL; stdcall; {$EXTERNALSYM Arc} function BitBlt(hdcDEst: HDC; nXDest, nYDest, nWidth, nHeight: Integer; hdcSrc: HDC; nXSrc, nYSrc: Integer; dwRop: DWORD): BOOL; stdcall; {$EXTERNALSYM BitBlt} function CancelDC(hdc: HDC): BOOL; stdcall; {$EXTERNALSYM CancelDC} function Chord(hdc: HDC; nLeftRect, nTopRect, nRightRect, nBottomRect, nXRadial1, nYRadial1, nXRadial2, nYRadial2: Integer): BOOL; stdcall; {$EXTERNALSYM Chord} function ChoosePixelFormat(hdc: HDC; const ppfd: PIXELFORMATDESCRIPTOR): Integer; stdcall; {$EXTERNALSYM ChoosePixelFormat} function CloseMetaFile(hdc: HDC): HMETAFILE; stdcall; {$EXTERNALSYM CloseMetaFile} function CombineRgn(hrgnDest, hrgnSrc1, hrgnSrc2: HRGN; fnCombineMode: Integer): Integer; stdcall; {$EXTERNALSYM CombineRgn} function CopyMetaFileA(hmfSrc: HMETAFILE; lpszFile: LPCSTR): HMETAFILE; stdcall; {$EXTERNALSYM CopyMetaFileA} function CopyMetaFileW(hmfSrc: HMETAFILE; lpszFile: LPCWSTR): HMETAFILE; stdcall; {$EXTERNALSYM CopyMetaFileW} function CopyMetaFile(hmfSrc: HMETAFILE; lpszFile: LPCTSTR): HMETAFILE; stdcall; {$EXTERNALSYM CopyMetaFile} function CreateBitmap(nWidth, nHeight: Integer; Cplanes, cBitsPerPel: UINT; lpvBits: PVOID): HBITMAP; stdcall; {$EXTERNALSYM CreateBitmap} function CreateBitmapIndirect(const lpbm: BITMAP): HBITMAP; stdcall; {$EXTERNALSYM CreateBitmapIndirect} function CreateBrushIndirect(const lplb: LOGBRUSH): HBRUSH; stdcall; {$EXTERNALSYM CreateBrushIndirect} function CreateCompatibleBitmap(hdc: HDC; nWidth, nHeight: Integer): HBITMAP; stdcall; {$EXTERNALSYM CreateCompatibleBitmap} function CreateDiscardableBitmap(hdc: HDC; nWidth, nHeight: Integer): HBITMAP; stdcall; {$EXTERNALSYM CreateDiscardableBitmap} function CreateCompatibleDC(hdc: HDC): HDC; stdcall; {$EXTERNALSYM CreateCompatibleDC} function CreateDCA(lpszDriver, lpszDevice, lpszOutput: LPCSTR; lpInitData: LPDEVMODEA): HDC; stdcall; {$EXTERNALSYM CreateDCA} function CreateDCW(lpszDriver, lpszDevice, lpszOutput: LPCWSTR; lpInitData: LPDEVMODEW): HDC; stdcall; {$EXTERNALSYM CreateDCW} function CreateDC(lpszDriver, lpszDevice, lpszOutput: LPCTSTR; lpInitData: LPDEVMODE): HDC; stdcall; {$EXTERNALSYM CreateDC} function CreateDIBitmap(hdc: HDC; const lpbmih: BITMAPINFOHEADER; fdwInit: DWORD; lpbInit: PVOID; const lpbmi: BITMAPINFO; fuUsage: UINT): HBITMAP; stdcall; {$EXTERNALSYM CreateDIBitmap} function CreateDIBPatternBrush(hglbDIBPacked: HGLOBAL; fuColorSpec: UINT): HBRUSH; stdcall; {$EXTERNALSYM CreateDIBPatternBrush} function CreateDIBPatternBrushPt(lpPackedDIB: PVOID; iUsage: UINT): HBRUSH; stdcall; {$EXTERNALSYM CreateDIBPatternBrushPt} function CreateEllipticRgn(nLeftRect, nTopRect, nRightRect, nBottomRect: Integer): HRGN; stdcall; {$EXTERNALSYM CreateEllipticRgn} function CreateEllipticRgnIndirect(const lprc: RECT): HRGN; stdcall; {$EXTERNALSYM CreateEllipticRgnIndirect} function CreateFontIndirectA(const lplf: LOGFONTA): HFONT; stdcall; {$EXTERNALSYM CreateFontIndirectA} function CreateFontIndirectW(const lplf: LOGFONTW): HFONT; stdcall; {$EXTERNALSYM CreateFontIndirectW} function CreateFontIndirect(const lplf: LOGFONT): HFONT; stdcall; {$EXTERNALSYM CreateFontIndirect} function CreateFontA(nHeight, nWidth, nEscapement, nOrientation, fnWeight: Integer; fdwItalic, fdwUnderline, fdwStrikeOut, fdwCharSet, fdwOutputPrecision, fdwClipPrecision, fdwQuality, fdwPitchAndFamily: DWORD; lpszFace: LPCSTR): HFONT; stdcall; {$EXTERNALSYM CreateFontA} function CreateFontW(nHeight, nWidth, nEscapement, nOrientation, fnWeight: Integer; fdwItalic, fdwUnderline, fdwStrikeOut, fdwCharSet, fdwOutputPrecision, fdwClipPrecision, fdwQuality, fdwPitchAndFamily: DWORD; lpszFace: LPCWSTR): HFONT; stdcall; {$EXTERNALSYM CreateFontW} function CreateFont(nHeight, nWidth, nEscapement, nOrientation, fnWeight: Integer; fdwItalic, fdwUnderline, fdwStrikeOut, fdwCharSet, fdwOutputPrecision, fdwClipPrecision, fdwQuality, fdwPitchAndFamily: DWORD; lpszFace: LPCTSTR): HFONT; stdcall; {$EXTERNALSYM CreateFont} function CreateHatchBrush(fnStyle: Integer; clrref: COLORREF): HBRUSH; stdcall; {$EXTERNALSYM CreateHatchBrush} function CreateICA(lpszDriver, lpszDevice, lpszOutput: LPCSTR; lpdvmInit: LPDEVMODEA): HDC; stdcall; {$EXTERNALSYM CreateICA} function CreateICW(lpszDriver, lpszDevice, lpszOutput: LPCWSTR; lpdvmInit: LPDEVMODEW): HDC; stdcall; {$EXTERNALSYM CreateICW} function CreateIC(lpszDriver, lpszDevice, lpszOutput: LPCWSTR; lpdvmInit: LPDEVMODE): HDC; stdcall; {$EXTERNALSYM CreateIC} function CreateMetaFileA(lpszFile: LPCSTR): HDC; stdcall; {$EXTERNALSYM CreateMetaFileA} function CreateMetaFileW(lpszFile: LPCWSTR): HDC; stdcall; {$EXTERNALSYM CreateMetaFileW} function CreateMetaFile(lpszFile: LPCTSTR): HDC; stdcall; {$EXTERNALSYM CreateMetaFile} function CreatePalette(const lplgpl: LOGPALETTE): HPALETTE; stdcall; {$EXTERNALSYM CreatePalette} function CreatePen(fnPenStyle, nWidth: Integer; crColor: COLORREF): HPEN; stdcall; {$EXTERNALSYM CreatePen} function CreatePenIndirect(const lplgpn: LOGPEN): HPEN; stdcall; {$EXTERNALSYM CreatePenIndirect} function CreatePolyPolygonRgn(lppt: LPPOINT; lpPolyCounts: LPINT; nCount, fnPolyFillMode: Integer): HRGN; stdcall; {$EXTERNALSYM CreatePolyPolygonRgn} function CreatePatternBrush(hbmp: HBITMAP): HBRUSH; stdcall; {$EXTERNALSYM CreatePatternBrush} function CreateRectRgn(nLeftRect, nTopRect, nRightRect, nBottomRect: Integer): HRGN; stdcall; {$EXTERNALSYM CreateRectRgn} function CreateRectRgnIndirect(const lprc: RECT): HRGN; stdcall; {$EXTERNALSYM CreateRectRgnIndirect} function CreateRoundRectRgn(nLeftRect, nTopRect, nRightRect, nBottomRect, nWidthEllipse, nHeightEllipse: Integer): HRGN; stdcall; {$EXTERNALSYM CreateRoundRectRgn} function CreateScalableFontResourceA(fdwHidden: DWORD; lpszFontRes, lpszFontFile, lpszCurrentPath: LPCSTR): BOOL; stdcall; {$EXTERNALSYM CreateScalableFontResourceA} function CreateScalableFontResourceW(fdwHidden: DWORD; lpszFontRes, lpszFontFile, lpszCurrentPath: LPCWSTR): BOOL; stdcall; {$EXTERNALSYM CreateScalableFontResourceW} function CreateScalableFontResource(fdwHidden: DWORD; lpszFontRes, lpszFontFile, lpszCurrentPath: LPCTSTR): BOOL; stdcall; {$EXTERNALSYM CreateScalableFontResource} function CreateSolidBrush(crColor: COLORREF): HBRUSH; stdcall; {$EXTERNALSYM CreateSolidBrush} function DeleteDC(hdc: HDC): BOOL; stdcall; {$EXTERNALSYM DeleteDC} function DeleteMetaFile(hmf: HMETAFILE): BOOL; stdcall; {$EXTERNALSYM DeleteMetaFile} function DeleteObject(hObject: HGDIOBJ): BOOL; stdcall; {$EXTERNALSYM DeleteObject} function DescribePixelFormat(hdc: HDC; iPixelFormat: Integer; nBytes: UINT; ppfd: LPPIXELFORMATDESCRIPTOR): Integer; stdcall; {$EXTERNALSYM DescribePixelFormat} // mode selections for the device mode function const {$IFNDEF JWA_INCLUDEMODE} DM_UPDATE = 1; {$EXTERNALSYM DM_UPDATE} DM_COPY = 2; {$EXTERNALSYM DM_COPY} DM_PROMPT = 4; {$EXTERNALSYM DM_PROMPT} DM_MODIFY = 8; {$EXTERNALSYM DM_MODIFY} DM_IN_BUFFER = DM_MODIFY; {$EXTERNALSYM DM_IN_BUFFER} DM_IN_PROMPT = DM_PROMPT; {$EXTERNALSYM DM_IN_PROMPT} DM_OUT_BUFFER = DM_COPY; {$EXTERNALSYM DM_OUT_BUFFER} DM_OUT_DEFAULT = DM_UPDATE; {$EXTERNALSYM DM_OUT_DEFAULT} // device capabilities indices DC_FIELDS = 1; {$EXTERNALSYM DC_FIELDS} DC_PAPERS = 2; {$EXTERNALSYM DC_PAPERS} DC_PAPERSIZE = 3; {$EXTERNALSYM DC_PAPERSIZE} DC_MINEXTENT = 4; {$EXTERNALSYM DC_MINEXTENT} DC_MAXEXTENT = 5; {$EXTERNALSYM DC_MAXEXTENT} DC_BINS = 6; {$EXTERNALSYM DC_BINS} DC_DUPLEX = 7; {$EXTERNALSYM DC_DUPLEX} DC_SIZE = 8; {$EXTERNALSYM DC_SIZE} DC_EXTRA = 9; {$EXTERNALSYM DC_EXTRA} DC_VERSION = 10; {$EXTERNALSYM DC_VERSION} DC_DRIVER = 11; {$EXTERNALSYM DC_DRIVER} DC_BINNAMES = 12; {$EXTERNALSYM DC_BINNAMES} DC_ENUMRESOLUTIONS = 13; {$EXTERNALSYM DC_ENUMRESOLUTIONS} DC_FILEDEPENDENCIES = 14; {$EXTERNALSYM DC_FILEDEPENDENCIES} DC_TRUETYPE = 15; {$EXTERNALSYM DC_TRUETYPE} DC_PAPERNAMES = 16; {$EXTERNALSYM DC_PAPERNAMES} DC_ORIENTATION = 17; {$EXTERNALSYM DC_ORIENTATION} DC_COPIES = 18; {$EXTERNALSYM DC_COPIES} {$ENDIF JWA_INCLUDEMODE} DC_BINADJUST = 19; {$EXTERNALSYM DC_BINADJUST} DC_EMF_COMPLIANT = 20; {$EXTERNALSYM DC_EMF_COMPLIANT} DC_DATATYPE_PRODUCED = 21; {$EXTERNALSYM DC_DATATYPE_PRODUCED} DC_COLLATE = 22; {$EXTERNALSYM DC_COLLATE} DC_MANUFACTURER = 23; {$EXTERNALSYM DC_MANUFACTURER} DC_MODEL = 24; {$EXTERNALSYM DC_MODEL} DC_PERSONALITY = 25; {$EXTERNALSYM DC_PERSONALITY} DC_PRINTRATE = 26; {$EXTERNALSYM DC_PRINTRATE} DC_PRINTRATEUNIT = 27; {$EXTERNALSYM DC_PRINTRATEUNIT} PRINTRATEUNIT_PPM = 1; {$EXTERNALSYM PRINTRATEUNIT_PPM} PRINTRATEUNIT_CPS = 2; {$EXTERNALSYM PRINTRATEUNIT_CPS} PRINTRATEUNIT_LPM = 3; {$EXTERNALSYM PRINTRATEUNIT_LPM} PRINTRATEUNIT_IPM = 4; {$EXTERNALSYM PRINTRATEUNIT_IPM} DC_PRINTERMEM = 28; {$EXTERNALSYM DC_PRINTERMEM} DC_MEDIAREADY = 29; {$EXTERNALSYM DC_MEDIAREADY} DC_STAPLE = 30; {$EXTERNALSYM DC_STAPLE} DC_PRINTRATEPPM = 31; {$EXTERNALSYM DC_PRINTRATEPPM} DC_COLORDEVICE = 32; {$EXTERNALSYM DC_COLORDEVICE} DC_NUP = 33; {$EXTERNALSYM DC_NUP} DC_MEDIATYPENAMES = 34; {$EXTERNALSYM DC_MEDIATYPENAMES} DC_MEDIATYPES = 35; {$EXTERNALSYM DC_MEDIATYPES} // bit fields of the return value (DWORD) for DC_TRUETYPE const DCTT_BITMAP = $0000001; {$EXTERNALSYM DCTT_BITMAP} DCTT_DOWNLOAD = $0000002; {$EXTERNALSYM DCTT_DOWNLOAD} DCTT_SUBDEV = $0000004; {$EXTERNALSYM DCTT_SUBDEV} DCTT_DOWNLOAD_OUTLINE = $0000008; {$EXTERNALSYM DCTT_DOWNLOAD_OUTLINE} // return values for DC_BINADJUST DCBA_FACEUPNONE = $0000; {$EXTERNALSYM DCBA_FACEUPNONE} DCBA_FACEUPCENTER = $0001; {$EXTERNALSYM DCBA_FACEUPCENTER} DCBA_FACEUPLEFT = $0002; {$EXTERNALSYM DCBA_FACEUPLEFT} DCBA_FACEUPRIGHT = $0003; {$EXTERNALSYM DCBA_FACEUPRIGHT} DCBA_FACEDOWNNONE = $0100; {$EXTERNALSYM DCBA_FACEDOWNNONE} DCBA_FACEDOWNCENTER = $0101; {$EXTERNALSYM DCBA_FACEDOWNCENTER} DCBA_FACEDOWNLEFT = $0102; {$EXTERNALSYM DCBA_FACEDOWNLEFT} DCBA_FACEDOWNRIGHT = $0103; {$EXTERNALSYM DCBA_FACEDOWNRIGHT} function DeviceCapabilitiesA(pDevice, pPort: LPCSTR; fwCapability: WORD; pOutput: LPSTR; pDevMode: LPDEVMODEA): Integer; stdcall; {$EXTERNALSYM DeviceCapabilitiesA} function DeviceCapabilitiesW(pDevice, pPort: LPCWSTR; fwCapability: WORD; pOutput: LPWSTR; pDevMode: LPDEVMODEW): Integer; stdcall; {$EXTERNALSYM DeviceCapabilitiesW} function DeviceCapabilities(pDevice, pPort: LPCTSTR; fwCapability: WORD; pOutput: LPTSTR; pDevMode: LPDEVMODE): Integer; stdcall; {$EXTERNALSYM DeviceCapabilities} function DrawEscape(hdc: HDC; nEscape, cbInput: Integer; lpszInData: LPCSTR): Integer; stdcall; {$EXTERNALSYM DrawEscape} function Ellipse(hdc: HDC; nLeftRect, nTopRect, nRightRect, nBottomRect: Integer): BOOL; stdcall; {$EXTERNALSYM Ellipse} function EnumFontFamiliesExA(hdc: HDC; lpLogFont: LPLOGFONTA; lpEnumFontFamExProc: FONTENUMPROCA; lParam: LPARAM; dwFlags: DWORD): Integer; stdcall; {$EXTERNALSYM EnumFontFamiliesExA} function EnumFontFamiliesExW(hdc: HDC; lpLogFont: LPLOGFONTW; lpEnumFontFamExProc: FONTENUMPROCW; lParam: LPARAM; dwFlags: DWORD): Integer; stdcall; {$EXTERNALSYM EnumFontFamiliesExW} function EnumFontFamiliesEx(hdc: HDC; lpLogFont: LPLOGFONT; lpEnumFontFamExProc: FONTENUMPROC; lParam: LPARAM; dwFlags: DWORD): Integer; stdcall; {$EXTERNALSYM EnumFontFamiliesEx} function EnumFontFamiliesA(hdc: HDC; lpszFamily: LPCSTR; lpEnumFontFamProc: FONTENUMPROCA; lParam: LPARAM): Integer; stdcall; {$EXTERNALSYM EnumFontFamiliesA} function EnumFontFamiliesW(hdc: HDC; lpszFamily: LPCWSTR; lpEnumFontFamProc: FONTENUMPROCW; lParam: LPARAM): Integer; stdcall; {$EXTERNALSYM EnumFontFamiliesW} function EnumFontFamilies(hdc: HDC; lpszFamily: LPCTSTR; lpEnumFontFamProc: FONTENUMPROC; lParam: LPARAM): Integer; stdcall; {$EXTERNALSYM EnumFontFamilies} function EnumFontsA(hdc: HDC; lpFaceName: LPCSTR; lpFontFunc: FONTENUMPROCA; lParam: LPARAM): Integer; stdcall; {$EXTERNALSYM EnumFontsA} function EnumFontsW(hdc: HDC; lpFaceName: LPCWSTR; lpFontFunc: FONTENUMPROCW; lParam: LPARAM): Integer; stdcall; {$EXTERNALSYM EnumFontsW} function EnumFonts(hdc: HDC; lpFaceName: LPCTSTR; lpFontFunc: FONTENUMPROC; lParam: LPARAM): Integer; stdcall; {$EXTERNALSYM EnumFonts} function EnumObjects(hdc: HDC; mObjectType: Integer; lpObjectFunc: GOBJENUMPROC; lParam: LPARAM): Integer; stdcall; {$EXTERNALSYM EnumObjects} function EqualRgn(hSrcRgn1, hSrcRgn2: HRGN): BOOL; stdcall; {$EXTERNALSYM EqualRgn} function Escape(hdc: HDC; nEscape, cbInput: Integer; lpvInData: LPCSTR; lpvOutData: LPVOID): Integer; stdcall; {$EXTERNALSYM Escape} function ExtEscape(hdc: HDC; nEscape, cbInput: Integer; lpszInData: LPCSTR; cbOutput: Integer; lpszOutData: LPSTR): Integer; stdcall; {$EXTERNALSYM ExtEscape} function ExcludeClipRect(hdc: HDC; nLeftRect, nTopRect, nRightRect, nBottomRect: Integer): Integer; stdcall; {$EXTERNALSYM ExcludeClipRect} function ExtCreateRegion(lpXForm: LPXFORM; nCount: DWORD; lpRgnData: LPRGNDATA): HRGN; stdcall; {$EXTERNALSYM ExtCreateRegion} function ExtFloodFill(hdc: HDC; nXStart, nYStart: Integer; crColor: COLORREF; fuFillType: UINT): BOOL; stdcall; {$EXTERNALSYM ExtFloodFill} function FillRgn(hdc: HDC; hrgn: HRGN; hbr: HBRUSH): BOOL; stdcall; {$EXTERNALSYM FillRgn} function FloodFill(hdc: HDC; nXStart, nYStart: Integer; crFill: COLORREF): BOOL; stdcall; {$EXTERNALSYM FloodFill} function FrameRgn(hdc: HDC; hrgn: HRGN; hbr: HBRUSH; nWidth, nHeight: Integer): BOOL; stdcall; {$EXTERNALSYM FrameRgn} function GetROP2(hdc: HDC): Integer; stdcall; {$EXTERNALSYM GetROP2} function GetAspectRatioFilterEx(hdc: HDC; var lpAspectRatio: TSize): BOOL; stdcall; {$EXTERNALSYM GetAspectRatioFilterEx} function GetBkColor(hdc: HDC): COLORREF; stdcall; {$EXTERNALSYM GetBkColor} function GetDCBrushColor(hdc: HDC): COLORREF; stdcall; {$EXTERNALSYM GetDCBrushColor} function GetDCPenColor(hdc: HDC): COLORREF; stdcall; {$EXTERNALSYM GetDCPenColor} function GetBkMode(hdc: HDC): Integer; stdcall; {$EXTERNALSYM GetBkMode} function GetBitmapBits(hbmp: HBITMAP; cbBuffer: LONG; lpvBits: LPVOID): LONG; stdcall; {$EXTERNALSYM GetBitmapBits} function GetBitmapDimensionEx(hBitmap: HBITMAP; var lpDimension: TSize): BOOL; stdcall; {$EXTERNALSYM GetBitmapDimensionEx} function GetBoundsRect(hdc: HDC; var lprcBounds: RECT; flags: UINT): UINT; stdcall; {$EXTERNALSYM GetBoundsRect} function GetBrushOrgEx(hdc: HDC; var lppt: POINT): BOOL; stdcall; {$EXTERNALSYM GetBrushOrgEx} function GetCharWidthA(hdc: HDC; iFirstChar, iLastChar: UINT; lpBuffer: LPINT): BOOL; stdcall; {$EXTERNALSYM GetCharWidthA} function GetCharWidthW(hdc: HDC; iFirstChar, iLastChar: UINT; lpBuffer: LPINT): BOOL; stdcall; {$EXTERNALSYM GetCharWidthW} function GetCharWidth(hdc: HDC; iFirstChar, iLastChar: UINT; lpBuffer: LPINT): BOOL; stdcall; {$EXTERNALSYM GetCharWidth} function GetCharWidth32A(hdc: HDC; iFirstChar, iLastChar: UINT; lpBuffer: LPINT): BOOL; stdcall; {$EXTERNALSYM GetCharWidth32A} function GetCharWidth32W(hdc: HDC; iFirstChar, iLastChar: UINT; lpBuffer: LPINT): BOOL; stdcall; {$EXTERNALSYM GetCharWidth32W} function GetCharWidth32(hdc: HDC; iFirstChar, iLastChar: UINT; lpBuffer: LPINT): BOOL; stdcall; {$EXTERNALSYM GetCharWidth32} function GetCharWidthFloatA(hdc: HDC; iFirstChar, iLastChar: UINT; pxBuffer: PFLOAT): BOOL; stdcall; {$EXTERNALSYM GetCharWidthFloatA} function GetCharWidthFloatW(hdc: HDC; iFirstChar, iLastChar: UINT; pxBuffer: PFLOAT): BOOL; stdcall; {$EXTERNALSYM GetCharWidthFloatW} function GetCharWidthFloat(hdc: HDC; iFirstChar, iLastChar: UINT; pxBuffer: PFLOAT): BOOL; stdcall; {$EXTERNALSYM GetCharWidthFloat} function GetCharABCWidthsA(hdc: HDC; uFirstChar, uLastChar: UINT; lpAbc: LPABC): BOOL; stdcall; {$EXTERNALSYM GetCharABCWidthsA} function GetCharABCWidthsW(hdc: HDC; uFirstChar, uLastChar: UINT; lpAbc: LPABC): BOOL; stdcall; {$EXTERNALSYM GetCharABCWidthsW} function GetCharABCWidths(hdc: HDC; uFirstChar, uLastChar: UINT; lpAbc: LPABC): BOOL; stdcall; {$EXTERNALSYM GetCharABCWidths} function GetCharABCWidthsFloatA(hdc: HDC; iFirstChar, iLastChar: UINT; lpAbcF: LPABCFLOAT): BOOL; stdcall; {$EXTERNALSYM GetCharABCWidthsFloatA} function GetCharABCWidthsFloatW(hdc: HDC; iFirstChar, iLastChar: UINT; lpAbcF: LPABCFLOAT): BOOL; stdcall; {$EXTERNALSYM GetCharABCWidthsFloatW} function GetCharABCWidthsFloat(hdc: HDC; iFirstChar, iLastChar: UINT; lpAbcF: LPABCFLOAT): BOOL; stdcall; {$EXTERNALSYM GetCharABCWidthsFloat} function GetClipBox(hdc: HDC; var lprc: RECT): Integer; stdcall; {$EXTERNALSYM GetClipBox} function GetClipRgn(hdc: HDC; hrgn: HRGN): Integer; stdcall; {$EXTERNALSYM GetClipRgn} function GetMetaRgn(hdc: HDC; hrgn: HRGN): Integer; stdcall; {$EXTERNALSYM GetMetaRgn} function GetCurrentObject(hdc: HDC; uObjectType: UINT): HGDIOBJ; stdcall; {$EXTERNALSYM GetCurrentObject} function GetCurrentPositionEx(hdc: HDC; var lpPoint: POINT): BOOL; stdcall; {$EXTERNALSYM GetCurrentPositionEx} function GetDeviceCaps(hdc: HDC; nIndex: Integer): Integer; stdcall; {$EXTERNALSYM GetDeviceCaps} function GetDIBits(hdc: HDC; hbmp: HBITMAP; uStartScan, cScanLines: UINT; lpvBits: LPVOID; var lpbi: BITMAPINFO; uUsage: UINT): Integer; stdcall; {$EXTERNALSYM GetDIBits} function GetFontData(hdc: HDC; dwTable, dwOffset: DWORD; lpvBuffer: LPVOID; cbData: DWORD): DWORD; stdcall; {$EXTERNALSYM GetFontData} function GetGlyphOutlineA(hdc: HDC; uChar, uFormat: UINT; var lpgm: GLYPHMETRICS; cbBuffer: DWORD; lpvBuffer: LPVOID; const lpMat2: MAT2): DWORD; stdcall; {$EXTERNALSYM GetGlyphOutlineA} function GetGlyphOutlineW(hdc: HDC; uChar, uFormat: UINT; var lpgm: GLYPHMETRICS; cbBuffer: DWORD; lpvBuffer: LPVOID; const lpMat2: MAT2): DWORD; stdcall; {$EXTERNALSYM GetGlyphOutlineW} function GetGlyphOutline(hdc: HDC; uChar, uFormat: UINT; var lpgm: GLYPHMETRICS; cbBuffer: DWORD; lpvBuffer: LPVOID; const lpMat2: MAT2): DWORD; stdcall; {$EXTERNALSYM GetGlyphOutline} function GetGraphicsMode(hdc: HDC): Integer; stdcall; {$EXTERNALSYM GetGraphicsMode} function GetMapMode(hdc: HDC): Integer; stdcall; {$EXTERNALSYM GetMapMode} function GetMetaFileBitsEx(hmf: HMETAFILE; nSize: UINT; lpvData: LPVOID): UINT; stdcall; {$EXTERNALSYM GetMetaFileBitsEx} function GetMetaFileA(lpszMetaFile: LPCSTR): HMETAFILE; stdcall; {$EXTERNALSYM GetMetaFileA} function GetMetaFileW(lpszMetaFile: LPCWSTR): HMETAFILE; stdcall; {$EXTERNALSYM GetMetaFileW} function GetMetaFile(lpszMetaFile: LPCTSTR): HMETAFILE; stdcall; {$EXTERNALSYM GetMetaFile} function GetNearestColor(hdc: HDC; crColor: COLORREF): COLORREF; stdcall; {$EXTERNALSYM GetNearestColor} function GetNearestPaletteIndex(hPal: HPALETTE; crColor: COLORREF): UINT; stdcall; {$EXTERNALSYM GetNearestPaletteIndex} function GetObjectType(h: HGDIOBJ): DWORD; stdcall; {$EXTERNALSYM GetObjectType} function GetOutlineTextMetricsA(hdc: HDC; cbData: UINT; lpOTM: LPOUTLINETEXTMETRICA): UINT; stdcall; {$EXTERNALSYM GetOutlineTextMetricsA} function GetOutlineTextMetricsW(hdc: HDC; cbData: UINT; lpOTM: LPOUTLINETEXTMETRICW): UINT; stdcall; {$EXTERNALSYM GetOutlineTextMetricsW} function GetOutlineTextMetrics(hdc: HDC; cbData: UINT; lpOTM: LPOUTLINETEXTMETRIC): UINT; stdcall; {$EXTERNALSYM GetOutlineTextMetrics} function GetPaletteEntries(hPal: HPALETTE; iStartIndex, nEntries: UINT; lppe: LPPALETTEENTRY): UINT; stdcall; {$EXTERNALSYM GetPaletteEntries} function GetPixel(hdc: HDC; nXPos, nYPos: Integer): COLORREF; stdcall; {$EXTERNALSYM GetPixel} function GetPixelFormat(hdc: HDC): Integer; stdcall; {$EXTERNALSYM GetPixelFormat} function GetPolyFillMode(hdc: HDC): Integer; stdcall; {$EXTERNALSYM GetPolyFillMode} function GetRasterizerCaps(var lprs: RASTERIZER_STATUS; cb: UINT): BOOL; stdcall; {$EXTERNALSYM GetRasterizerCaps} function GetRandomRgn(hdc: HDC; hrgn: HRGN; iNum: Integer): Integer; stdcall; {$EXTERNALSYM GetRandomRgn} function GetRegionData(hrgn: HRGN; dwCount: DWORD; lpRgnData: LPRGNDATA): DWORD; stdcall; {$EXTERNALSYM GetRegionData} function GetRgnBox(hrgn: HRGN; var lprc: RECT): Integer; stdcall; {$EXTERNALSYM GetRgnBox} function GetStockObject(fnObject: Integer): HGDIOBJ; stdcall; {$EXTERNALSYM GetStockObject} function GetStretchBltMode(hdc: HDC): Integer; stdcall; {$EXTERNALSYM GetStretchBltMode} function GetSystemPaletteEntries(hdc: HDC; iStartIndex, nEntries: UINT; lppe: LPPALETTEENTRY): UINT; stdcall; {$EXTERNALSYM GetSystemPaletteEntries} function GetSystemPaletteUse(hdc: HDC): UINT; stdcall; {$EXTERNALSYM GetSystemPaletteUse} function GetTextCharacterExtra(hdc: HDC): Integer; stdcall; {$EXTERNALSYM GetTextCharacterExtra} function GetTextAlign(hdc: HDC): UINT; stdcall; {$EXTERNALSYM GetTextAlign} function GetTextColor(hdc: HDC): COLORREF; stdcall; {$EXTERNALSYM GetTextColor} function GetTextExtentPointA(hdc: HDC; lpString: LPCSTR; cbString: Integer; var Size: TSize): BOOL; stdcall; {$EXTERNALSYM GetTextExtentPointA} function GetTextExtentPointW(hdc: HDC; lpString: LPCWSTR; cbString: Integer; var Size: TSize): BOOL; stdcall; {$EXTERNALSYM GetTextExtentPointW} function GetTextExtentPoint(hdc: HDC; lpString: LPCTSTR; cbString: Integer; var Size: TSize): BOOL; stdcall; {$EXTERNALSYM GetTextExtentPoint} function GetTextExtentPoint32A(hdc: HDC; lpString: LPCSTR; cbString: Integer; var Size: TSize): BOOL; stdcall; {$EXTERNALSYM GetTextExtentPoint32A} function GetTextExtentPoint32W(hdc: HDC; lpString: LPCWSTR; cbString: Integer; var Size: TSize): BOOL; stdcall; {$EXTERNALSYM GetTextExtentPoint32W} function GetTextExtentPoint32(hdc: HDC; lpString: LPCTSTR; cbString: Integer; var Size: TSize): BOOL; stdcall; {$EXTERNALSYM GetTextExtentPoint32} function GetTextExtentExPointA(hdc: HDC; lpszStr: LPCSTR; cchString, nMaxExtend: Integer; lpnFit, alpDx: LPINT; var lpSize: TSize): BOOL; stdcall; {$EXTERNALSYM GetTextExtentExPointA} function GetTextExtentExPointW(hdc: HDC; lpszStr: LPCWSTR; cchString, nMaxExtend: Integer; lpnFit, alpDx: LPINT; var lpSize: TSize): BOOL; stdcall; {$EXTERNALSYM GetTextExtentExPointW} function GetTextExtentExPoint(hdc: HDC; lpszStr: LPCTSTR; cchString, nMaxExtend: Integer; lpnFit, alpDx: LPINT; var lpSize: TSize): BOOL; stdcall; {$EXTERNALSYM GetTextExtentExPoint} function GetTextCharset(hdc: HDC): Integer; stdcall; {$EXTERNALSYM GetTextCharset} function GetTextCharsetInfo(hdc: HDC; lpSig: LPFONTSIGNATURE; dwFlags: DWORD): Integer; stdcall; {$EXTERNALSYM GetTextCharsetInfo} function TranslateCharsetInfo(lpSrc: LPDWORD; lpCs: LPCHARSETINFO; dwFlags: DWORD): BOOL; stdcall; {$EXTERNALSYM TranslateCharsetInfo} function GetFontLanguageInfo(hdc: HDC): DWORD; stdcall; {$EXTERNALSYM GetFontLanguageInfo} function GetCharacterPlacementA(hdc: HDC; lpString: LPCSTR; nCount, nMaxExtend: Integer; var lpResults: GCP_RESULTSA; dwFlags: DWORD): DWORD; stdcall; {$EXTERNALSYM GetCharacterPlacementA} function GetCharacterPlacementW(hdc: HDC; lpString: LPCWSTR; nCount, nMaxExtend: Integer; var lpResults: GCP_RESULTSW; dwFlags: DWORD): DWORD; stdcall; {$EXTERNALSYM GetCharacterPlacementW} function GetCharacterPlacement(hdc: HDC; lpString: LPCTSTR; nCount, nMaxExtend: Integer; var lpResults: GCP_RESULTS; dwFlags: DWORD): DWORD; stdcall; {$EXTERNALSYM GetCharacterPlacement} type PWcRange = ^TWcRange; tagWCRANGE = record wcLow: WCHAR; cGlyphs: USHORT; end; {$EXTERNALSYM tagWCRANGE} WCRANGE = tagWCRANGE; {$EXTERNALSYM WCRANGE} LPWCRANGE = ^WCRANGE; {$EXTERNALSYM LPWCRANGE} TWcRange = WCRANGE; PGlyphSet = ^TGlyphSet; tagGLYPHSET = record cbThis: DWORD; flAccel: DWORD; cGlyphsSupported: DWORD; cRanges: DWORD; ranges: array [0..0] of WCRANGE; end; {$EXTERNALSYM tagGLYPHSET} GLYPHSET = tagGLYPHSET; {$EXTERNALSYM GLYPHSET} LPGLYPHSET = ^GLYPHSET; {$EXTERNALSYM LPGLYPHSET} TGlyphSet = GLYPHSET; // flAccel flags for the GLYPHSET structure above const GS_8BIT_INDICES = $00000001; {$EXTERNALSYM GS_8BIT_INDICES} // flags for GetGlyphIndices GGI_MARK_NONEXISTING_GLYPHS = $0001; {$EXTERNALSYM GGI_MARK_NONEXISTING_GLYPHS} function GetFontUnicodeRanges(hdc: HDC; lpgs: LPGLYPHSET): DWORD; stdcall; {$EXTERNALSYM GetFontUnicodeRanges} function GetGlyphIndicesA(hdc: HDC; lpstr: LPCSTR; c: Integer; pgi: LPWORD; fl: DWORD): DWORD; stdcall; {$EXTERNALSYM GetGlyphIndicesA} function GetGlyphIndicesW(hdc: HDC; lpstr: LPCWSTR; c: Integer; pgi: LPWORD; fl: DWORD): DWORD; stdcall; {$EXTERNALSYM GetGlyphIndicesW} function GetGlyphIndices(hdc: HDC; lpstr: LPCTSTR; c: Integer; pgi: LPWORD; fl: DWORD): DWORD; stdcall; {$EXTERNALSYM GetGlyphIndices} function GetTextExtentPointI(hdc: HDC; pgiIn: LPWORD; cgi: Integer; lpSize: LPSIZE): BOOL; stdcall; {$EXTERNALSYM GetTextExtentPointI} function GetTextExtentExPointI(hdc: HDC; pgiIn: LPWORD; cgi, nMaxExtend: Integer; lpnFit, alpDx: LPINT; lpSize: LPSIZE): BOOL; stdcall; {$EXTERNALSYM GetTextExtentExPointI} function GetCharWidthI(hdc: HDC; giFirst, cgi: UINT; pgi: LPWORD; lpBuffer: LPINT): BOOL; stdcall; {$EXTERNALSYM GetCharWidthI} function GetCharABCWidthsI(hdc: HDC; giFirst, cgi: UINT; pgi: LPWORD; lpAbc: LPABC): BOOL; stdcall; {$EXTERNALSYM GetCharABCWidthsI} const STAMP_DESIGNVECTOR = $8000000 + Ord('d') + (Ord('v') shl 8); {$EXTERNALSYM STAMP_DESIGNVECTOR} STAMP_AXESLIST = $8000000 + Ord('a') + (Ord('l') shl 8); {$EXTERNALSYM STAMP_AXESLIST} MM_MAX_NUMAXES = 16; {$EXTERNALSYM MM_MAX_NUMAXES} type PDesignVector = ^TDesignVector; tagDESIGNVECTOR = record dvReserved: DWORD; dvNumAxes: DWORD; dvValues: array [0..MM_MAX_NUMAXES - 1] of LONG; end; {$EXTERNALSYM tagDESIGNVECTOR} DESIGNVECTOR = tagDESIGNVECTOR; {$EXTERNALSYM DESIGNVECTOR} LPDESIGNVECTOR = ^DESIGNVECTOR; {$EXTERNALSYM LPDESIGNVECTOR} TDesignVector = DESIGNVECTOR; function AddFontResourceExA(lpszFilename: LPCSTR; fl: DWORD; pdv: PVOID): Integer; stdcall; {$EXTERNALSYM AddFontResourceExA} function AddFontResourceExW(lpszFilename: LPCWSTR; fl: DWORD; pdv: PVOID): Integer; stdcall; {$EXTERNALSYM AddFontResourceExW} function AddFontResourceEx(lpszFilename: LPCTSTR; fl: DWORD; pdv: PVOID): Integer; stdcall; {$EXTERNALSYM AddFontResourceEx} function RemoveFontResourceExA(lpFilename: LPCSTR; fl: DWORD; pdv: PVOID): BOOL; stdcall; {$EXTERNALSYM RemoveFontResourceExA} function RemoveFontResourceExW(lpFilename: LPCWSTR; fl: DWORD; pdv: PVOID): BOOL; stdcall; {$EXTERNALSYM RemoveFontResourceExW} function RemoveFontResourceEx(lpFilename: LPCTSTR; fl: DWORD; pdv: PVOID): BOOL; stdcall; {$EXTERNALSYM RemoveFontResourceEx} function AddFontMemResourceEx(pbFont: PVOID; cbFont: DWORD; pdv: PVOID; pcFonts: LPDWORD): HANDLE; stdcall; {$EXTERNALSYM AddFontMemResourceEx} function RemoveFontMemResourceEx(fh: HANDLE): BOOL; stdcall; {$EXTERNALSYM RemoveFontMemResourceEx} const FR_PRIVATE = $10; {$EXTERNALSYM FR_PRIVATE} FR_NOT_ENUM = $20; {$EXTERNALSYM FR_NOT_ENUM} // The actual size of the DESIGNVECTOR and ENUMLOGFONTEXDV structures // is determined by dvNumAxes, // MM_MAX_NUMAXES only detemines the maximal size allowed const MM_MAX_AXES_NAMELEN = 16; {$EXTERNALSYM MM_MAX_AXES_NAMELEN} type PAxisInfoA = ^TAxisInfoA; tagAXISINFOA = record axMinValue: LONG; axMaxValue: LONG; axAxisName: array [0..MM_MAX_AXES_NAMELEN - 1] of BYTE; end; {$EXTERNALSYM tagAXISINFOA} AXISINFOA = tagAXISINFOA; {$EXTERNALSYM AXISINFOA} LPAXISINFOA = ^AXISINFOA; {$EXTERNALSYM LPAXISINFOA} TAxisInfoA = AXISINFOA; PAxisInfoW = ^TAxisInfoW; tagAXISINFOW = record axMinValue: LONG; axMaxValue: LONG; axAxisName: array [0..MM_MAX_AXES_NAMELEN - 1] of WCHAR; end; {$EXTERNALSYM tagAXISINFOW} AXISINFOW = tagAXISINFOW; {$EXTERNALSYM AXISINFOW} LPAXISINFOW = ^AXISINFOW; {$EXTERNALSYM LPAXISINFOW} TAxisInfoW = AXISINFOW; {$IFDEF UNICODE} AXISINFO = AXISINFOW; {$EXTERNALSYM AXISINFO} PAXISINFO = PAXISINFOW; {$EXTERNALSYM PAXISINFO} LPAXISINFO = LPAXISINFOW; {$EXTERNALSYM LPAXISINFO} TAxisInfo = TAxisInfoW; {$ELSE} AXISINFO = AXISINFOA; {$EXTERNALSYM AXISINFO} PAXISINFO = PAXISINFOA; {$EXTERNALSYM PAXISINFO} LPAXISINFO = LPAXISINFOA; {$EXTERNALSYM LPAXISINFO} TAxisInfo = TAxisInfoA; {$ENDIF UNICODE} PAxesListA = ^TAxesListA; tagAXESLISTA = record axlReserved: DWORD; axlNumAxes: DWORD; axlAxisInfo: array [0..MM_MAX_NUMAXES - 1] of AXISINFOA; end; {$EXTERNALSYM tagAXESLISTA} AXESLISTA = tagAXESLISTA; {$EXTERNALSYM AXESLISTA} LPAXESLISTA = ^AXESLISTA; {$EXTERNALSYM LPAXESLISTA} TAxesListA = tagAXESLISTA; PAxesListW = ^TAxesListW; tagAXESLISTW = record axlReserved: DWORD; axlNumAxes: DWORD; axlAxisInfo: array [0..MM_MAX_NUMAXES - 1] of AXISINFOW; end; {$EXTERNALSYM tagAXESLISTW} AXESLISTW = tagAXESLISTW; {$EXTERNALSYM AXESLISTW} LPAXESLISTW = ^AXESLISTW; {$EXTERNALSYM LPAXESLISTW} TAxesListW = tagAXESLISTW; {$IFDEF UNICODE} AXESLIST = AXESLISTW; {$EXTERNALSYM AXESLIST} PAXESLIST = PAXESLISTW; {$EXTERNALSYM PAXESLIST} LPAXESLIST = LPAXESLISTW; {$EXTERNALSYM LPAXESLIST} TAxesList = TAxesListW; {$ELSE} AXESLIST = AXESLISTA; {$EXTERNALSYM AXESLIST} PAXESLIST = PAXESLISTA; {$EXTERNALSYM PAXESLIST} LPAXESLIST = LPAXESLISTA; {$EXTERNALSYM LPAXESLIST} TAxesList = TAxesListA; {$ENDIF UNICODE} // The actual size of the AXESLIST and ENUMTEXTMETRIC structure is // determined by axlNumAxes, // MM_MAX_NUMAXES only detemines the maximal size allowed PEnumLogFontExDVA = ^TEnumLogFontExDVA; tagENUMLOGFONTEXDVA = record elfEnumLogfontEx: ENUMLOGFONTEXA; elfDesignVector: DESIGNVECTOR; end; {$EXTERNALSYM tagENUMLOGFONTEXDVA} ENUMLOGFONTEXDVA = tagENUMLOGFONTEXDVA; {$EXTERNALSYM ENUMLOGFONTEXDVA} LPENUMLOGFONTEXDVA = ^ENUMLOGFONTEXDVA; {$EXTERNALSYM LPENUMLOGFONTEXDVA} TEnumLogFontExDVA = tagENUMLOGFONTEXDVA; PEnumLogFontExDVW = ^TEnumLogFontExDVW; tagENUMLOGFONTEXDVW = record elfEnumLogfontEx: ENUMLOGFONTEXW; elfDesignVector: DESIGNVECTOR; end; {$EXTERNALSYM tagENUMLOGFONTEXDVw} ENUMLOGFONTEXDVW = tagENUMLOGFONTEXDVW; {$EXTERNALSYM ENUMLOGFONTEXDVW} LPENUMLOGFONTEXDVW = ^ENUMLOGFONTEXDVW; {$EXTERNALSYM LPENUMLOGFONTEXDVW} TEnumLogFontExDVW = tagENUMLOGFONTEXDVW; {$IFDEF UNICODE} ENUMLOGFONTEXDV = ENUMLOGFONTEXDVW; {$EXTERNALSYM ENUMLOGFONTEXDV} PENUMLOGFONTEXDV = PENUMLOGFONTEXDVW; {$EXTERNALSYM PENUMLOGFONTEXDV} LPENUMLOGFONTEXDV = LPENUMLOGFONTEXDVW; {$EXTERNALSYM LPENUMLOGFONTEXDV} TEnumLogFontExDV = TEnumLogFontExDVW; {$ELSE} ENUMLOGFONTEXDV = ENUMLOGFONTEXDVA; {$EXTERNALSYM ENUMLOGFONTEXDV} PENUMLOGFONTEXDV = PENUMLOGFONTEXDVA; {$EXTERNALSYM PENUMLOGFONTEXDV} LPENUMLOGFONTEXDV = LPENUMLOGFONTEXDVA; {$EXTERNALSYM LPENUMLOGFONTEXDV} TEnumLogFontExDV = TEnumLogFontExDVA; {$ENDIF UNICODE} function CreateFontIndirectExA(penumlfex: LPENUMLOGFONTEXDVA): HFONT; stdcall; {$EXTERNALSYM CreateFontIndirectExA} function CreateFontIndirectExW(penumlfex: LPENUMLOGFONTEXDVW): HFONT; stdcall; {$EXTERNALSYM CreateFontIndirectExW} function CreateFontIndirectEx(penumlfex: LPENUMLOGFONTEXDV): HFONT; stdcall; {$EXTERNALSYM CreateFontIndirectEx} type PEnumTextMetricA = ^TEnumTextMetricA; tagENUMTEXTMETRICA = record etmNewTextMetricEx: NEWTEXTMETRICEXA; etmAxesList: AXESLISTA; end; {$EXTERNALSYM tagENUMTEXTMETRICA} ENUMTEXTMETRICA = tagENUMTEXTMETRICA; {$EXTERNALSYM ENUMTEXTMETRICA} LPENUMTEXTMETRICA = ^ENUMTEXTMETRICA; {$EXTERNALSYM LPENUMTEXTMETRICA} TEnumTextMetricA = tagENUMTEXTMETRICA; PEnumTextMetricW = ^TEnumTextMetricW; tagENUMTEXTMETRICW = record etmNewTextMetricEx: NEWTEXTMETRICEXW; etmAxesList: AXESLISTW; end; {$EXTERNALSYM tagENUMTEXTMETRICW} ENUMTEXTMETRICW = tagENUMTEXTMETRICW; {$EXTERNALSYM ENUMTEXTMETRICW} LPENUMTEXTMETRICW = ^ENUMTEXTMETRICW; {$EXTERNALSYM LPENUMTEXTMETRICW} TEnumTextMetricW = tagENUMTEXTMETRICW; {$IFDEF UNICODE} ENUMTEXTMETRIC = ENUMTEXTMETRICW; {$EXTERNALSYM ENUMTEXTMETRIC} PENUMTEXTMETRIC = PENUMTEXTMETRICW; {$EXTERNALSYM PENUMTEXTMETRIC} LPENUMTEXTMETRIC = LPENUMTEXTMETRICW; {$EXTERNALSYM LPENUMTEXTMETRIC} TEnumTextMetric = TEnumTextMetricW; {$ELSE} ENUMTEXTMETRIC = ENUMTEXTMETRICA; {$EXTERNALSYM ENUMTEXTMETRIC} PENUMTEXTMETRIC = PENUMTEXTMETRICA; {$EXTERNALSYM PENUMTEXTMETRIC} LPENUMTEXTMETRIC = LPENUMTEXTMETRICA; {$EXTERNALSYM LPENUMTEXTMETRIC} TEnumTextMetric = TEnumTextMetricA; {$ENDIF UNICODE} function GetViewportExtEx(hdc: HDC; var lpSize: TSize): BOOL; stdcall; {$EXTERNALSYM GetViewportExtEx} function GetViewportOrgEx(hdc: HDC; var lpPoint: POINT): BOOL; stdcall; {$EXTERNALSYM GetViewportOrgEx} function GetWindowExtEx(hdc: HDC; var lpSize: TSize): BOOL; stdcall; {$EXTERNALSYM GetWindowExtEx} function GetWindowOrgEx(hdc: HDC; var lpPoint: POINT): BOOL; stdcall; {$EXTERNALSYM GetWindowOrgEx} function IntersectClipRect(hdc: HDC; nLeftRect, nTopRect, nRightRect, nBottomRect: Integer): Integer; stdcall; {$EXTERNALSYM IntersectClipRect} function InvertRgn(hdc: HDC; hrgn: HRGN): BOOL; stdcall; {$EXTERNALSYM InvertRgn} function LineDDA(nXStart, nYStart, nXEnd, nYEnd: Integer; lpLineFunc: LINEDDAPROC; lpData: LPARAM): BOOL; stdcall; {$EXTERNALSYM LineDDA} function LineTo(hdc: HDC; nXEnd, nYEnd: Integer): BOOL; stdcall; {$EXTERNALSYM LineTo} function MaskBlt(hdc: HDC; nXDest, nYDest, nWidth, nHeight: Integer; hdcSrc: HDC; nXSrc, nYSrc: Integer; hbmMask: HBITMAP; xMask, yMask: Integer; dwRop: DWORD): BOOL; stdcall; {$EXTERNALSYM MaskBlt} function PlgBlt(hdc: HDC; lpPoint: LPPOINT; hdcSrc: HDC; nXSrc, nYSrc, nWidth, nHeight: Integer; hbmMask: HBITMAP; xMask, yMask: Integer): BOOL; stdcall; {$EXTERNALSYM PlgBlt} function OffsetClipRgn(hdc: HDC; nXOffset, nYOffset: Integer): Integer; stdcall; {$EXTERNALSYM OffsetClipRgn} function OffsetRgn(hrgn: HRGN; nXOffset, nYOffset: Integer): Integer; stdcall; {$EXTERNALSYM OffsetRgn} function PatBlt(hdc: HDC; nXLeft, nYLeft, nWidth, nHeight: Integer; dwRop: DWORD): BOOL; stdcall; {$EXTERNALSYM PatBlt} function Pie(hdc: HDC; nLeftRect, nTopRect, nRightRect, nBottomRect, nXRadial1, nYRadial1, nXRadial2, nYRadial2: Integer): BOOL; stdcall; {$EXTERNALSYM Pie} function PlayMetaFile(hdc: HDC; hmf: HMETAFILE): BOOL; stdcall; {$EXTERNALSYM PlayMetaFile} function PaintRgn(hdc: HDC; hrgn: HRGN): BOOL; stdcall; {$EXTERNALSYM PaintRgn} function PolyPolygon(hdc: HDC; lpPoints: LPPOINT; lpPolyCounts: LPINT; nCount: Integer): BOOL; stdcall; {$EXTERNALSYM PolyPolygon} function PtInRegion(hrgn: HRGN; X, Y: Integer): BOOL; stdcall; {$EXTERNALSYM PtInRegion} function PtVisible(hdc: HDC; X, Y: Integer): BOOL; stdcall; {$EXTERNALSYM PtVisible} function RectInRegion(hrgn: HRGN; const lprc: RECT): BOOL; stdcall; {$EXTERNALSYM RectInRegion} function RectVisible(hdc: HDC; const lprc: RECT): BOOL; stdcall; {$EXTERNALSYM RectVisible} function Rectangle(hdc: HDC; nLeftRect, nTopRect, nRightRect, nBottomRect: Integer): BOOL; stdcall; {$EXTERNALSYM Rectangle} function RestoreDC(hdc: HDC; nSavedDc: Integer): BOOL; stdcall; {$EXTERNALSYM RestoreDC} function ResetDCA(hdc: HDC; const lpInitData: DEVMODEA): HDC; stdcall; {$EXTERNALSYM ResetDCA} function ResetDCW(hdc: HDC; const lpInitData: DEVMODEW): HDC; stdcall; {$EXTERNALSYM ResetDCW} function ResetDC(hdc: HDC; const lpInitData: DEVMODE): HDC; stdcall; {$EXTERNALSYM ResetDC} function RealizePalette(hdc: HDC): UINT; stdcall; {$EXTERNALSYM RealizePalette} function RemoveFontResourceA(lpFileName: LPCSTR): BOOL; stdcall; {$EXTERNALSYM RemoveFontResourceA} function RemoveFontResourceW(lpFileName: LPCWSTR): BOOL; stdcall; {$EXTERNALSYM RemoveFontResourceW} function RemoveFontResource(lpFileName: LPCTSTR): BOOL; stdcall; {$EXTERNALSYM RemoveFontResource} function RoundRect(hdc: HDC; nLeftRect, nTopRect, nRightRect, nBottomRect, nWidth, nHeight: Integer): BOOL; stdcall; {$EXTERNALSYM RoundRect} function ResizePalette(hPal: HPALETTE; nEntries: UINT): BOOL; stdcall; {$EXTERNALSYM ResizePalette} function SaveDC(hdc: HDC): Integer; stdcall; {$EXTERNALSYM SaveDC} function SelectClipRgn(hdc: HDC; hrgn: HRGN): Integer; stdcall; {$EXTERNALSYM SelectClipRgn} function ExtSelectClipRgn(hdc: HDC; hrgn: HRGN; fnMode: Integer): Integer; stdcall; {$EXTERNALSYM ExtSelectClipRgn} function SetMetaRgn(hdc: HDC): Integer; stdcall; {$EXTERNALSYM SetMetaRgn} function SelectObject(hdc: HDC; hgdiobj: HGDIOBJ): HGDIOBJ; stdcall; {$EXTERNALSYM SelectObject} function SelectPalette(hdc: HDC; hpal: HPALETTE; nForceBackground: BOOL): HPALETTE; stdcall; {$EXTERNALSYM SelectPalette} function SetBkColor(hdc: HDC; crColor: COLORREF): COLORREF; stdcall; {$EXTERNALSYM SetBkColor} function SetDCBrushColor(hdc: HDC; crColor: COLORREF): COLORREF; stdcall; {$EXTERNALSYM SetDCBrushColor} function SetDCPenColor(hdc: HDC; crColor: COLORREF): COLORREF; stdcall; {$EXTERNALSYM SetDCPenColor} function SetBkMode(hdc: HDC; iBlMode: Integer): Integer; stdcall; {$EXTERNALSYM SetBkMode} function SetBitmapBits(hbmp: HBITMAP; cBytes: DWORD; lpBits: LPVOID): LONG; stdcall; {$EXTERNALSYM SetBitmapBits} function SetBoundsRect(hdc: HDC; lprcBounds: LPRECT; flags: UINT): UINT; stdcall; {$EXTERNALSYM SetBoundsRect} function SetDIBits(hdc: HDC; hbmp: HBITMAP; uStartScan, cScanLines: UINT; lpvBits: LPVOID; const lpbmi: BITMAPINFO; fuColorUse: UINT): Integer; stdcall; {$EXTERNALSYM SetDIBits} function SetDIBitsToDevice(hdc: HDC; xDest, yDest: Integer; dwWidth, dwHeight: DWORD; XSrc, YSrc: Integer; uStartScan, cScanLines: UINT; lpvBits: LPVOID; const lpbmi: BITMAPINFO; fuColorUse: UINT): Integer; stdcall; {$EXTERNALSYM SetDIBitsToDevice} function SetMapperFlags(hdc: HDC; dwFlag: DWORD): DWORD; stdcall; {$EXTERNALSYM SetMapperFlags} function SetGraphicsMode(hdc: HDC; iMode: Integer): Integer; stdcall; {$EXTERNALSYM SetGraphicsMode} function SetMapMode(hdc: HDC; fnMapMode: Integer): Integer; stdcall; {$EXTERNALSYM SetMapMode} function SetLayout(hdc: HDC; dwLayOut: DWORD): DWORD; stdcall; {$EXTERNALSYM SetLayout} function GetLayout(hdc: HDC): DWORD; stdcall; {$EXTERNALSYM GetLayout} function SetMetaFileBitsEx(nSize: UINT; lpData: LPBYTE): HMETAFILE; stdcall; {$EXTERNALSYM SetMetaFileBitsEx} function SetPaletteEntries(hPal: HPALETTE; cStart, nEntries: UINT; lppe: LPPALETTEENTRY): UINT; stdcall; {$EXTERNALSYM SetPaletteEntries} function SetPixel(hdc: HDC; X, Y: Integer; crColor: COLORREF): COLORREF; stdcall; {$EXTERNALSYM SetPixel} function SetPixelV(hdc: HDC; X, Y: Integer; crColor: COLORREF): BOOL; stdcall; {$EXTERNALSYM SetPixelV} function SetPixelFormat(hdc: HDC; iPixelFormat: Integer; const ppfd: PIXELFORMATDESCRIPTOR): BOOL; stdcall; {$EXTERNALSYM SetPixelFormat} function SetPolyFillMode(hdc: HDC; iPolyFillMode: Integer): Integer; stdcall; {$EXTERNALSYM SetPolyFillMode} function StretchBlt(hdc: HDC; nXOriginDest, nYOriginDest, nWidthDest, nHeightDest: Integer; hdcSrc: HDC; nXOriginSrc, nYOriginSrc, nWidthSrc, nHeightSrc: Integer; dwRop: DWORD): BOOL; stdcall; {$EXTERNALSYM StretchBlt} function SetRectRgn(hrgn: HRGN; nLeftRect, nTopRect, nRightRect, nBottomRect: Integer): BOOL; stdcall; {$EXTERNALSYM SetRectRgn} function StretchDIBits(hdc: HDC; XDest, YDest, nDestWidth, nYDestHeight, XSrc, YSrc, nSrcWidth, nSrcHeight: Integer; lpBits: LPVOID; const lpBitsInfo: BITMAPINFO; iUsage: UINT; dwRop: DWORD): Integer; stdcall; {$EXTERNALSYM StretchDIBits} function SetROP2(hdc: HDC; fnDrawMode: Integer): Integer; stdcall; {$EXTERNALSYM SetROP2} function SetStretchBltMode(hdc: HDC; iStretchMode: Integer): Integer; stdcall; {$EXTERNALSYM SetStretchBltMode} function SetSystemPaletteUse(hdc: HDC; uUsage: UINT): UINT; stdcall; {$EXTERNALSYM SetSystemPaletteUse} function SetTextCharacterExtra(hdc: HDC; nCharExtra: Integer): Integer; stdcall; {$EXTERNALSYM SetTextCharacterExtra} function SetTextColor(hdc: HDC; crColor: COLORREF): COLORREF; stdcall; {$EXTERNALSYM SetTextColor} function SetTextAlign(hdc: HDC; fMode: UINT): UINT; stdcall; {$EXTERNALSYM SetTextAlign} function SetTextJustification(hdc: HDC; nBreakExtra, nBreakCount: Integer): BOOL; stdcall; {$EXTERNALSYM SetTextJustification} function UpdateColors(hdc: HDC): BOOL; stdcall; {$EXTERNALSYM UpdateColors} // // image blt // type COLOR16 = USHORT; {$EXTERNALSYM COLOR16} PTriVertex = ^TTriVertex; _TRIVERTEX = record x: LONG; y: LONG; Red: COLOR16; Green: COLOR16; Blue: COLOR16; Alpha: COLOR16; end; {$EXTERNALSYM _TRIVERTEX} TRIVERTEX = _TRIVERTEX; {$EXTERNALSYM TRIVERTEX} LPTRIVERTEX = ^TRIVERTEX; {$EXTERNALSYM LPTRIVERTEX} TTriVertex = _TRIVERTEX; PGradientTriangle = ^TGradientTriangle; _GRADIENT_TRIANGLE = record Vertex1: ULONG; Vertex2: ULONG; Vertex3: ULONG; end; {$EXTERNALSYM _GRADIENT_TRIANGLE} GRADIENT_TRIANGLE = _GRADIENT_TRIANGLE; {$EXTERNALSYM GRADIENT_TRIANGLE} LPGRADIENT_TRIANGLE = ^GRADIENT_TRIANGLE; {$EXTERNALSYM LPGRADIENT_TRIANGLE} PGRADIENT_TRIANGLE = ^GRADIENT_TRIANGLE; {$EXTERNALSYM PGRADIENT_TRIANGLE} TGradientTriangle = _GRADIENT_TRIANGLE; PGradientRect = ^TGradientRect; _GRADIENT_RECT = record UpperLeft: ULONG; LowerRight: ULONG; end; {$EXTERNALSYM _GRADIENT_RECT} GRADIENT_RECT = _GRADIENT_RECT; {$EXTERNALSYM GRADIENT_RECT} LPGRADIENT_RECT = ^GRADIENT_RECT; {$EXTERNALSYM LPGRADIENT_RECT} PGRADIENT_RECT = ^GRADIENT_RECT; {$EXTERNALSYM PGRADIENT_RECT} TGradientRect = _GRADIENT_RECT; PBlendFunction = ^TBlendFunction; _BLENDFUNCTION = record BlendOp: BYTE; BlendFlags: BYTE; SourceConstantAlpha: BYTE; AlphaFormat: BYTE; end; {$EXTERNALSYM _BLENDFUNCTION} BLENDFUNCTION = _BLENDFUNCTION; {$EXTERNALSYM BLENDFUNCTION} LPBLENDFUNCTION = ^BLENDFUNCTION; {$EXTERNALSYM LPBLENDFUNCTION} TBlendFunction = _BLENDFUNCTION; // // currentlly defined blend function // const AC_SRC_OVER = $00; {$EXTERNALSYM AC_SRC_OVER} // // alpha format flags // AC_SRC_ALPHA = $01; {$EXTERNALSYM AC_SRC_ALPHA} function AlphaBlend(hdcDest: HDC; nXOriginDest, nYOriginDest, nWidthDest, nHeightDest: Integer; hdcSrc: HDC; nXOriginSrc, nYOriginSrc, nWidthSrc, nHeightSrc: Integer; blendFunction: BLENDFUNCTION): BOOL; stdcall; {$EXTERNALSYM AlphaBlend} function TransparentBlt(hdcSrc: HDC; nXOriginSrc, nYOriginSrc, nWidthSrc, nHeightSrc: Integer; hdcDest: HDC; nXOriginDest, nYOriginDest, nWidthDest, nHeightDest: Integer; blendFunction: BLENDFUNCTION): BOOL; stdcall; {$EXTERNALSYM TransparentBlt} // // gradient drawing modes // const GRADIENT_FILL_RECT_H = $00000000; {$EXTERNALSYM GRADIENT_FILL_RECT_H} GRADIENT_FILL_RECT_V = $00000001; {$EXTERNALSYM GRADIENT_FILL_RECT_V} GRADIENT_FILL_TRIANGLE = $00000002; {$EXTERNALSYM GRADIENT_FILL_TRIANGLE} GRADIENT_FILL_OP_FLAG = $000000ff; {$EXTERNALSYM GRADIENT_FILL_OP_FLAG} function GradientFill(hdc: HDC; pVertex: PTRIVERTEX; dwNumVertex: ULONG; pMesh: PVOID; dwNumMesh, dwMode: ULONG): BOOL; stdcall; {$EXTERNALSYM GradientFill} function PlayMetaFileRecord(hdc: HDC; lpHandleTable: LPHANDLETABLE; lpMetaRecord: LPMETARECORD; nHandles: UINT): BOOL; stdcall; {$EXTERNALSYM PlayMetaFileRecord} type MFENUMPROC = function(hdc: HDC; lpHTable: LPHANDLETABLE; lpMFR: LPMETARECORD; nObj: Integer; lpClientData: LPARAM): Integer; stdcall; {$EXTERNALSYM MFENUMPROC} function EnumMetaFile(hdc: HDC; hemf: HMETAFILE; lpMetaFunc: MFENUMPROC; lParam: LPARAM): BOOL; stdcall; {$EXTERNALSYM EnumMetaFile} type ENHMFENUMPROC = function(hdc: HDC; lpHTable: LPHANDLETABLE; lpEMFR: LPENHMETARECORD; nObj: Integer; lpData: LPARAM): Integer; stdcall; {$EXTERNALSYM ENHMFENUMPROC} // Enhanced Metafile Function Declarations function CloseEnhMetaFile(hdc: HDC): HENHMETAFILE; stdcall; {$EXTERNALSYM CloseEnhMetaFile} function CopyEnhMetaFileA(hemfSrc: HENHMETAFILE; lpszFile: LPCSTR): HENHMETAFILE; stdcall; {$EXTERNALSYM CopyEnhMetaFileA} function CopyEnhMetaFileW(hemfSrc: HENHMETAFILE; lpszFile: LPCWSTR): HENHMETAFILE; stdcall; {$EXTERNALSYM CopyEnhMetaFileW} function CopyEnhMetaFile(hemfSrc: HENHMETAFILE; lpszFile: LPCTSTR): HENHMETAFILE; stdcall; {$EXTERNALSYM CopyEnhMetaFile} function CreateEnhMetaFileA(hdcRef: HDC; lpFileName: LPCSTR; const lpRect: RECT; lpDescription: LPCSTR): HDC; stdcall; {$EXTERNALSYM CreateEnhMetaFileA} function CreateEnhMetaFileW(hdcRef: HDC; lpFileName: LPCWSTR; const lpRect: RECT; lpDescription: LPCWSTR): HDC; stdcall; {$EXTERNALSYM CreateEnhMetaFileW} function CreateEnhMetaFile(hdcRef: HDC; lpFileName: LPCTSTR; const lpRect: RECT; lpDescription: LPCTSTR): HDC; stdcall; {$EXTERNALSYM CreateEnhMetaFile} function DeleteEnhMetaFile(hemf: HENHMETAFILE): BOOL; stdcall; {$EXTERNALSYM DeleteEnhMetaFile} function EnumEnhMetaFile(hdc: HDC; hemf: HENHMETAFILE; lpEnhMetaFunc: ENHMFENUMPROC; lpData: LPVOID; const lpRect: RECT): BOOL; stdcall; {$EXTERNALSYM EnumEnhMetaFile} function GetEnhMetaFileA(lpszMetaFile: LPCSTR): HENHMETAFILE; stdcall; {$EXTERNALSYM GetEnhMetaFileA} function GetEnhMetaFileW(lpszMetaFile: LPCWSTR): HENHMETAFILE; stdcall; {$EXTERNALSYM GetEnhMetaFileW} function GetEnhMetaFile(lpszMetaFile: LPCTSTR): HENHMETAFILE; stdcall; {$EXTERNALSYM GetEnhMetaFile} function GetEnhMetaFileBits(hemf: HENHMETAFILE; cbBuffer: UINT; lpBuffer: LPBYTE): UINT; stdcall; {$EXTERNALSYM GetEnhMetaFileBits} function GetEnhMetaFileDescriptionA(hemf: HENHMETAFILE; cchBuffer: UINT; lpszDescription: LPSTR): UINT; stdcall; {$EXTERNALSYM GetEnhMetaFileDescriptionA} function GetEnhMetaFileDescriptionW(hemf: HENHMETAFILE; cchBuffer: UINT; lpszDescription: LPWSTR): UINT; stdcall; {$EXTERNALSYM GetEnhMetaFileDescriptionW} function GetEnhMetaFileDescription(hemf: HENHMETAFILE; cchBuffer: UINT; lpszDescription: LPTSTR): UINT; stdcall; {$EXTERNALSYM GetEnhMetaFileDescription} function GetEnhMetaFileHeader(hemf: HENHMETAFILE; cbBuffer: UINT; lpemh: LPENHMETAHEADER ): UINT; stdcall; {$EXTERNALSYM GetEnhMetaFileHeader} function GetEnhMetaFilePaletteEntries(hemf: HENHMETAFILE; cEntries: UINT; lppe: LPPALETTEENTRY ): UINT; stdcall; {$EXTERNALSYM GetEnhMetaFilePaletteEntries} function GetEnhMetaFilePixelFormat(hemf: HENHMETAFILE; cbBuffer: UINT; var ppfd: PIXELFORMATDESCRIPTOR): UINT; stdcall; {$EXTERNALSYM GetEnhMetaFilePixelFormat} function GetWinMetaFileBits(hemf: HENHMETAFILE; cbBuffer: UINT; lpbBuffer: LPBYTE; fnMapMode: Integer; hdcRef: HDC): UINT; stdcall; {$EXTERNALSYM GetWinMetaFileBits} function PlayEnhMetaFile(hdc: HDC; hemf: HENHMETAFILE; const lpRect: RECT): BOOL; stdcall; {$EXTERNALSYM PlayEnhMetaFile} function PlayEnhMetaFileRecord(hdc: HDC; lpHandleTable: LPHANDLETABLE; lpEnhMetaRecord: LPENHMETARECORD; nHandles: UINT): BOOL; stdcall; {$EXTERNALSYM PlayEnhMetaFileRecord} function SetEnhMetaFileBits(cbBuffer: UINT; lpData: LPBYTE): HENHMETAFILE; stdcall; {$EXTERNALSYM SetEnhMetaFileBits} function SetWinMetaFileBits(cbBuffer: UINT; lpbBuffer: LPBYTE; hdcRef: HDC; const lpmfp: METAFILEPICT): HENHMETAFILE; stdcall; {$EXTERNALSYM SetWinMetaFileBits} function GdiComment(hdc: HDC; cbSize: UINT; lpData: LPBYTE): BOOL; stdcall; {$EXTERNALSYM GdiComment} function GetTextMetricsA(hdc: HDC; var lptm: TEXTMETRICA): BOOL; stdcall; {$EXTERNALSYM GetTextMetricsA} function GetTextMetricsW(hdc: HDC; var lptm: TEXTMETRICW): BOOL; stdcall; {$EXTERNALSYM GetTextMetricsW} function GetTextMetrics(hdc: HDC; var lptm: TEXTMETRIC): BOOL; stdcall; {$EXTERNALSYM GetTextMetrics} // new GDI type PDibSection = ^TDibSection; tagDIBSECTION = record dsBm: BITMAP; dsBmih: BITMAPINFOHEADER; dsBitfields: array [0..2] of DWORD; dshSection: HANDLE; dsOffset: DWORD; end; {$EXTERNALSYM tagDIBSECTION} DIBSECTION = tagDIBSECTION; {$EXTERNALSYM DIBSECTION} LPDIBSECTION = ^DIBSECTION; {$EXTERNALSYM LPDIBSECTION} TDibSection = DIBSECTION; function AngleArc(hdc: HDC; X, Y: Integer; dwRadius: DWORD; eStartAngle, eSweepAngle: FLOAT): BOOL; stdcall; {$EXTERNALSYM AngleArc} function PolyPolyline(hdc: HDC; lppt: LPPOINT; lpdwPolyPoints: LPDWORD; cCount: DWORD): BOOL; stdcall; {$EXTERNALSYM PolyPolyline} function GetWorldTransform(hdc: HDC; lpXform: LPXFORM): BOOL; stdcall; {$EXTERNALSYM GetWorldTransform} function SetWorldTransform(hdc: HDC; lpXform: LPXFORM): BOOL; stdcall; {$EXTERNALSYM SetWorldTransform} function ModifyWorldTransform(hdc: HDC; lpXform: LPXFORM; iMode: DWORD): BOOL; stdcall; {$EXTERNALSYM ModifyWorldTransform} function CombineTransform(lpxformResult, lpXform1, lpXform2: LPXFORM): BOOL; stdcall; {$EXTERNALSYM CombineTransform} function CreateDIBSection(hdc: HDC; pbmi: LPBITMAPINFO; iUsage: UINT; ppvBits: PPVOID; hSection: HANDLE; dwOffset: DWORD): HBITMAP; stdcall; {$EXTERNALSYM CreateDIBSection} function GetDIBColorTable(hdc: HDC; uStartIndex, cEntries: UINT; pColors: PRGBQUAD): UINT; stdcall; {$EXTERNALSYM GetDIBColorTable} function SetDIBColorTable(hdc: HDC; uStartIndex, cEntries: UINT; pColors: PRGBQUAD): UINT; stdcall; {$EXTERNALSYM SetDIBColorTable} // Flags value for COLORADJUSTMENT const CA_NEGATIVE = $0001; {$EXTERNALSYM CA_NEGATIVE} CA_LOG_FILTER = $0002; {$EXTERNALSYM CA_LOG_FILTER} // IlluminantIndex values ILLUMINANT_DEVICE_DEFAULT = 0; {$EXTERNALSYM ILLUMINANT_DEVICE_DEFAULT} ILLUMINANT_A = 1; {$EXTERNALSYM ILLUMINANT_A} ILLUMINANT_B = 2; {$EXTERNALSYM ILLUMINANT_B} ILLUMINANT_C = 3; {$EXTERNALSYM ILLUMINANT_C} ILLUMINANT_D50 = 4; {$EXTERNALSYM ILLUMINANT_D50} ILLUMINANT_D55 = 5; {$EXTERNALSYM ILLUMINANT_D55} ILLUMINANT_D65 = 6; {$EXTERNALSYM ILLUMINANT_D65} ILLUMINANT_D75 = 7; {$EXTERNALSYM ILLUMINANT_D75} ILLUMINANT_F2 = 8; {$EXTERNALSYM ILLUMINANT_F2} ILLUMINANT_MAX_INDEX = ILLUMINANT_F2; {$EXTERNALSYM ILLUMINANT_MAX_INDEX} ILLUMINANT_TUNGSTEN = ILLUMINANT_A; {$EXTERNALSYM ILLUMINANT_TUNGSTEN} ILLUMINANT_DAYLIGHT = ILLUMINANT_C; {$EXTERNALSYM ILLUMINANT_DAYLIGHT} ILLUMINANT_FLUORESCENT = ILLUMINANT_F2; {$EXTERNALSYM ILLUMINANT_FLUORESCENT} ILLUMINANT_NTSC = ILLUMINANT_C; {$EXTERNALSYM ILLUMINANT_NTSC} // Min and max for RedGamma, GreenGamma, BlueGamma RGB_GAMMA_MIN = WORD(02500); {$EXTERNALSYM RGB_GAMMA_MIN} RGB_GAMMA_MAX = WORD(65000); {$EXTERNALSYM RGB_GAMMA_MAX} // Min and max for ReferenceBlack and ReferenceWhite REFERENCE_WHITE_MIN = WORD(6000); {$EXTERNALSYM REFERENCE_WHITE_MIN} REFERENCE_WHITE_MAX = WORD(10000); {$EXTERNALSYM REFERENCE_WHITE_MAX} REFERENCE_BLACK_MIN = WORD(0); {$EXTERNALSYM REFERENCE_BLACK_MIN} REFERENCE_BLACK_MAX = WORD(4000); {$EXTERNALSYM REFERENCE_BLACK_MAX} // Min and max for Contrast, Brightness, Colorfulness, RedGreenTint COLOR_ADJ_MIN = SHORT(-100); {$EXTERNALSYM COLOR_ADJ_MIN} COLOR_ADJ_MAX = SHORT(100); {$EXTERNALSYM COLOR_ADJ_MAX} type PColorAdjustment = ^TColorAdjustment; tagCOLORADJUSTMENT = record caSize: WORD; caFlags: WORD; caIlluminantIndex: WORD; caRedGamma: WORD; caGreenGamma: WORD; caBlueGamma: WORD; caReferenceBlack: WORD; caReferenceWhite: WORD; caContrast: SHORT; caBrightness: SHORT; caColorfulness: SHORT; caRedGreenTint: SHORT; end; {$EXTERNALSYM tagCOLORADJUSTMENT} COLORADJUSTMENT = tagCOLORADJUSTMENT; {$EXTERNALSYM COLORADJUSTMENT} LPCOLORADJUSTMENT = ^COLORADJUSTMENT; {$EXTERNALSYM LPCOLORADJUSTMENT} TColorAdjustment = COLORADJUSTMENT; function SetColorAdjustment(hdc: HDC; lpca: LPCOLORADJUSTMENT): BOOL; stdcall; {$EXTERNALSYM SetColorAdjustment} function GetColorAdjustment(hdc: HDC; lpca: LPCOLORADJUSTMENT): BOOL; stdcall; {$EXTERNALSYM GetColorAdjustment} function CreateHalftonePalette(hdc: HDC): HPALETTE; stdcall; {$EXTERNALSYM CreateHalftonePalette} type ABORTPROC = function(hdc: HDC; iError: Integer): BOOL; stdcall; {$EXTERNALSYM ABORTPROC} PDocInfoA = ^TDocInfoA; _DOCINFOA = record cbSize: Integer; lpszDocName: LPCSTR; lpszOutput: LPCSTR; lpszDatatype: LPCSTR; fwType: DWORD; end; {$EXTERNALSYM _DOCINFOA} DOCINFOA = _DOCINFOA; {$EXTERNALSYM DOCINFOA} LPDOCINFOA = ^DOCINFOA; {$EXTERNALSYM LPDOCINFOA} TDocInfoA = _DOCINFOA; PDocInfoW = ^TDocInfoW; _DOCINFOW = record cbSize: Integer; lpszDocName: LPCWSTR; lpszOutput: LPCWSTR; lpszDatatype: LPCWSTR; fwType: DWORD; end; {$EXTERNALSYM _DOCINFOW} DOCINFOW = _DOCINFOW; {$EXTERNALSYM DOCINFOW} LPDOCINFOW = ^DOCINFOW; {$EXTERNALSYM LPDOCINFOW} TDocInfoW = _DOCINFOW; {$IFDEF UNICODE} DOCINFO = DOCINFOW; {$EXTERNALSYM DOCINFO} LPDOCINFO = LPDOCINFOW; {$EXTERNALSYM LPDOCINFO} TDocInfo = TDocInfoW; PDocInfo = PDocInfoW; {$ELSE} DOCINFO = DOCINFOA; {$EXTERNALSYM DOCINFO} LPDOCINFO = LPDOCINFOA; {$EXTERNALSYM LPDOCINFO} TDocInfo = TDocInfoA; PDocInfo = PDocInfoA; {$ENDIF UNICODE} const DI_APPBANDING = $00000001; {$EXTERNALSYM DI_APPBANDING} DI_ROPS_READ_DESTINATION = $00000002; {$EXTERNALSYM DI_ROPS_READ_DESTINATION} function StartDocA(hdc: HDC; const lpdi: DOCINFOA): Integer; stdcall; {$EXTERNALSYM StartDocA} function StartDocW(hdc: HDC; const lpdi: DOCINFOW): Integer; stdcall; {$EXTERNALSYM StartDocW} function StartDoc(hdc: HDC; const lpdi: DOCINFO): Integer; stdcall; {$EXTERNALSYM StartDoc} function EndDoc(dc: HDC): Integer; stdcall; {$EXTERNALSYM EndDoc} function StartPage(dc: HDC): Integer; stdcall; {$EXTERNALSYM StartPage} function EndPage(dc: HDC): Integer; stdcall; {$EXTERNALSYM EndPage} function AbortDoc(dc: HDC): Integer; stdcall; {$EXTERNALSYM AbortDoc} function SetAbortProc(dc: HDC; lpAbortProc: ABORTPROC): Integer; stdcall; {$EXTERNALSYM SetAbortProc} function AbortPath(hdc: HDC): BOOL; stdcall; {$EXTERNALSYM AbortPath} function ArcTo(hdc: HDC; nLeftRect, nTopRect, nRightRect, nBottomRect, nXRadial1, nYRadial1, nXRadial2, nYRadial2: Integer): BOOL; stdcall; {$EXTERNALSYM ArcTo} function BeginPath(hdc: HDC): BOOL; stdcall; {$EXTERNALSYM BeginPath} function CloseFigure(hdc: HDC): BOOL; stdcall; {$EXTERNALSYM CloseFigure} function EndPath(hdc: HDC): BOOL; stdcall; {$EXTERNALSYM EndPath} function FillPath(hdc: HDC): BOOL; stdcall; {$EXTERNALSYM FillPath} function FlattenPath(hdc: HDC): BOOL; stdcall; {$EXTERNALSYM FlattenPath} function GetPath(hdc: HDC; lpPoints: LPPOINT; lpTypes: LPBYTE; nSize: Integer): Integer; stdcall; {$EXTERNALSYM GetPath} function PathToRegion(hdc: HDC): HRGN; stdcall; {$EXTERNALSYM PathToRegion} function PolyDraw(hdc: HDC; lppt: LPPOINT; lpbTypes: LPBYTE; cCount: Integer): BOOL; stdcall; {$EXTERNALSYM PolyDraw} function SelectClipPath(hdc: HDC; iMode: Integer): BOOL; stdcall; {$EXTERNALSYM SelectClipPath} function SetArcDirection(hdc: HDC; ArcDirection: Integer): Integer; stdcall; {$EXTERNALSYM SetArcDirection} function SetMiterLimit(hdc: HDC; eNewLimit: FLOAT; peOldLimit: PFLOAT): BOOL; stdcall; {$EXTERNALSYM SetMiterLimit} function StrokeAndFillPath(hdc: HDC): BOOL; stdcall; {$EXTERNALSYM StrokeAndFillPath} function StrokePath(hdc: HDC): BOOL; stdcall; {$EXTERNALSYM StrokePath} function WidenPath(hdc: HDC): BOOL; stdcall; {$EXTERNALSYM WidenPath} function ExtCreatePen(dwPenStyle, dwWidth: DWORD; const lplb: LOGBRUSH; dwStyleCount: DWORD; lpStyle: DWORD): HPEN; stdcall; {$EXTERNALSYM ExtCreatePen} function GetMiterLimit(hdc: HDC; var peLimit: FLOAT): BOOL; stdcall; {$EXTERNALSYM GetMiterLimit} function GetArcDirection(hdc: HDC): Integer; stdcall; {$EXTERNALSYM GetArcDirection} function GetObjectA(hgdiobj: HGDIOBJ; cbBuffer: Integer; lpvObject: LPVOID): Integer; stdcall; {$EXTERNALSYM GetObjectA} function GetObjectW(hgdiobj: HGDIOBJ; cbBuffer: Integer; lpvObject: LPVOID): Integer; stdcall; {$EXTERNALSYM GetObjectW} function GetObject(hgdiobj: HGDIOBJ; cbBuffer: Integer; lpvObject: LPVOID): Integer; stdcall; {$EXTERNALSYM GetObject} function MoveToEx(hdc: HDC; X, Y: Integer; lpPoint: LPPOINT): BOOL; stdcall; {$EXTERNALSYM MoveToEx} function TextOutA(hdc: HDC; nXStart, nYStart: Integer; lpString: LPCSTR; cbString: Integer): BOOL; stdcall; {$EXTERNALSYM TextOutA} function TextOutW(hdc: HDC; nXStart, nYStart: Integer; lpString: LPCWSTR; cbString: Integer): BOOL; stdcall; {$EXTERNALSYM TextOutW} function TextOut(hdc: HDC; nXStart, nYStart: Integer; lpString: LPCTSTR; cbString: Integer): BOOL; stdcall; {$EXTERNALSYM TextOut} function ExtTextOutA(hdc: HDC; X, Y: Integer; fuOptions: UINT; lprc: LPRECT; lpString: LPCSTR; cbCount: UINT; lpDx: LPINT): BOOL; stdcall; {$EXTERNALSYM ExtTextOutA} function ExtTextOutW(hdc: HDC; X, Y: Integer; fuOptions: UINT; lprc: LPRECT; lpString: LPCWSTR; cbCount: UINT; lpDx: LPINT): BOOL; stdcall; {$EXTERNALSYM ExtTextOutW} function ExtTextOut(hdc: HDC; X, Y: Integer; fuOptions: UINT; lprc: LPRECT; lpString: LPCTSTR; cbCount: UINT; lpDx: LPINT): BOOL; stdcall; {$EXTERNALSYM ExtTextOut} function PolyTextOutA(hdc: HDC; pptxt: LPPOLYTEXTA; cStrings: Integer): BOOL; stdcall; {$EXTERNALSYM PolyTextOutA} function PolyTextOutW(hdc: HDC; pptxt: LPPOLYTEXTW; cStrings: Integer): BOOL; stdcall; {$EXTERNALSYM PolyTextOutW} function PolyTextOut(hdc: HDC; pptxt: LPPOLYTEXT; cStrings: Integer): BOOL; stdcall; {$EXTERNALSYM PolyTextOut} function CreatePolygonRgn(lppt: LPPOINT; cPoints, fnPolyFillMode: Integer): HRGN; stdcall; {$EXTERNALSYM CreatePolygonRgn} function DPtoLP(hdc: HDC; lpPoints: LPPOINT; nCount: Integer): BOOL; stdcall; {$EXTERNALSYM DPtoLP} function LPtoDP(hdc: HDC; lpPoints: LPPOINT; nCount: Integer): BOOL; stdcall; {$EXTERNALSYM LPtoDP} function Polygon(hdc: HDC; lpPoints: LPPOINT; nCount: Integer): BOOL; stdcall; {$EXTERNALSYM Polygon} function Polyline(hdc: HDC; lppt: LPPOINT; nCount: Integer): BOOL; stdcall; {$EXTERNALSYM Polyline} function PolyBezier(hdc: HDC; lppt: LPPOINT; cPoints: DWORD): BOOL; stdcall; {$EXTERNALSYM PolyBezier} function PolyBezierTo(hdc: HDC; lppt: LPPOINT; cCount: DWORD): BOOL; stdcall; {$EXTERNALSYM PolyBezierTo} function PolylineTo(hdc: HDC; lppt: LPPOINT; cCount: DWORD): BOOL; stdcall; {$EXTERNALSYM PolylineTo} function SetViewportExtEx(hdc: HDC; nXExtend, nYExtend: Integer; lpSize: LPSIZE): BOOL; stdcall; {$EXTERNALSYM SetViewportExtEx} function SetViewportOrgEx(hdc: HDC; X, Y: Integer; lpPoint: LPPOINT): BOOL; stdcall; {$EXTERNALSYM SetViewportOrgEx} function SetWindowExtEx(hdc: HDC; nXExtend, nYExtend: Integer; lpSize: LPSIZE): BOOL; stdcall; {$EXTERNALSYM SetWindowExtEx} function SetWindowOrgEx(hdc: HDC; X, Y: Integer; lpPoint: LPPOINT): BOOL; stdcall; {$EXTERNALSYM SetWindowOrgEx} function OffsetViewportOrgEx(hdc: HDC; nXOffset, nYOffset: Integer; lpPoint: LPPOINT): BOOL; stdcall; {$EXTERNALSYM OffsetViewportOrgEx} function OffsetWindowOrgEx(hdc: HDC; nXOffset, nYOffset: Integer; lpPoint: LPPOINT): BOOL; stdcall; {$EXTERNALSYM OffsetWindowOrgEx} function ScaleViewportExtEx(hdc: HDC; Xnum, Xdenom, Ynum, Ydenom: Integer; lpSize: LPSIZE): BOOL; stdcall; {$EXTERNALSYM ScaleViewportExtEx} function ScaleWindowExtEx(hdc: HDC; Xnum, Xdenom, Ynum, Ydenom: Integer; lpSize: LPSIZE): BOOL; stdcall; {$EXTERNALSYM ScaleWindowExtEx} function SetBitmapDimensionEx(hBitmap: HBITMAP; nWidth, nHeight: Integer; lpSize: LPSIZE): BOOL; stdcall; {$EXTERNALSYM SetBitmapDimensionEx} function SetBrushOrgEx(hdc: HDC; nXOrg, nYOrg: Integer; lppt: LPPOINT): BOOL; stdcall; {$EXTERNALSYM SetBrushOrgEx} function GetTextFaceA(hdc: HDC; nCount: Integer; lpFaceName: LPSTR): Integer; stdcall; {$EXTERNALSYM GetTextFaceA} function GetTextFaceW(hdc: HDC; nCount: Integer; lpFaceName: LPWSTR): Integer; stdcall; {$EXTERNALSYM GetTextFaceW} function GetTextFace(hdc: HDC; nCount: Integer; lpFaceName: LPTSTR): Integer; stdcall; {$EXTERNALSYM GetTextFace} const FONTMAPPER_MAX = 10; {$EXTERNALSYM FONTMAPPER_MAX} type PKerningPair = ^TKerningPair; tagKERNINGPAIR = record wFirst: WORD; wSecond: WORD; iKernAmount: Integer; end; {$EXTERNALSYM tagKERNINGPAIR} KERNINGPAIR = tagKERNINGPAIR; {$EXTERNALSYM KERNINGPAIR} LPKERNINGPAIR = ^KERNINGPAIR; {$EXTERNALSYM LPKERNINGPAIR} TKerningPair = KERNINGPAIR; function GetKerningPairsA(hDc: HDC; nNumPairs: DWORD; lpkrnpair: LPKERNINGPAIR): DWORD; stdcall; {$EXTERNALSYM GetKerningPairsA} function GetKerningPairsW(hDc: HDC; nNumPairs: DWORD; lpkrnpair: LPKERNINGPAIR): DWORD; stdcall; {$EXTERNALSYM GetKerningPairsW} function GetKerningPairs(hDc: HDC; nNumPairs: DWORD; lpkrnpair: LPKERNINGPAIR): DWORD; stdcall; {$EXTERNALSYM GetKerningPairs} function GetDCOrgEx(hdc: HDC; lpPoint: LPPOINT): BOOL; stdcall; {$EXTERNALSYM GetDCOrgEx} function FixBrushOrgEx(hDc: HDC; I1, I2: Integer; lpPoint: LPPOINT): BOOL; stdcall; {$EXTERNALSYM FixBrushOrgEx} function UnrealizeObject(hgdiobj: HGDIOBJ): BOOL; stdcall; {$EXTERNALSYM UnrealizeObject} function GdiFlush: BOOL; stdcall; {$EXTERNALSYM GdiFlush} function GdiSetBatchLimit(dwLimit: DWORD): DWORD; stdcall; {$EXTERNALSYM GdiSetBatchLimit} function GdiGetBatchLimit: DWORD; stdcall; {$EXTERNALSYM GdiGetBatchLimit} const ICM_OFF = 1; {$EXTERNALSYM ICM_OFF} ICM_ON = 2; {$EXTERNALSYM ICM_ON} ICM_QUERY = 3; {$EXTERNALSYM ICM_QUERY} ICM_DONE_OUTSIDEDC = 4; {$EXTERNALSYM ICM_DONE_OUTSIDEDC} type ICMENUMPROCA = function(lpszFileName: LPSTR; lParam: LPARAM): Integer; stdcall; {$EXTERNALSYM ICMENUMPROCA} ICMENUMPROCW = function(lpszFileName: LPWSTR; lParam: LPARAM): Integer; stdcall; {$EXTERNALSYM ICMENUMPROCW} ICMENUMPROC = function(lpszFileName: LPTSTR; lParam: LPARAM): Integer; stdcall; {$EXTERNALSYM ICMENUMPROC} function SetICMMode(hDc: HDC; iEnableICM: Integer): Integer; stdcall; {$EXTERNALSYM SetICMMode} function CheckColorsInGamut(hDc: HDC; lpRGBTriples, lpBuffer: LPVOID; nCount: DWORD): BOOL; stdcall; {$EXTERNALSYM CheckColorsInGamut} function GetColorSpace(hDc: HDC): HCOLORSPACE; stdcall; {$EXTERNALSYM GetColorSpace} function GetLogColorSpaceA(hColorSpace: HCOLORSPACE; lpBuffer: LPLOGCOLORSPACEA; nSize: DWORD): BOOL; stdcall; {$EXTERNALSYM GetLogColorSpaceA} function GetLogColorSpaceW(hColorSpace: HCOLORSPACE; lpBuffer: LPLOGCOLORSPACEW; nSize: DWORD): BOOL; stdcall; {$EXTERNALSYM GetLogColorSpaceW} function GetLogColorSpace(hColorSpace: HCOLORSPACE; lpBuffer: LPLOGCOLORSPACE; nSize: DWORD): BOOL; stdcall; {$EXTERNALSYM GetLogColorSpace} function CreateColorSpaceA(lpLogColorSpace: LPLOGCOLORSPACEA): HCOLORSPACE; stdcall; {$EXTERNALSYM CreateColorSpaceA} function CreateColorSpaceW(lpLogColorSpace: LPLOGCOLORSPACEW): HCOLORSPACE; stdcall; {$EXTERNALSYM CreateColorSpaceW} function CreateColorSpace(lpLogColorSpace: LPLOGCOLORSPACE): HCOLORSPACE; stdcall; {$EXTERNALSYM CreateColorSpace} function SetColorSpace(hDc: HDC; hColorSpace: HCOLORSPACE): HCOLORSPACE; stdcall; {$EXTERNALSYM SetColorSpace} function DeleteColorSpace(hColorSpace: HCOLORSPACE): BOOL; stdcall; {$EXTERNALSYM DeleteColorSpace} function GetICMProfileA(hDc: HDC; lpcbName: LPDWORD; lpszFilename: LPSTR): BOOL; stdcall; {$EXTERNALSYM GetICMProfileA} function GetICMProfileW(hDc: HDC; lpcbName: LPDWORD; lpszFilename: LPWSTR): BOOL; stdcall; {$EXTERNALSYM GetICMProfileW} function GetICMProfile(hDc: HDC; lpcbName: LPDWORD; lpszFilename: LPTSTR): BOOL; stdcall; {$EXTERNALSYM GetICMProfile} function SetICMProfileA(hDc: HDC; lpFileName: LPSTR): BOOL; stdcall; {$EXTERNALSYM SetICMProfileA} function SetICMProfileW(hDc: HDC; lpFileName: LPWSTR): BOOL; stdcall; {$EXTERNALSYM SetICMProfileW} function SetICMProfile(hDc: HDC; lpFileName: LPTSTR): BOOL; stdcall; {$EXTERNALSYM SetICMProfile} function GetDeviceGammaRamp(hDc: HDC; lpRamp: LPVOID): BOOL; stdcall; {$EXTERNALSYM GetDeviceGammaRamp} function SetDeviceGammaRamp(hDc: HDC; lpRamp: LPVOID): BOOL; stdcall; {$EXTERNALSYM SetDeviceGammaRamp} function ColorMatchToTarget(hDc, hdcTarget: HDC; uiAction: DWORD): BOOL; stdcall; {$EXTERNALSYM ColorMatchToTarget} function EnumICMProfilesA(hDc: HDC; lpEnumProc: ICMENUMPROCA; lParam: LPARAM): Integer; stdcall; {$EXTERNALSYM EnumICMProfilesA} function EnumICMProfilesW(hDc: HDC; lpEnumProc: ICMENUMPROCW; lParam: LPARAM): Integer; stdcall; {$EXTERNALSYM EnumICMProfilesW} function EnumICMProfiles(hDc: HDC; lpEnumProc: ICMENUMPROC; lParam: LPARAM): Integer; stdcall; {$EXTERNALSYM EnumICMProfiles} function UpdateICMRegKeyA(dwReserved: DWORD; lpszCMID, lpszFileName: LPSTR; nCommand: UINT): BOOL; stdcall; {$EXTERNALSYM UpdateICMRegKeyA} function UpdateICMRegKeyW(dwReserved: DWORD; lpszCMID, lpszFileName: LPWSTR; nCommand: UINT): BOOL; stdcall; {$EXTERNALSYM UpdateICMRegKeyW} function UpdateICMRegKey(dwReserved: DWORD; lpszCMID, lpszFileName: LPTSTR; nCommand: UINT): BOOL; stdcall; {$EXTERNALSYM UpdateICMRegKey} function ColorCorrectPalette(hDc: HDC; hColorPalette: HPALETTE; dwFirstEntry, dwNumOfEntries: DWORD): BOOL; stdcall; {$EXTERNALSYM ColorCorrectPalette} // Enhanced metafile constants. const ENHMETA_SIGNATURE = $464D4520; {$EXTERNALSYM ENHMETA_SIGNATURE} // Stock object flag used in the object handle index in the enhanced // metafile records. // E.g. The object handle index (META_STOCK_OBJECT | BLACK_BRUSH) // represents the stock object BLACK_BRUSH. ENHMETA_STOCK_OBJECT = DWORD($80000000); {$EXTERNALSYM ENHMETA_STOCK_OBJECT} // Enhanced metafile record types. EMR_HEADER = 1; {$EXTERNALSYM EMR_HEADER} EMR_POLYBEZIER = 2; {$EXTERNALSYM EMR_POLYBEZIER} EMR_POLYGON = 3; {$EXTERNALSYM EMR_POLYGON} EMR_POLYLINE = 4; {$EXTERNALSYM EMR_POLYLINE} EMR_POLYBEZIERTO = 5; {$EXTERNALSYM EMR_POLYBEZIERTO} EMR_POLYLINETO = 6; {$EXTERNALSYM EMR_POLYLINETO} EMR_POLYPOLYLINE = 7; {$EXTERNALSYM EMR_POLYPOLYLINE} EMR_POLYPOLYGON = 8; {$EXTERNALSYM EMR_POLYPOLYGON} EMR_SETWINDOWEXTEX = 9; {$EXTERNALSYM EMR_SETWINDOWEXTEX} EMR_SETWINDOWORGEX = 10; {$EXTERNALSYM EMR_SETWINDOWORGEX} EMR_SETVIEWPORTEXTEX = 11; {$EXTERNALSYM EMR_SETVIEWPORTEXTEX} EMR_SETVIEWPORTORGEX = 12; {$EXTERNALSYM EMR_SETVIEWPORTORGEX} EMR_SETBRUSHORGEX = 13; {$EXTERNALSYM EMR_SETBRUSHORGEX} EMR_EOF = 14; {$EXTERNALSYM EMR_EOF} EMR_SETPIXELV = 15; {$EXTERNALSYM EMR_SETPIXELV} EMR_SETMAPPERFLAGS = 16; {$EXTERNALSYM EMR_SETMAPPERFLAGS} EMR_SETMAPMODE = 17; {$EXTERNALSYM EMR_SETMAPMODE} EMR_SETBKMODE = 18; {$EXTERNALSYM EMR_SETBKMODE} EMR_SETPOLYFILLMODE = 19; {$EXTERNALSYM EMR_SETPOLYFILLMODE} EMR_SETROP2 = 20; {$EXTERNALSYM EMR_SETROP2} EMR_SETSTRETCHBLTMODE = 21; {$EXTERNALSYM EMR_SETSTRETCHBLTMODE} EMR_SETTEXTALIGN = 22; {$EXTERNALSYM EMR_SETTEXTALIGN} EMR_SETCOLORADJUSTMENT = 23; {$EXTERNALSYM EMR_SETCOLORADJUSTMENT} EMR_SETTEXTCOLOR = 24; {$EXTERNALSYM EMR_SETTEXTCOLOR} EMR_SETBKCOLOR = 25; {$EXTERNALSYM EMR_SETBKCOLOR} EMR_OFFSETCLIPRGN = 26; {$EXTERNALSYM EMR_OFFSETCLIPRGN} EMR_MOVETOEX = 27; {$EXTERNALSYM EMR_MOVETOEX} EMR_SETMETARGN = 28; {$EXTERNALSYM EMR_SETMETARGN} EMR_EXCLUDECLIPRECT = 29; {$EXTERNALSYM EMR_EXCLUDECLIPRECT} EMR_INTERSECTCLIPRECT = 30; {$EXTERNALSYM EMR_INTERSECTCLIPRECT} EMR_SCALEVIEWPORTEXTEX = 31; {$EXTERNALSYM EMR_SCALEVIEWPORTEXTEX} EMR_SCALEWINDOWEXTEX = 32; {$EXTERNALSYM EMR_SCALEWINDOWEXTEX} EMR_SAVEDC = 33; {$EXTERNALSYM EMR_SAVEDC} EMR_RESTOREDC = 34; {$EXTERNALSYM EMR_RESTOREDC} EMR_SETWORLDTRANSFORM = 35; {$EXTERNALSYM EMR_SETWORLDTRANSFORM} EMR_MODIFYWORLDTRANSFORM = 36; {$EXTERNALSYM EMR_MODIFYWORLDTRANSFORM} EMR_SELECTOBJECT = 37; {$EXTERNALSYM EMR_SELECTOBJECT} EMR_CREATEPEN = 38; {$EXTERNALSYM EMR_CREATEPEN} EMR_CREATEBRUSHINDIRECT = 39; {$EXTERNALSYM EMR_CREATEBRUSHINDIRECT} EMR_DELETEOBJECT = 40; {$EXTERNALSYM EMR_DELETEOBJECT} EMR_ANGLEARC = 41; {$EXTERNALSYM EMR_ANGLEARC} EMR_ELLIPSE = 42; {$EXTERNALSYM EMR_ELLIPSE} EMR_RECTANGLE = 43; {$EXTERNALSYM EMR_RECTANGLE} EMR_ROUNDRECT = 44; {$EXTERNALSYM EMR_ROUNDRECT} EMR_ARC = 45; {$EXTERNALSYM EMR_ARC} EMR_CHORD = 46; {$EXTERNALSYM EMR_CHORD} EMR_PIE = 47; {$EXTERNALSYM EMR_PIE} EMR_SELECTPALETTE = 48; {$EXTERNALSYM EMR_SELECTPALETTE} EMR_CREATEPALETTE = 49; {$EXTERNALSYM EMR_CREATEPALETTE} EMR_SETPALETTEENTRIES = 50; {$EXTERNALSYM EMR_SETPALETTEENTRIES} EMR_RESIZEPALETTE = 51; {$EXTERNALSYM EMR_RESIZEPALETTE} EMR_REALIZEPALETTE = 52; {$EXTERNALSYM EMR_REALIZEPALETTE} EMR_EXTFLOODFILL = 53; {$EXTERNALSYM EMR_EXTFLOODFILL} EMR_LINETO = 54; {$EXTERNALSYM EMR_LINETO} EMR_ARCTO = 55; {$EXTERNALSYM EMR_ARCTO} EMR_POLYDRAW = 56; {$EXTERNALSYM EMR_POLYDRAW} EMR_SETARCDIRECTION = 57; {$EXTERNALSYM EMR_SETARCDIRECTION} EMR_SETMITERLIMIT = 58; {$EXTERNALSYM EMR_SETMITERLIMIT} EMR_BEGINPATH = 59; {$EXTERNALSYM EMR_BEGINPATH} EMR_ENDPATH = 60; {$EXTERNALSYM EMR_ENDPATH} EMR_CLOSEFIGURE = 61; {$EXTERNALSYM EMR_CLOSEFIGURE} EMR_FILLPATH = 62; {$EXTERNALSYM EMR_FILLPATH} EMR_STROKEANDFILLPATH = 63; {$EXTERNALSYM EMR_STROKEANDFILLPATH} EMR_STROKEPATH = 64; {$EXTERNALSYM EMR_STROKEPATH} EMR_FLATTENPATH = 65; {$EXTERNALSYM EMR_FLATTENPATH} EMR_WIDENPATH = 66; {$EXTERNALSYM EMR_WIDENPATH} EMR_SELECTCLIPPATH = 67; {$EXTERNALSYM EMR_SELECTCLIPPATH} EMR_ABORTPATH = 68; {$EXTERNALSYM EMR_ABORTPATH} EMR_GDICOMMENT = 70; {$EXTERNALSYM EMR_GDICOMMENT} EMR_FILLRGN = 71; {$EXTERNALSYM EMR_FILLRGN} EMR_FRAMERGN = 72; {$EXTERNALSYM EMR_FRAMERGN} EMR_INVERTRGN = 73; {$EXTERNALSYM EMR_INVERTRGN} EMR_PAINTRGN = 74; {$EXTERNALSYM EMR_PAINTRGN} EMR_EXTSELECTCLIPRGN = 75; {$EXTERNALSYM EMR_EXTSELECTCLIPRGN} EMR_BITBLT = 76; {$EXTERNALSYM EMR_BITBLT} EMR_STRETCHBLT = 77; {$EXTERNALSYM EMR_STRETCHBLT} EMR_MASKBLT = 78; {$EXTERNALSYM EMR_MASKBLT} EMR_PLGBLT = 79; {$EXTERNALSYM EMR_PLGBLT} EMR_SETDIBITSTODEVICE = 80; {$EXTERNALSYM EMR_SETDIBITSTODEVICE} EMR_STRETCHDIBITS = 81; {$EXTERNALSYM EMR_STRETCHDIBITS} EMR_EXTCREATEFONTINDIRECTW = 82; {$EXTERNALSYM EMR_EXTCREATEFONTINDIRECTW} EMR_EXTTEXTOUTA = 83; {$EXTERNALSYM EMR_EXTTEXTOUTA} EMR_EXTTEXTOUTW = 84; {$EXTERNALSYM EMR_EXTTEXTOUTW} EMR_POLYBEZIER16 = 85; {$EXTERNALSYM EMR_POLYBEZIER16} EMR_POLYGON16 = 86; {$EXTERNALSYM EMR_POLYGON16} EMR_POLYLINE16 = 87; {$EXTERNALSYM EMR_POLYLINE16} EMR_POLYBEZIERTO16 = 88; {$EXTERNALSYM EMR_POLYBEZIERTO16} EMR_POLYLINETO16 = 89; {$EXTERNALSYM EMR_POLYLINETO16} EMR_POLYPOLYLINE16 = 90; {$EXTERNALSYM EMR_POLYPOLYLINE16} EMR_POLYPOLYGON16 = 91; {$EXTERNALSYM EMR_POLYPOLYGON16} EMR_POLYDRAW16 = 92; {$EXTERNALSYM EMR_POLYDRAW16} EMR_CREATEMONOBRUSH = 93; {$EXTERNALSYM EMR_CREATEMONOBRUSH} EMR_CREATEDIBPATTERNBRUSHPT = 94; {$EXTERNALSYM EMR_CREATEDIBPATTERNBRUSHPT} EMR_EXTCREATEPEN = 95; {$EXTERNALSYM EMR_EXTCREATEPEN} EMR_POLYTEXTOUTA = 96; {$EXTERNALSYM EMR_POLYTEXTOUTA} EMR_POLYTEXTOUTW = 97; {$EXTERNALSYM EMR_POLYTEXTOUTW} EMR_SETICMMODE = 98; {$EXTERNALSYM EMR_SETICMMODE} EMR_CREATECOLORSPACE = 99; {$EXTERNALSYM EMR_CREATECOLORSPACE} EMR_SETCOLORSPACE = 100; {$EXTERNALSYM EMR_SETCOLORSPACE} EMR_DELETECOLORSPACE = 101; {$EXTERNALSYM EMR_DELETECOLORSPACE} EMR_GLSRECORD = 102; {$EXTERNALSYM EMR_GLSRECORD} EMR_GLSBOUNDEDRECORD = 103; {$EXTERNALSYM EMR_GLSBOUNDEDRECORD} EMR_PIXELFORMAT = 104; {$EXTERNALSYM EMR_PIXELFORMAT} EMR_RESERVED_105 = 105; {$EXTERNALSYM EMR_RESERVED_105} EMR_RESERVED_106 = 106; {$EXTERNALSYM EMR_RESERVED_106} EMR_RESERVED_107 = 107; {$EXTERNALSYM EMR_RESERVED_107} EMR_RESERVED_108 = 108; {$EXTERNALSYM EMR_RESERVED_108} EMR_RESERVED_109 = 109; {$EXTERNALSYM EMR_RESERVED_109} EMR_RESERVED_110 = 110; {$EXTERNALSYM EMR_RESERVED_110} EMR_COLORCORRECTPALETTE = 111; {$EXTERNALSYM EMR_COLORCORRECTPALETTE} EMR_SETICMPROFILEA = 112; {$EXTERNALSYM EMR_SETICMPROFILEA} EMR_SETICMPROFILEW = 113; {$EXTERNALSYM EMR_SETICMPROFILEW} EMR_ALPHABLEND = 114; {$EXTERNALSYM EMR_ALPHABLEND} EMR_SETLAYOUT = 115; {$EXTERNALSYM EMR_SETLAYOUT} EMR_TRANSPARENTBLT = 116; {$EXTERNALSYM EMR_TRANSPARENTBLT} EMR_RESERVED_117 = 117; {$EXTERNALSYM EMR_RESERVED_117} EMR_GRADIENTFILL = 118; {$EXTERNALSYM EMR_GRADIENTFILL} EMR_RESERVED_119 = 119; {$EXTERNALSYM EMR_RESERVED_119} EMR_RESERVED_120 = 120; {$EXTERNALSYM EMR_RESERVED_120} EMR_COLORMATCHTOTARGETW = 121; {$EXTERNALSYM EMR_COLORMATCHTOTARGETW} EMR_CREATECOLORSPACEW = 122; {$EXTERNALSYM EMR_CREATECOLORSPACEW} EMR_MIN = 1; {$EXTERNALSYM EMR_MIN} {$IFDEF WIN98ME_UP} EMR_MAX = 122; {$EXTERNALSYM EMR_MAX} {$ELSE} EMR_MAX = 104; {$EXTERNALSYM EMR_MAX} {$ENDIF WIN98ME_UP} // Base record type for the enhanced metafile. type PEmr = ^TEmr; tagEMR = record iType: DWORD; // Enhanced metafile record type nSize: DWORD; // Length of the record in bytes. // This must be a multiple of 4. end; {$EXTERNALSYM tagEMR} EMR = tagEMR; {$EXTERNALSYM EMR} TEmr = EMR; // Base text record type for the enhanced metafile. PEmrText = ^TEmrText; tagEMRTEXT = record ptlReference: POINTL; nChars: DWORD; offString: DWORD; // Offset to the string fOptions: DWORD; rcl: RECTL; offDx: DWORD; // Offset to the inter-character spacing array. // This is always given. end; {$EXTERNALSYM tagEMRTEXT} EMRTEXT = tagEMRTEXT; {$EXTERNALSYM EMRTEXT} TEmrText = EMRTEXT; // Record structures for the enhanced metafile. PAbortPath = ^TAbortPath; tagABORTPATH = record emr: EMR; end; {$EXTERNALSYM tagABORTPATH} TAbortPath = tagABORTPATH; EMRABORTPATH = tagABORTPATH; {$EXTERNALSYM EMRABORTPATH} PEMRABORTPATH = ^EMRABORTPATH; {$EXTERNALSYM PEMRABORTPATH} EMRBEGINPATH = tagABORTPATH; {$EXTERNALSYM EMRBEGINPATH} PEMRBEGINPATH = ^EMRBEGINPATH; {$EXTERNALSYM PEMRBEGINPATH} EMRENDPATH = tagABORTPATH; {$EXTERNALSYM EMRENDPATH} PEMRENDPATH = ^EMRENDPATH; {$EXTERNALSYM PEMRENDPATH} EMRCLOSEFIGURE = tagABORTPATH; {$EXTERNALSYM EMRCLOSEFIGURE} PEMRCLOSEFIGURE = ^EMRCLOSEFIGURE; {$EXTERNALSYM PEMRCLOSEFIGURE} EMRFLATTENPATH = tagABORTPATH; {$EXTERNALSYM EMRFLATTENPATH} PEMRFLATTENPATH = ^EMRFLATTENPATH; {$EXTERNALSYM PEMRFLATTENPATH} EMRWIDENPATH = tagABORTPATH; {$EXTERNALSYM EMRWIDENPATH} PEMRWIDENPATH = ^EMRWIDENPATH; {$EXTERNALSYM PEMRWIDENPATH} EMRSETMETARGN = tagABORTPATH; {$EXTERNALSYM EMRSETMETARGN} PEMRSETMETARGN = ^EMRSETMETARGN; {$EXTERNALSYM PEMRSETMETARGN} EMRSAVEDC = tagABORTPATH; {$EXTERNALSYM EMRSAVEDC} PEMRSAVEDC = ^EMRSAVEDC; {$EXTERNALSYM PEMRSAVEDC} EMRREALIZEPALETTE = tagABORTPATH; {$EXTERNALSYM EMRREALIZEPALETTE} PEMRREALIZEPALETTE = ^EMRREALIZEPALETTE; {$EXTERNALSYM PEMRREALIZEPALETTE} PEmrSelectClipPath = ^TEmrSelectClipPath; tagEMRSELECTCLIPPATH = record emr: EMR; iMode: DWORD; end; {$EXTERNALSYM tagEMRSELECTCLIPPATH} EMRSELECTCLIPPATH = tagEMRSELECTCLIPPATH; {$EXTERNALSYM EMRSELECTCLIPPATH} LPEMRSELECTCLIPPATH = ^EMRSELECTCLIPPATH; {$EXTERNALSYM LPEMRSELECTCLIPPATH} TEmrSelectClipPath = EMRSELECTCLIPPATH; EMRSETBKMODE = tagEMRSELECTCLIPPATH; {$EXTERNALSYM EMRSETBKMODE} PEMRSETBKMODE = ^EMRSETBKMODE; {$EXTERNALSYM PEMRSETBKMODE} EMRSETMAPMODE = tagEMRSELECTCLIPPATH; {$EXTERNALSYM EMRSETMAPMODE} PEMRSETMAPMODE = ^EMRSETMAPMODE; {$EXTERNALSYM PEMRSETMAPMODE} EMRSETLAYOUT = tagEMRSELECTCLIPPATH; {$EXTERNALSYM EMRSETLAYOUT} PEMRSETLAYOUT = ^EMRSETLAYOUT; {$EXTERNALSYM PEMRSETLAYOUT} EMRSETPOLYFILLMODE = tagEMRSELECTCLIPPATH; {$EXTERNALSYM EMRSETPOLYFILLMODE} PEMRSETPOLYFILLMODE = EMRSETPOLYFILLMODE; {$EXTERNALSYM PEMRSETPOLYFILLMODE} EMRSETROP2 = tagEMRSELECTCLIPPATH; {$EXTERNALSYM EMRSETROP2} PEMRSETROP2 = ^EMRSETROP2; {$EXTERNALSYM PEMRSETROP2} EMRSETSTRETCHBLTMODE = tagEMRSELECTCLIPPATH; {$EXTERNALSYM EMRSETSTRETCHBLTMODE} PEMRSETSTRETCHBLTMODE = ^EMRSETSTRETCHBLTMODE; {$EXTERNALSYM PEMRSETSTRETCHBLTMODE} EMRSETICMMODE = tagEMRSELECTCLIPPATH; {$EXTERNALSYM EMRSETICMMODE} PEMRSETICMMODE = ^EMRSETICMMODE; {$EXTERNALSYM PEMRSETICMMODE} EMRSETTEXTALIGN = tagEMRSELECTCLIPPATH; {$EXTERNALSYM EMRSETTEXTALIGN} PEMRSETTEXTALIGN = ^EMRSETTEXTALIGN; {$EXTERNALSYM PEMRSETTEXTALIGN} PEmrSetMiterLimit = ^TEmrSetMiterLimit; tagEMRSETMITERLIMIT = record emr: EMR; eMiterLimit: FLOAT; end; {$EXTERNALSYM tagEMRSETMITERLIMIT} EMRSETMITERLIMIT = tagEMRSETMITERLIMIT; {$EXTERNALSYM EMRSETMITERLIMIT} TEmrSetMiterLimit = EMRSETMITERLIMIT; PEmrRestoreDc = ^TEmrRestoreDc; tagEMRRESTOREDC = record emr: EMR; iRelative: LONG; // Specifies a relative instance end; {$EXTERNALSYM tagEMRRESTOREDC} EMRRESTOREDC = tagEMRRESTOREDC; {$EXTERNALSYM EMRRESTOREDC} TEmrRestoreDc = EMRRESTOREDC; PEmrSetArcDirection = ^TEmrSetArcDirection; tagEMRSETARCDIRECTION = record emr: EMR; iArcDirection: DWORD; // Specifies the arc direction in the // advanced graphics mode. end; {$EXTERNALSYM tagEMRSETARCDIRECTION} EMRSETARCDIRECTION = tagEMRSETARCDIRECTION; {$EXTERNALSYM EMRSETARCDIRECTION} TEmrSetArcDirection = EMRSETARCDIRECTION; PEmrSetMapperFlags = ^TEmrSetMapperFlags; tagEMRSETMAPPERFLAGS = record emr: EMR; dwFlags: DWORD; end; {$EXTERNALSYM tagEMRSETMAPPERFLAGS} EMRSETMAPPERFLAGS = tagEMRSETMAPPERFLAGS; {$EXTERNALSYM EMRSETMAPPERFLAGS} TEmrSetMapperFlags = EMRSETMAPPERFLAGS; PEmrSetTextColor = ^TEmrSetTextColor; tagEMRSETTEXTCOLOR = record emr: EMR; crColor: COLORREF; end; {$EXTERNALSYM tagEMRSETTEXTCOLOR} EMRSETTEXTCOLOR = tagEMRSETTEXTCOLOR; {$EXTERNALSYM EMRSETTEXTCOLOR} EMRSETBKCOLOR = tagEMRSETTEXTCOLOR; {$EXTERNALSYM EMRSETBKCOLOR} PEMRSETBKCOLOR = ^EMRSETTEXTCOLOR; {$EXTERNALSYM PEMRSETBKCOLOR} TEmrSetTextColor = EMRSETTEXTCOLOR; PEmrSelectObject = ^TEmrSelectObject; tagEMRSELECTOBJECT = record emr: EMR; ihObject: DWORD; // Object handle index end; {$EXTERNALSYM tagEMRSELECTOBJECT} EMRSELECTOBJECT = tagEMRSELECTOBJECT; {$EXTERNALSYM EMRSELECTOBJECT} EMRDELETEOBJECT = tagEMRSELECTOBJECT; {$EXTERNALSYM EMRDELETEOBJECT} PEMRDELETEOBJECT = ^EMRDELETEOBJECT; {$EXTERNALSYM PEMRDELETEOBJECT} TEmrSelectObject = EMRSELECTOBJECT; PEmrSelectPalette = ^TEmrSelectPalette; tagEMRSELECTPALETTE = record emr: EMR; ihPal: DWORD; // Palette handle index, background mode only end; {$EXTERNALSYM tagEMRSELECTPALETTE} EMRSELECTPALETTE = tagEMRSELECTPALETTE; {$EXTERNALSYM EMRSELECTPALETTE} TEmrSelectPalette = EMRSELECTPALETTE; PEmrResizePalette = ^TEmrResizePalette; tagEMRRESIZEPALETTE = record emr: EMR; ihPal: DWORD; // Palette handle index cEntries: DWORD; end; {$EXTERNALSYM tagEMRRESIZEPALETTE} EMRRESIZEPALETTE = tagEMRRESIZEPALETTE; {$EXTERNALSYM EMRRESIZEPALETTE} TEmrResizePalette = EMRRESIZEPALETTE; PEmrSetPaletteEntries = ^TEmrSetPaletteEntries; tagEMRSETPALETTEENTRIES = record emr: EMR; ihPal: DWORD; // Palette handle index iStart: DWORD; cEntries: DWORD; aPalEntries: array [0..0] of PALETTEENTRY; // The peFlags fields do not contain any flags end; {$EXTERNALSYM tagEMRSETPALETTEENTRIES} EMRSETPALETTEENTRIES = tagEMRSETPALETTEENTRIES; {$EXTERNALSYM EMRSETPALETTEENTRIES} TEmrSetPaletteEntries = EMRSETPALETTEENTRIES; PEmrSetColorAdjustment = ^TEmrSetColorAdjustment; tagEMRSETCOLORADJUSTMENT = record emr: EMR; ColorAdjustment: COLORADJUSTMENT; end; {$EXTERNALSYM tagEMRSETCOLORADJUSTMENT} EMRSETCOLORADJUSTMENT = tagEMRSETCOLORADJUSTMENT; {$EXTERNALSYM EMRSETCOLORADJUSTMENT} TEmrSetColorAdjustment = EMRSETCOLORADJUSTMENT; PEmrGdiComment = ^TEmrGdiComment; tagEMRGDICOMMENT = record emr: EMR; cbData: DWORD; // Size of data in bytes Data: array [0..0] of BYTE; end; {$EXTERNALSYM tagEMRGDICOMMENT} EMRGDICOMMENT = tagEMRGDICOMMENT; {$EXTERNALSYM EMRGDICOMMENT} TEmrGdiComment = EMRGDICOMMENT; PEmrEof = ^TEmrEof; tagEMREOF = record emr: EMR; nPalEntries: DWORD; // Number of palette entries offPalEntries: DWORD; // Offset to the palette entries nSizeLast: DWORD; // Same as nSize and must be the last DWORD // of the record. The palette entries, // if exist, precede this field. end; {$EXTERNALSYM tagEMREOF} EMREOF = tagEMREOF; {$EXTERNALSYM EMREOF} TEmrEof = EMREOF; PEmrLineTo = ^TEmrLineTo; tagEMRLINETO = record emr: EMR; ptl: POINTL; end; {$EXTERNALSYM tagEMRLINETO} EMRLINETO = tagEMRLINETO; {$EXTERNALSYM EMRLINETO} EMRMOVETOEX = tagEMRLINETO; {$EXTERNALSYM EMRMOVETOEX} PEMRMOVETOEX = ^EMRMOVETOEX; {$EXTERNALSYM PEMRMOVETOEX} TEmrLineTo = EMRLINETO; PEmrOffsetClipRgn = ^TEmrOffsetClipRgn; tagEMROFFSETCLIPRGN = record emr: EMR; ptlOffset: POINTL; end; {$EXTERNALSYM tagEMROFFSETCLIPRGN} EMROFFSETCLIPRGN = tagEMROFFSETCLIPRGN; {$EXTERNALSYM EMROFFSETCLIPRGN} TEmrOffsetClipRgn = EMROFFSETCLIPRGN; PEmrFillPath = ^TEmrFillPath; tagEMRFILLPATH = record emr: EMR; rclBounds: RECTL; // Inclusive-inclusive bounds in device units end; {$EXTERNALSYM tagEMRFILLPATH} EMRFILLPATH = tagEMRFILLPATH; {$EXTERNALSYM EMRFILLPATH} EMRSTROKEANDFILLPATH = tagEMRFILLPATH; {$EXTERNALSYM EMRSTROKEANDFILLPATH} PEMRSTROKEANDFILLPATH = ^EMRSTROKEANDFILLPATH; {$EXTERNALSYM PEMRSTROKEANDFILLPATH} EMRSTROKEPATH = tagEMRFILLPATH; {$EXTERNALSYM EMRSTROKEPATH} PEMRSTROKEPATH = ^EMRSTROKEPATH; {$EXTERNALSYM PEMRSTROKEPATH} TEmrFillPath = EMRFILLPATH; PEmrExcludeClipRect = ^TEmrExcludeClipRect; tagEMREXCLUDECLIPRECT = record emr: EMR; rclClip: RECTL; end; {$EXTERNALSYM tagEMREXCLUDECLIPRECT} EMREXCLUDECLIPRECT = tagEMREXCLUDECLIPRECT; {$EXTERNALSYM EMREXCLUDECLIPRECT} EMRINTERSECTCLIPRECT = tagEMREXCLUDECLIPRECT; {$EXTERNALSYM EMRINTERSECTCLIPRECT} PEMRINTERSECTCLIPRECT = ^EMRINTERSECTCLIPRECT; {$EXTERNALSYM PEMRINTERSECTCLIPRECT} TEmrExcludeClipRect = EMREXCLUDECLIPRECT; PEmrSetViewPortOrgEx = ^TEmrSetViewPortOrgEx; tagEMRSETVIEWPORTORGEX = record emr: EMR; ptlOrigin: POINTL; end; {$EXTERNALSYM tagEMRSETVIEWPORTORGEX} EMRSETVIEWPORTORGEX = tagEMRSETVIEWPORTORGEX; {$EXTERNALSYM EMRSETVIEWPORTORGEX} EMRSETWINDOWORGEX = tagEMRSETVIEWPORTORGEX; {$EXTERNALSYM EMRSETWINDOWORGEX} PEMRSETWINDOWORGEX = ^EMRSETWINDOWORGEX; {$EXTERNALSYM PEMRSETWINDOWORGEX} EMRSETBRUSHORGEX = tagEMRSETVIEWPORTORGEX; {$EXTERNALSYM EMRSETBRUSHORGEX} PEMRSETBRUSHORGEX = ^EMRSETBRUSHORGEX; {$EXTERNALSYM PEMRSETBRUSHORGEX} TEmrSetViewPortOrgEx = EMRSETVIEWPORTORGEX; PEmrSetViewPortExtEx = ^TEmrSetViewPortExtEx; tagEMRSETVIEWPORTEXTEX = record emr: EMR; szlExtent: SIZEL; end; {$EXTERNALSYM tagEMRSETVIEWPORTEXTEX} EMRSETVIEWPORTEXTEX = tagEMRSETVIEWPORTEXTEX; {$EXTERNALSYM EMRSETVIEWPORTEXTEX} EMRSETWINDOWEXTEX = tagEMRSETVIEWPORTEXTEX; {$EXTERNALSYM EMRSETWINDOWEXTEX} TEmrSetViewPortExtEx = EMRSETVIEWPORTEXTEX; PEmrScaleViewPortExtEx = ^TEmrScaleViewPortExtEx; tagEMRSCALEVIEWPORTEXTEX = record emr: EMR; xNum: LONG; xDenom: LONG; yNum: LONG; yDenom: LONG; end; {$EXTERNALSYM tagEMRSCALEVIEWPORTEXTEX} EMRSCALEVIEWPORTEXTEX = tagEMRSCALEVIEWPORTEXTEX; {$EXTERNALSYM EMRSCALEVIEWPORTEXTEX} EMRSCALEWINDOWEXTEX = tagEMRSCALEVIEWPORTEXTEX; {$EXTERNALSYM EMRSCALEWINDOWEXTEX} PEMRSCALEWINDOWEXTEX = ^EMRSCALEWINDOWEXTEX; {$EXTERNALSYM PEMRSCALEWINDOWEXTEX} TEmrScaleViewPortExtEx = EMRSCALEVIEWPORTEXTEX; PEmrSetWorldTransform = ^TEmrSetWorldTransform; tagEMRSETWORLDTRANSFORM = record emr: EMR; xform: XFORM; end; {$EXTERNALSYM tagEMRSETWORLDTRANSFORM} EMRSETWORLDTRANSFORM = tagEMRSETWORLDTRANSFORM; {$EXTERNALSYM EMRSETWORLDTRANSFORM} TEmrSetWorldTransform = EMRSETWORLDTRANSFORM; PEmrModifyWorldTransform = ^TEmrModifyWorldTransform; tagEMRMODIFYWORLDTRANSFORM = record emr: EMR; xform: XFORM; iMode: DWORD; end; {$EXTERNALSYM tagEMRMODIFYWORLDTRANSFORM} EMRMODIFYWORLDTRANSFORM = tagEMRMODIFYWORLDTRANSFORM; {$EXTERNALSYM EMRMODIFYWORLDTRANSFORM} TEmrModifyWorldTransform = EMRMODIFYWORLDTRANSFORM; PEmrSetPixelV = ^TEmrSetPixelV; tagEMRSETPIXELV = record emr: EMR; ptlPixel: POINTL; crColor: COLORREF; end; {$EXTERNALSYM tagEMRSETPIXELV} EMRSETPIXELV = tagEMRSETPIXELV; {$EXTERNALSYM EMRSETPIXELV} TEmrSetPixelV = EMRSETPIXELV; PEmrExtFloodFill = ^TEmrExtFloodFill; tagEMREXTFLOODFILL = record emr: EMR; ptlStart: POINTL; crColor: COLORREF; iMode: DWORD; end; {$EXTERNALSYM tagEMREXTFLOODFILL} EMREXTFLOODFILL = tagEMREXTFLOODFILL; {$EXTERNALSYM EMREXTFLOODFILL} TEmrExtFloodFill = EMREXTFLOODFILL; PEmrEllipse = ^TEmrEllipse; tagEMRELLIPSE = record emr: EMR; rclBox: RECTL; // Inclusive-inclusive bounding rectangle end; {$EXTERNALSYM tagEMRELLIPSE} EMRELLIPSE = tagEMRELLIPSE; {$EXTERNALSYM EMRELLIPSE} EMRRECTANGLE = tagEMRELLIPSE; {$EXTERNALSYM EMRRECTANGLE} PEMRRECTANGLE = ^EMRRECTANGLE; {$EXTERNALSYM PEMRRECTANGLE} TEmrEllipse = EMRELLIPSE; PEmrRoundRect = ^TEmrRoundRect; tagEMRROUNDRECT = record emr: EMR; rclBox: RECTL; // Inclusive-inclusive bounding rectangle szlCorner: SIZEL; end; {$EXTERNALSYM tagEMRROUNDRECT} EMRROUNDRECT = tagEMRROUNDRECT; {$EXTERNALSYM EMRROUNDRECT} TEmrRoundRect = EMRROUNDRECT; PEmrArc = ^TEmrArc; tagEMRARC = record emr: EMR; rclBox: RECTL; // Inclusive-inclusive bounding rectangle ptlStart: POINTL; ptlEnd: POINTL; end; {$EXTERNALSYM tagEMRARC} EMRARC = tagEMRARC; {$EXTERNALSYM EMRARC} EMRARCTO = tagEMRARC; {$EXTERNALSYM EMRARCTO} PEMRARCTO = ^EMRARCTO; {$EXTERNALSYM PEMRARCTO} EMRCHORD = tagEMRARC; {$EXTERNALSYM EMRCHORD} PEMRCHORD = ^EMRCHORD; {$EXTERNALSYM PEMRCHORD} EMRPIE = tagEMRARC; {$EXTERNALSYM EMRPIE} PEMRPIE = ^EMRPIE; {$EXTERNALSYM PEMRPIE} TEmrArc = EMRARC; PEmrAngleArc = ^TEmrAngleArc; tagEMRANGLEARC = record emr: EMR; ptlCenter: POINTL; nRadius: DWORD; eStartAngle: FLOAT; eSweepAngle: FLOAT; end; {$EXTERNALSYM tagEMRANGLEARC} EMRANGLEARC = tagEMRANGLEARC; {$EXTERNALSYM EMRANGLEARC} TEmrAngleArc = EMRANGLEARC; PEmrPolyline = ^TEmrPolyline; tagEMRPOLYLINE = record emr: EMR; rclBounds: RECTL; // Inclusive-inclusive bounds in device units cptl: DWORD; aptl: array [0..0] of POINTL; end; {$EXTERNALSYM tagEMRPOLYLINE} EMRPOLYLINE = tagEMRPOLYLINE; {$EXTERNALSYM EMRPOLYLINE} EMRPOLYBEZIER = tagEMRPOLYLINE; {$EXTERNALSYM EMRPOLYBEZIER} PEMRPOLYBEZIER = ^EMRPOLYBEZIER; {$EXTERNALSYM PEMRPOLYBEZIER} EMRPOLYGON = tagEMRPOLYLINE; {$EXTERNALSYM EMRPOLYGON} PEMRPOLYGON = ^EMRPOLYGON; {$EXTERNALSYM PEMRPOLYGON} EMRPOLYBEZIERTO = tagEMRPOLYLINE; {$EXTERNALSYM EMRPOLYBEZIERTO} PEMRPOLYBEZIERTO = ^EMRPOLYBEZIERTO; {$EXTERNALSYM PEMRPOLYBEZIERTO} EMRPOLYLINETO = tagEMRPOLYLINE; {$EXTERNALSYM EMRPOLYLINETO} PEMRPOLYLINETO = ^EMRPOLYLINETO; {$EXTERNALSYM PEMRPOLYLINETO} TEmrPolyline = EMRPOLYLINE; PEmrPolyline16 = ^TEmrPolyline16; tagEMRPOLYLINE16 = record emr: EMR; rclBounds: RECTL; // Inclusive-inclusive bounds in device units cpts: DWORD; apts: array [0..0] of POINTS; end; {$EXTERNALSYM tagEMRPOLYLINE16} EMRPOLYLINE16 = tagEMRPOLYLINE16; {$EXTERNALSYM EMRPOLYLINE16} EMRPOLYBEZIER16 = tagEMRPOLYLINE16; {$EXTERNALSYM EMRPOLYBEZIER16} PEMRPOLYBEZIER16 = ^EMRPOLYBEZIER16; {$EXTERNALSYM PEMRPOLYBEZIER16} EMRPOLYGON16 = tagEMRPOLYLINE16; {$EXTERNALSYM EMRPOLYGON16} PEMRPOLYGON16 = ^EMRPOLYGON16; {$EXTERNALSYM PEMRPOLYGON16} EMRPOLYBEZIERTO16 = tagEMRPOLYLINE16; {$EXTERNALSYM EMRPOLYBEZIERTO16} PEMRPOLYBEZIERTO16 = ^EMRPOLYBEZIERTO16; {$EXTERNALSYM PEMRPOLYBEZIERTO16} EMRPOLYLINETO16 = tagEMRPOLYLINE16; {$EXTERNALSYM EMRPOLYLINETO16} PEMRPOLYLINETO16 = ^EMRPOLYLINETO16; {$EXTERNALSYM PEMRPOLYLINETO16} TEmrPolyline16 = EMRPOLYLINE16; PEmrPolyDraw = ^TEmrPolyDraw; tagEMRPOLYDRAW = record emr: EMR; rclBounds: RECTL; // Inclusive-inclusive bounds in device units cptl: DWORD; // Number of points aptl: array [0..0] of POINTL; // Array of points abTypes: array [0..0] of BYTE; // Array of point types end; {$EXTERNALSYM tagEMRPOLYDRAW} EMRPOLYDRAW = tagEMRPOLYDRAW; {$EXTERNALSYM EMRPOLYDRAW} TEmrPolyDraw = EMRPOLYDRAW; PEmrPolyDraw16 = ^TEmrPolyDraw16; tagEMRPOLYDRAW16 = record emr: EMR; rclBounds: RECTL; // Inclusive-inclusive bounds in device units cpts: DWORD; // Number of points apts: array [0..0] of POINTS; // Array of points abTypes: array [0..0] of BYTE; // Array of point types end; {$EXTERNALSYM tagEMRPOLYDRAW16} EMRPOLYDRAW16 = tagEMRPOLYDRAW16; {$EXTERNALSYM EMRPOLYDRAW16} TEmrPolyDraw16 = EMRPOLYDRAW16; PEmrPolyPolyline = ^TEmrPolyPolyline; tagEMRPOLYPOLYLINE = record emr: EMR; rclBounds: RECTL; // Inclusive-inclusive bounds in device units nPolys: DWORD; // Number of polys cptl: DWORD; // Total number of points in all polys aPolyCounts: array [0..0] of DWORD; // Array of point counts for each poly aptl: array [0..0] of POINTL; // Array of points end; {$EXTERNALSYM tagEMRPOLYPOLYLINE} EMRPOLYPOLYLINE = tagEMRPOLYPOLYLINE; {$EXTERNALSYM EMRPOLYPOLYLINE} EMRPOLYPOLYGON = tagEMRPOLYPOLYLINE; {$EXTERNALSYM EMRPOLYPOLYGON} TEmrPolyPolyline = EMRPOLYPOLYLINE; PEmrPolyPolyline16 = ^TEmrPolyPolyline16; tagEMRPOLYPOLYLINE16 = record emr: EMR; rclBounds: RECTL; // Inclusive-inclusive bounds in device units nPolys: DWORD; // Number of polys cpts: DWORD; // Total number of points in all polys aPolyCounts: array [0..0] of DWORD; // Array of point counts for each poly apts: array [0..0] of POINTS; // Array of points end; {$EXTERNALSYM tagEMRPOLYPOLYLINE16} EMRPOLYPOLYLINE16 = tagEMRPOLYPOLYLINE16; {$EXTERNALSYM EMRPOLYPOLYLINE16} EMRPOLYPOLYGON16 = tagEMRPOLYPOLYLINE16; {$EXTERNALSYM EMRPOLYPOLYGON16} PEMRPOLYPOLYGON16 = ^EMRPOLYPOLYGON16; {$EXTERNALSYM PEMRPOLYPOLYGON16} TEmrPolyPolyline16 = EMRPOLYPOLYLINE16; PEmrInvertRgn = ^TEmrInvertRgn; tagEMRINVERTRGN = record emr: EMR; rclBounds: RECTL; // Inclusive-inclusive bounds in device units cbRgnData: DWORD; // Size of region data in bytes RgnData: array [0..0] of BYTE; end; {$EXTERNALSYM tagEMRINVERTRGN} EMRINVERTRGN = tagEMRINVERTRGN; {$EXTERNALSYM EMRINVERTRGN} EMRPAINTRGN = tagEMRINVERTRGN; {$EXTERNALSYM EMRPAINTRGN} TEmrInvertRgn = EMRINVERTRGN; PEmrFillRgn = ^TEmrFillRgn; tagEMRFILLRGN = record emr: EMR; rclBounds: RECTL; // Inclusive-inclusive bounds in device units cbRgnData: DWORD; // Size of region data in bytes ihBrush: DWORD; // Brush handle index RgnData: array [0..0] of BYTE; end; {$EXTERNALSYM tagEMRFILLRGN} EMRFILLRGN = tagEMRFILLRGN; {$EXTERNALSYM EMRFILLRGN} TEmrFillRgn = EMRFILLRGN; PEmrFrameRgn = ^TEmrFrameRgn; tagEMRFRAMERGN = record emr: EMR; rclBounds: RECTL; // Inclusive-inclusive bounds in device units cbRgnData: DWORD; // Size of region data in bytes ihBrush: DWORD; // Brush handle index szlStroke: SIZEL; RgnData: array [0..0] of BYTE; end; {$EXTERNALSYM tagEMRFRAMERGN} EMRFRAMERGN = tagEMRFRAMERGN; {$EXTERNALSYM EMRFRAMERGN} TEmrFrameRgn = EMRFRAMERGN; PEmrExtSelectClipRgn = ^TEmrExtSelectClipRgn; tagEMREXTSELECTCLIPRGN = record emr: EMR; cbRgnData: DWORD; // Size of region data in bytes iMode: DWORD; RgnData: array [0..0] of BYTE; end; {$EXTERNALSYM tagEMREXTSELECTCLIPRGN} EMREXTSELECTCLIPRGN = tagEMREXTSELECTCLIPRGN; {$EXTERNALSYM EMREXTSELECTCLIPRGN} TEmrExtSelectClipRgn = EMREXTSELECTCLIPRGN; PEmrExtTextOutA = ^TEmrExtTextOutA; tagEMREXTTEXTOUTA = record emr: EMR; rclBounds: RECTL; // Inclusive-inclusive bounds in device units iGraphicsMode: DWORD; // Current graphics mode exScale: FLOAT; // X and Y scales from Page units to .01mm units eyScale: FLOAT; // if graphics mode is GM_COMPATIBLE. emrtext: EMRTEXT; // This is followed by the string and spacing array end; {$EXTERNALSYM tagEMREXTTEXTOUTA} EMREXTTEXTOUTA = tagEMREXTTEXTOUTA; {$EXTERNALSYM EMREXTTEXTOUTA} EMREXTTEXTOUTW = tagEMREXTTEXTOUTA; {$EXTERNALSYM EMREXTTEXTOUTW} PEMREXTTEXTOUTW = ^EMREXTTEXTOUTW; {$EXTERNALSYM PEMREXTTEXTOUTW} TEmrExtTextOutA = EMREXTTEXTOUTA; PEmrPolyTextOutA = ^TEmrPolyTextOutA; tagEMRPOLYTEXTOUTA = record emr: EMR; rclBounds: RECTL; // Inclusive-inclusive bounds in device units iGraphicsMode: DWORD; // Current graphics mode exScale: FLOAT; // X and Y scales from Page units to .01mm units eyScale: FLOAT; // if graphics mode is GM_COMPATIBLE. cStrings: LONG; aemrtext: array [0..0] of EMRTEXT; // Array of EMRTEXT structures. This is // followed by the strings and spacing arrays. end; {$EXTERNALSYM tagEMRPOLYTEXTOUTA} EMRPOLYTEXTOUTA = tagEMRPOLYTEXTOUTA; {$EXTERNALSYM EMRPOLYTEXTOUTA} EMRPOLYTEXTOUTW = tagEMRPOLYTEXTOUTA; {$EXTERNALSYM EMRPOLYTEXTOUTW} PEMRPOLYTEXTOUTW = ^EMRPOLYTEXTOUTW; {$EXTERNALSYM PEMRPOLYTEXTOUTW} TEmrPolyTextOutA = EMRPOLYTEXTOUTA; PEmrBitBlt = ^TEmrBitBlt; tagEMRBITBLT = record emr: EMR; rclBounds: RECTL; // Inclusive-inclusive bounds in device units xDest: LONG; yDest: LONG; cxDest: LONG; cyDest: LONG; dwRop: DWORD; xSrc: LONG; ySrc: LONG; xformSrc: XFORM; // Source DC transform crBkColorSrc: COLORREF; // Source DC BkColor in RGB iUsageSrc: DWORD; // Source bitmap info color table usage // (DIB_RGB_COLORS) offBmiSrc: DWORD; // Offset to the source BITMAPINFO structure cbBmiSrc: DWORD; // Size of the source BITMAPINFO structure offBitsSrc: DWORD; // Offset to the source bitmap bits cbBitsSrc: DWORD; // Size of the source bitmap bits end; {$EXTERNALSYM tagEMRBITBLT} EMRBITBLT = tagEMRBITBLT; {$EXTERNALSYM EMRBITBLT} TEmrBitBlt = EMRBITBLT; PEmrStretchBlt = ^TEmrStretchBlt; tagEMRSTRETCHBLT = record emr: EMR; rclBounds: RECTL; // Inclusive-inclusive bounds in device units xDest: LONG; yDest: LONG; cxDest: LONG; cyDest: LONG; dwRop: DWORD; xSrc: LONG; ySrc: LONG; xformSrc: XFORM; // Source DC transform crBkColorSrc: COLORREF; // Source DC BkColor in RGB iUsageSrc: DWORD; // Source bitmap info color table usage // (DIB_RGB_COLORS) offBmiSrc: DWORD; // Offset to the source BITMAPINFO structure cbBmiSrc: DWORD; // Size of the source BITMAPINFO structure offBitsSrc: DWORD; // Offset to the source bitmap bits cbBitsSrc: DWORD; // Size of the source bitmap bits cxSrc: LONG; cySrc: LONG; end; {$EXTERNALSYM tagEMRSTRETCHBLT} EMRSTRETCHBLT = tagEMRSTRETCHBLT; {$EXTERNALSYM EMRSTRETCHBLT} TEmrStretchBlt = EMRSTRETCHBLT; PEmrMaskBlt = ^TEmrMaskBlt; tagEMRMASKBLT = record emr: EMR; rclBounds: RECTL; // Inclusive-inclusive bounds in device units xDest: LONG; yDest: LONG; cxDest: LONG; cyDest: LONG; dwRop: DWORD; xSrc: LONG; ySrc: LONG; xformSrc: XFORM; // Source DC transform crBkColorSrc: COLORREF; // Source DC BkColor in RGB iUsageSrc: DWORD; // Source bitmap info color table usage // (DIB_RGB_COLORS) offBmiSrc: DWORD; // Offset to the source BITMAPINFO structure cbBmiSrc: DWORD; // Size of the source BITMAPINFO structure offBitsSrc: DWORD; // Offset to the source bitmap bits cbBitsSrc: DWORD; // Size of the source bitmap bits xMask: LONG; yMask: LONG; iUsageMask: DWORD; // Mask bitmap info color table usage offBmiMask: DWORD; // Offset to the mask BITMAPINFO structure if any cbBmiMask: DWORD; // Size of the mask BITMAPINFO structure if any offBitsMask: DWORD; // Offset to the mask bitmap bits if any cbBitsMask: DWORD; // Size of the mask bitmap bits if any end; {$EXTERNALSYM tagEMRMASKBLT} EMRMASKBLT = tagEMRMASKBLT; {$EXTERNALSYM EMRMASKBLT} TEmrMaskBlt = EMRMASKBLT; PEmrPlgBlt = ^TEmrPlgBlt; tagEMRPLGBLT = record emr: EMR; rclBounds: RECTL; // Inclusive-inclusive bounds in device units aptlDest: array[0..2] of POINTL; xSrc: LONG; ySrc: LONG; cxSrc: LONG; cySrc: LONG; xformSrc: XFORM; // Source DC transform crBkColorSrc: COLORREF; // Source DC BkColor in RGB iUsageSrc: DWORD; // Source bitmap info color table usage // (DIB_RGB_COLORS) offBmiSrc: DWORD; // Offset to the source BITMAPINFO structure cbBmiSrc: DWORD; // Size of the source BITMAPINFO structure offBitsSrc: DWORD; // Offset to the source bitmap bits cbBitsSrc: DWORD; // Size of the source bitmap bits xMask: LONG; yMask: LONG; iUsageMask: DWORD; // Mask bitmap info color table usage offBmiMask: DWORD; // Offset to the mask BITMAPINFO structure if any cbBmiMask: DWORD; // Size of the mask BITMAPINFO structure if any offBitsMask: DWORD; // Offset to the mask bitmap bits if any cbBitsMask: DWORD; // Size of the mask bitmap bits if any end; {$EXTERNALSYM tagEMRPLGBLT} EMRPLGBLT = tagEMRPLGBLT; {$EXTERNALSYM EMRPLGBLT} TEmrPlgBlt = EMRPLGBLT; PEmrSetDiBitsToDevice = ^TEmrSetDiBitsToDevice; tagEMRSETDIBITSTODEVICE = record emr: EMR; rclBounds: RECTL; // Inclusive-inclusive bounds in device units xDest: LONG; yDest: LONG; xSrc: LONG; ySrc: LONG; cxSrc: LONG; cySrc: LONG; offBmiSrc: DWORD; // Offset to the source BITMAPINFO structure cbBmiSrc: DWORD; // Size of the source BITMAPINFO structure offBitsSrc: DWORD; // Offset to the source bitmap bits cbBitsSrc: DWORD; // Size of the source bitmap bits iUsageSrc: DWORD; // Source bitmap info color table usage iStartScan: DWORD; cScans: DWORD; end; {$EXTERNALSYM tagEMRSETDIBITSTODEVICE} EMRSETDIBITSTODEVICE = tagEMRSETDIBITSTODEVICE; {$EXTERNALSYM EMRSETDIBITSTODEVICE} TEmrSetDiBitsToDevice = EMRSETDIBITSTODEVICE; PEmrStretchDiBits = ^TEmrStretchDiBits; tagEMRSTRETCHDIBITS = record emr: EMR; rclBounds: RECTL; // Inclusive-inclusive bounds in device units xDest: LONG; yDest: LONG; xSrc: LONG; ySrc: LONG; cxSrc: LONG; cySrc: LONG; offBmiSrc: DWORD; // Offset to the source BITMAPINFO structure cbBmiSrc: DWORD; // Size of the source BITMAPINFO structure offBitsSrc: DWORD; // Offset to the source bitmap bits cbBitsSrc: DWORD; // Size of the source bitmap bits iUsageSrc: DWORD; // Source bitmap info color table usage dwRop: DWORD; cxDest: LONG; cyDest: LONG; end; {$EXTERNALSYM tagEMRSTRETCHDIBITS} EMRSTRETCHDIBITS = tagEMRSTRETCHDIBITS; {$EXTERNALSYM EMRSTRETCHDIBITS} TEmrStretchDiBits = EMRSTRETCHDIBITS; PEmrExtCreateFontIndirectW = ^TEmrExtCreateFontIndirectW; tagEMREXTCREATEFONTINDIRECTW = record emr: EMR; ihFont: DWORD; // Font handle index elfw: EXTLOGFONTW; end; {$EXTERNALSYM tagEMREXTCREATEFONTINDIRECTW} EMREXTCREATEFONTINDIRECTW = tagEMREXTCREATEFONTINDIRECTW; {$EXTERNALSYM EMREXTCREATEFONTINDIRECTW} TEmrExtCreateFontIndirectW = EMREXTCREATEFONTINDIRECTW; PEmrCreatePalette = ^TEmrCreatePalette; tagEMRCREATEPALETTE = record emr: EMR; ihPal: DWORD; // Palette handle index lgpl: LOGPALETTE; // The peFlags fields in the palette entries // do not contain any flags end; {$EXTERNALSYM tagEMRCREATEPALETTE} EMRCREATEPALETTE = tagEMRCREATEPALETTE; {$EXTERNALSYM EMRCREATEPALETTE} TEmrCreatePalette = EMRCREATEPALETTE; PEmrCreatePen = ^TEmrCreatePen; tagEMRCREATEPEN = record emr: EMR; ihPen: DWORD; // Pen handle index lopn: LOGPEN; end; {$EXTERNALSYM tagEMRCREATEPEN} EMRCREATEPEN = tagEMRCREATEPEN; {$EXTERNALSYM EMRCREATEPEN} TEmrCreatePen = EMRCREATEPEN; PEmrExtCreatePen = ^TEmrExtCreatePen; tagEMREXTCREATEPEN = record emr: EMR; ihPen: DWORD; // Pen handle index offBmi: DWORD; // Offset to the BITMAPINFO structure if any cbBmi: DWORD; // Size of the BITMAPINFO structure if any // The bitmap info is followed by the bitmap // bits to form a packed DIB. offBits: DWORD; // Offset to the brush bitmap bits if any cbBits: DWORD; // Size of the brush bitmap bits if any elp: EXTLOGPEN; // The extended pen with the style array. end; {$EXTERNALSYM tagEMREXTCREATEPEN} EMREXTCREATEPEN = tagEMREXTCREATEPEN; {$EXTERNALSYM EMREXTCREATEPEN} TEmrExtCreatePen = EMREXTCREATEPEN; PEmrCreateBrushIndirect = ^TEmrCreateBrushIndirect; tagEMRCREATEBRUSHINDIRECT = record emr: EMR; ihBrush: DWORD; // Brush handle index lb: LOGBRUSH32; // The style must be BS_SOLID, BS_HOLLOW, // BS_NULL or BS_HATCHED. end; {$EXTERNALSYM tagEMRCREATEBRUSHINDIRECT} EMRCREATEBRUSHINDIRECT = tagEMRCREATEBRUSHINDIRECT; {$EXTERNALSYM EMRCREATEBRUSHINDIRECT} TEmrCreateBrushIndirect = EMRCREATEBRUSHINDIRECT; PEmrCreateMonoBrush = ^TEmrCreateMonoBrush; tagEMRCREATEMONOBRUSH = record emr: EMR; ihBrush: DWORD; // Brush handle index iUsage: DWORD; // Bitmap info color table usage offBmi: DWORD; // Offset to the BITMAPINFO structure cbBmi: DWORD; // Size of the BITMAPINFO structure offBits: DWORD; // Offset to the bitmap bits cbBits: DWORD; // Size of the bitmap bits end; {$EXTERNALSYM tagEMRCREATEMONOBRUSH} EMRCREATEMONOBRUSH = tagEMRCREATEMONOBRUSH; {$EXTERNALSYM EMRCREATEMONOBRUSH} TEmrCreateMonoBrush = EMRCREATEMONOBRUSH; PEmrCreateDibPatternBrushPt = ^TEmrCreateDibPatternBrushPt; tagEMRCREATEDIBPATTERNBRUSHPT = record emr: EMR; ihBrush: DWORD; // Brush handle index iUsage: DWORD; // Bitmap info color table usage offBmi: DWORD; // Offset to the BITMAPINFO structure cbBmi: DWORD; // Size of the BITMAPINFO structure // The bitmap info is followed by the bitmap // bits to form a packed DIB. offBits: DWORD; // Offset to the bitmap bits cbBits: DWORD; // Size of the bitmap bits end; {$EXTERNALSYM tagEMRCREATEDIBPATTERNBRUSHPT} EMRCREATEDIBPATTERNBRUSHPT = tagEMRCREATEDIBPATTERNBRUSHPT; {$EXTERNALSYM EMRCREATEDIBPATTERNBRUSHPT} TEmrCreateDibPatternBrushPt = EMRCREATEDIBPATTERNBRUSHPT; PEmrFormat = ^TEmrFormat; tagEMRFORMAT = record dSignature: DWORD; // Format signature, e.g. ENHMETA_SIGNATURE. nVersion: DWORD; // Format version number. cbData: DWORD; // Size of data in bytes. offData: DWORD; // Offset to data from GDICOMMENT_IDENTIFIER. // It must begin at a DWORD offset. end; {$EXTERNALSYM tagEMRFORMAT} EMRFORMAT = tagEMRFORMAT; {$EXTERNALSYM EMRFORMAT} TEmrFormat = EMRFORMAT; PEmrGlsRecord = ^TEmrGlsRecord; tagEMRGLSRECORD = record emr: EMR; cbData: DWORD; // Size of data in bytes Data: array [0..0] of BYTE; end; {$EXTERNALSYM tagEMRGLSRECORD} EMRGLSRECORD = tagEMRGLSRECORD; {$EXTERNALSYM EMRGLSRECORD} TEmrGlsRecord = EMRGLSRECORD; PEmrGlsBoundedRecord = ^TEmrGlsBoundedRecord; tagEMRGLSBOUNDEDRECORD = record emr: EMR; rclBounds: RECTL; // Bounds in recording coordinates cbData: DWORD; // Size of data in bytes Data: array [0..0] of BYTE; end; {$EXTERNALSYM tagEMRGLSBOUNDEDRECORD} EMRGLSBOUNDEDRECORD = tagEMRGLSBOUNDEDRECORD; {$EXTERNALSYM EMRGLSBOUNDEDRECORD} TEmrGlsBoundedRecord = EMRGLSBOUNDEDRECORD; PEmrPixelFormat = ^TEmrPixelFormat; tagEMRPIXELFORMAT = record emr: EMR; pfd: PIXELFORMATDESCRIPTOR; end; {$EXTERNALSYM tagEMRPIXELFORMAT} EMRPIXELFORMAT = tagEMRPIXELFORMAT; {$EXTERNALSYM EMRPIXELFORMAT} TEmrPixelFormat = EMRPIXELFORMAT; PEmrCreateColorSpace = ^TEmrCreateColorSpace; tagEMRCREATECOLORSPACE = record emr: EMR; ihCS: DWORD; // ColorSpace handle index lcs: LOGCOLORSPACEA; // Ansi version of LOGCOLORSPACE end; {$EXTERNALSYM tagEMRCREATECOLORSPACE} EMRCREATECOLORSPACE = tagEMRCREATECOLORSPACE; {$EXTERNALSYM EMRCREATECOLORSPACE} TEmrCreateColorSpace = EMRCREATECOLORSPACE; PEmrSetColorSpace = ^TEmrSetColorSpace; tagEMRSETCOLORSPACE = record emr: EMR; ihCS: DWORD; // ColorSpace handle index end; {$EXTERNALSYM tagEMRSETCOLORSPACE} EMRSETCOLORSPACE = tagEMRSETCOLORSPACE; {$EXTERNALSYM EMRSETCOLORSPACE} EMRSELECTCOLORSPACE = tagEMRSETCOLORSPACE; {$EXTERNALSYM EMRSELECTCOLORSPACE} PEMRSELECTCOLORSPACE = ^EMRSELECTCOLORSPACE; {$EXTERNALSYM PEMRSELECTCOLORSPACE} EMRDELETECOLORSPACE = tagEMRSETCOLORSPACE; {$EXTERNALSYM EMRDELETECOLORSPACE} PEMRDELETECOLORSPACE = ^EMRDELETECOLORSPACE; {$EXTERNALSYM PEMRDELETECOLORSPACE} TEmrSetColorSpace = EMRSETCOLORSPACE; PEmrExtEscape = ^TEmrExtEscape; tagEMREXTESCAPE = record emr: EMR; iEscape: INT; // Escape code cbEscData: INT; // Size of escape data EscData: array [0..0] of BYTE; // Escape data end; {$EXTERNALSYM tagEMREXTESCAPE} EMREXTESCAPE = tagEMREXTESCAPE; {$EXTERNALSYM EMREXTESCAPE} EMRDRAWESCAPE = tagEMREXTESCAPE; {$EXTERNALSYM EMRDRAWESCAPE} PEMRDRAWESCAPE = ^EMRDRAWESCAPE; {$EXTERNALSYM PEMRDRAWESCAPE} TEmrExtEscape = EMREXTESCAPE; PEmrNamedEscape = ^TEmrNamedEscape; tagEMRNAMEDESCAPE = record emr: EMR; iEscape: INT; // Escape code cbDriver: INT; // Size of driver name cbEscData: INT; // Size of escape data EscData: array [0..0] of BYTE; // Driver name and Escape data end; {$EXTERNALSYM tagEMRNAMEDESCAPE} EMRNAMEDESCAPE = tagEMRNAMEDESCAPE; {$EXTERNALSYM EMRNAMEDESCAPE} TEmrNamedEscape = EMRNAMEDESCAPE; const SETICMPROFILE_EMBEDED = $00000001; {$EXTERNALSYM SETICMPROFILE_EMBEDED} type PEmrSetIcmProfile = ^TEmrSetIcmProfile; tagEMRSETICMPROFILE = record emr: EMR; dwFlags: DWORD; // flags cbName: DWORD; // Size of desired profile name cbData: DWORD; // Size of raw profile data if attached Data: array [0..0] of BYTE; // Array size is cbName + cbData end; {$EXTERNALSYM tagEMRSETICMPROFILE} EMRSETICMPROFILE = tagEMRSETICMPROFILE; {$EXTERNALSYM EMRSETICMPROFILE} EMRSETICMPROFILEA = tagEMRSETICMPROFILE; {$EXTERNALSYM EMRSETICMPROFILEA} PEMRSETICMPROFILEA = ^EMRSETICMPROFILEA; {$EXTERNALSYM PEMRSETICMPROFILEA} EMRSETICMPROFILEW = tagEMRSETICMPROFILE; {$EXTERNALSYM EMRSETICMPROFILEW} PEMRSETICMPROFILEW = ^EMRSETICMPROFILEW; {$EXTERNALSYM PEMRSETICMPROFILEW} TEmrSetIcmProfile = EMRSETICMPROFILE; const CREATECOLORSPACE_EMBEDED = $00000001; {$EXTERNALSYM CREATECOLORSPACE_EMBEDED} type PEmrCreateColorSpaceW = ^TEmrCreateColorSpaceW; tagEMRCREATECOLORSPACEW = record emr: EMR; ihCS: DWORD; // ColorSpace handle index lcs: LOGCOLORSPACEW; // Unicode version of logical color space structure dwFlags: DWORD; // flags cbData: DWORD; // size of raw source profile data if attached Data: array [0..0] of BYTE; // Array size is cbData end; {$EXTERNALSYM tagEMRCREATECOLORSPACEW} EMRCREATECOLORSPACEW = tagEMRCREATECOLORSPACEW; {$EXTERNALSYM EMRCREATECOLORSPACEW} TEmrCreateColorSpaceW = EMRCREATECOLORSPACEW; const COLORMATCHTOTARGET_EMBEDED = $00000001; {$EXTERNALSYM COLORMATCHTOTARGET_EMBEDED} type PColorMatchToTarget = ^TColorMatchToTarget; tagCOLORMATCHTOTARGET = record emr: EMR; dwAction: DWORD; // CS_ENABLE, CS_DISABLE or CS_DELETE_TRANSFORM dwFlags: DWORD; // flags cbName: DWORD; // Size of desired target profile name cbData: DWORD; // Size of raw target profile data if attached Data: array [0..0] of BYTE; // Array size is cbName + cbData end; {$EXTERNALSYM tagCOLORMATCHTOTARGET} //COLORMATCHTOTARGET = tagCOLORMATCHTOTARGET; //{$EXTERNALSYM COLORMATCHTOTARGET} TColorMatchToTarget = tagCOLORMATCHTOTARGET; PColorCorrectPalette = ^TColorCorrectPalette; tagCOLORCORRECTPALETTE = record emr: EMR; ihPalette: DWORD; // Palette handle index nFirstEntry: DWORD; // Index of first entry to correct nPalEntries: DWORD; // Number of palette entries to correct nReserved: DWORD; // Reserved end; {$EXTERNALSYM tagCOLORCORRECTPALETTE} //COLORCORRECTPALETTE = tagCOLORCORRECTPALETTE; //{$EXTERNALSYM COLORCORRECTPALETTE} TColorCorrectPalette = tagCOLORCORRECTPALETTE; PEmrAlphaBlend = ^TEmrAlphaBlend; tagEMRALPHABLEND = record emr: EMR; rclBounds: RECTL; // Inclusive-inclusive bounds in device units xDest: LONG; yDest: LONG; cxDest: LONG; cyDest: LONG; dwRop: DWORD; xSrc: LONG; ySrc: LONG; xformSrc: XFORM; // Source DC transform crBkColorSrc: COLORREF; // Source DC BkColor in RGB iUsageSrc: DWORD; // Source bitmap info color table usage (DIB_RGB_COLORS) offBmiSrc: DWORD; // Offset to the source BITMAPINFO structure cbBmiSrc: DWORD; // Size of the source BITMAPINFO structure offBitsSrc: DWORD; // Offset to the source bitmap bits cbBitsSrc: DWORD; // Size of the source bitmap bits cxSrc: LONG; cySrc: LONG; end; {$EXTERNALSYM tagEMRALPHABLEND} EMRALPHABLEND = tagEMRALPHABLEND; {$EXTERNALSYM EMRALPHABLEND} TEmrAlphaBlend = EMRALPHABLEND; PEmrGradientFill = ^TEmrGradientFill; tagEMRGRADIENTFILL = record emr: EMR; rclBounds: RECTL; // Inclusive-inclusive bounds in device units nVer: DWORD; nTri: DWORD; ulMode: ULONG; Ver: array [0..0] of TRIVERTEX; end; {$EXTERNALSYM tagEMRGRADIENTFILL} EMRGRADIENTFILL = tagEMRGRADIENTFILL; {$EXTERNALSYM EMRGRADIENTFILL} TEmrGradientFill = EMRGRADIENTFILL; PEmrTransparentBlt = ^TEmrTransparentBlt; tagEMRTRANSPARENTBLT = record emr: EMR; rclBounds: RECTL; // Inclusive-inclusive bounds in device units xDest: LONG; yDest: LONG; cxDest: LONG; cyDest: LONG; dwRop: DWORD; xSrc: LONG; ySrc: LONG; xformSrc: XFORM; // Source DC transform crBkColorSrc: COLORREF; // Source DC BkColor in RGB iUsageSrc: DWORD; // Source bitmap info color table usage // (DIB_RGB_COLORS) offBmiSrc: DWORD; // Offset to the source BITMAPINFO structure cbBmiSrc: DWORD; // Size of the source BITMAPINFO structure offBitsSrc: DWORD; // Offset to the source bitmap bits cbBitsSrc: DWORD; // Size of the source bitmap bits cxSrc: LONG; cySrc: LONG; end; {$EXTERNALSYM tagEMRTRANSPARENTBLT} EMRTRANSPARENTBLT = tagEMRTRANSPARENTBLT; {$EXTERNALSYM EMRTRANSPARENTBLT} TEmrTransparentBlt = EMRTRANSPARENTBLT; const GDICOMMENT_IDENTIFIER = $43494447; {$EXTERNALSYM GDICOMMENT_IDENTIFIER} GDICOMMENT_WINDOWS_METAFILE = DWORD($80000001); {$EXTERNALSYM GDICOMMENT_WINDOWS_METAFILE} GDICOMMENT_BEGINGROUP = $00000002; {$EXTERNALSYM GDICOMMENT_BEGINGROUP} GDICOMMENT_ENDGROUP = $00000003; {$EXTERNALSYM GDICOMMENT_ENDGROUP} GDICOMMENT_MULTIFORMATS = $40000004; {$EXTERNALSYM GDICOMMENT_MULTIFORMATS} EPS_SIGNATURE = $46535045; {$EXTERNALSYM EPS_SIGNATURE} GDICOMMENT_UNICODE_STRING = $00000040; {$EXTERNALSYM GDICOMMENT_UNICODE_STRING} GDICOMMENT_UNICODE_END = $00000080; {$EXTERNALSYM GDICOMMENT_UNICODE_END} // OpenGL wgl prototypes function wglCopyContext(hglrcSrc, hglrcDest: HGLRC; mask: UINT): BOOL; stdcall; {$EXTERNALSYM wglCopyContext} function wglCreateContext(hdc: HDC): HGLRC; stdcall; {$EXTERNALSYM wglCreateContext} function wglCreateLayerContext(hdc: HDC; iLayerPlane: Integer): HGLRC; stdcall; {$EXTERNALSYM wglCreateLayerContext} function wglDeleteContext(hglrc: HGLRC): BOOL; stdcall; {$EXTERNALSYM wglDeleteContext} function wglGetCurrentContext: HGLRC; stdcall; {$EXTERNALSYM wglGetCurrentContext} function wglGetCurrentDC: HDC; stdcall; {$EXTERNALSYM wglGetCurrentDC} function wglGetProcAddress(lpszProc: LPCSTR): PROC; stdcall; {$EXTERNALSYM wglGetProcAddress} function wglMakeCurrent(hdc: HDC; hglrc: HGLRC): BOOL; stdcall; {$EXTERNALSYM wglMakeCurrent} function wglShareLists(hglrc1, hglrc2: HGLRC): BOOL; stdcall; {$EXTERNALSYM wglShareLists} function wglUseFontBitmapsA(hdc: HDC; first, count, listBase: DWORD): BOOL; stdcall; {$EXTERNALSYM wglUseFontBitmapsA} function wglUseFontBitmapsW(hdc: HDC; first, count, listBase: DWORD): BOOL; stdcall; {$EXTERNALSYM wglUseFontBitmapsW} function wglUseFontBitmaps(hdc: HDC; first, count, listBase: DWORD): BOOL; stdcall; {$EXTERNALSYM wglUseFontBitmaps} function SwapBuffers(hdc: HDC): BOOL; stdcall; {$EXTERNALSYM SwapBuffers} type PPointFloat = ^TPointFloat; _POINTFLOAT = record x: FLOAT; y: FLOAT; end; {$EXTERNALSYM _POINTFLOAT} POINTFLOAT = _POINTFLOAT; {$EXTERNALSYM POINTFLOAT} TPointFloat = _POINTFLOAT; PGlyphMetricsFloat = ^TGlyphMetricsFloat; _GLYPHMETRICSFLOAT = record gmfBlackBoxX: FLOAT; gmfBlackBoxY: FLOAT; gmfptGlyphOrigin: POINTFLOAT; gmfCellIncX: FLOAT; gmfCellIncY: FLOAT; end; {$EXTERNALSYM _GLYPHMETRICSFLOAT} GLYPHMETRICSFLOAT = _GLYPHMETRICSFLOAT; {$EXTERNALSYM GLYPHMETRICSFLOAT} LPGLYPHMETRICSFLOAT = ^GLYPHMETRICSFLOAT; {$EXTERNALSYM LPGLYPHMETRICSFLOAT} TGlyphMetricsFloat = _GLYPHMETRICSFLOAT; const WGL_FONT_LINES = 0; {$EXTERNALSYM WGL_FONT_LINES} WGL_FONT_POLYGONS = 1; {$EXTERNALSYM WGL_FONT_POLYGONS} function wglUseFontOutlinesA(hdc: HDC; first, count, listBase: DWORD; deviation, extrusion: FLOAT; format: Integer; lpgmf: LPGLYPHMETRICSFLOAT): BOOL; stdcall; {$EXTERNALSYM wglUseFontOutlinesA} function wglUseFontOutlinesW(hdc: HDC; first, count, listBase: DWORD; deviation, extrusion: FLOAT; format: Integer; lpgmf: LPGLYPHMETRICSFLOAT): BOOL; stdcall; {$EXTERNALSYM wglUseFontOutlinesW} function wglUseFontOutlines(hdc: HDC; first, count, listBase: DWORD; deviation, extrusion: FLOAT; format: Integer; lpgmf: LPGLYPHMETRICSFLOAT): BOOL; stdcall; {$EXTERNALSYM wglUseFontOutlines} // Layer plane descriptor type PLayerPlaneDescriptor = ^TLayerPlaneDescriptor; tagLAYERPLANEDESCRIPTOR = record nSize: WORD; nVersion: WORD; dwFlags: DWORD; iPixelType: BYTE; cColorBits: BYTE; cRedBits: BYTE; cRedShift: BYTE; cGreenBits: BYTE; cGreenShift: BYTE; cBlueBits: BYTE; cBlueShift: BYTE; cAlphaBits: BYTE; cAlphaShift: BYTE; cAccumBits: BYTE; cAccumRedBits: BYTE; cAccumGreenBits: BYTE; cAccumBlueBits: BYTE; cAccumAlphaBits: BYTE; cDepthBits: BYTE; cStencilBits: BYTE; cAuxBuffers: BYTE; iLayerPlane: BYTE; bReserved: BYTE; crTransparent: COLORREF; end; {$EXTERNALSYM tagLAYERPLANEDESCRIPTOR} LAYERPLANEDESCRIPTOR = tagLAYERPLANEDESCRIPTOR; {$EXTERNALSYM LAYERPLANEDESCRIPTOR} LPLAYERPLANEDESCRIPTOR = ^LAYERPLANEDESCRIPTOR; {$EXTERNALSYM LPLAYERPLANEDESCRIPTOR} TLayerPlaneDescriptor = LAYERPLANEDESCRIPTOR; // LAYERPLANEDESCRIPTOR flags const LPD_DOUBLEBUFFER = $00000001; {$EXTERNALSYM LPD_DOUBLEBUFFER} LPD_STEREO = $00000002; {$EXTERNALSYM LPD_STEREO} LPD_SUPPORT_GDI = $00000010; {$EXTERNALSYM LPD_SUPPORT_GDI} LPD_SUPPORT_OPENGL = $00000020; {$EXTERNALSYM LPD_SUPPORT_OPENGL} LPD_SHARE_DEPTH = $00000040; {$EXTERNALSYM LPD_SHARE_DEPTH} LPD_SHARE_STENCIL = $00000080; {$EXTERNALSYM LPD_SHARE_STENCIL} LPD_SHARE_ACCUM = $00000100; {$EXTERNALSYM LPD_SHARE_ACCUM} LPD_SWAP_EXCHANGE = $00000200; {$EXTERNALSYM LPD_SWAP_EXCHANGE} LPD_SWAP_COPY = $00000400; {$EXTERNALSYM LPD_SWAP_COPY} LPD_TRANSPARENT = $00001000; {$EXTERNALSYM LPD_TRANSPARENT} LPD_TYPE_RGBA = 0; {$EXTERNALSYM LPD_TYPE_RGBA} LPD_TYPE_COLORINDEX = 1; {$EXTERNALSYM LPD_TYPE_COLORINDEX} // wglSwapLayerBuffers flags WGL_SWAP_MAIN_PLANE = $00000001; {$EXTERNALSYM WGL_SWAP_MAIN_PLANE} WGL_SWAP_OVERLAY1 = $00000002; {$EXTERNALSYM WGL_SWAP_OVERLAY1} WGL_SWAP_OVERLAY2 = $00000004; {$EXTERNALSYM WGL_SWAP_OVERLAY2} WGL_SWAP_OVERLAY3 = $00000008; {$EXTERNALSYM WGL_SWAP_OVERLAY3} WGL_SWAP_OVERLAY4 = $00000010; {$EXTERNALSYM WGL_SWAP_OVERLAY4} WGL_SWAP_OVERLAY5 = $00000020; {$EXTERNALSYM WGL_SWAP_OVERLAY5} WGL_SWAP_OVERLAY6 = $00000040; {$EXTERNALSYM WGL_SWAP_OVERLAY6} WGL_SWAP_OVERLAY7 = $00000080; {$EXTERNALSYM WGL_SWAP_OVERLAY7} WGL_SWAP_OVERLAY8 = $00000100; {$EXTERNALSYM WGL_SWAP_OVERLAY8} WGL_SWAP_OVERLAY9 = $00000200; {$EXTERNALSYM WGL_SWAP_OVERLAY9} WGL_SWAP_OVERLAY10 = $00000400; {$EXTERNALSYM WGL_SWAP_OVERLAY10} WGL_SWAP_OVERLAY11 = $00000800; {$EXTERNALSYM WGL_SWAP_OVERLAY11} WGL_SWAP_OVERLAY12 = $00001000; {$EXTERNALSYM WGL_SWAP_OVERLAY12} WGL_SWAP_OVERLAY13 = $00002000; {$EXTERNALSYM WGL_SWAP_OVERLAY13} WGL_SWAP_OVERLAY14 = $00004000; {$EXTERNALSYM WGL_SWAP_OVERLAY14} WGL_SWAP_OVERLAY15 = $00008000; {$EXTERNALSYM WGL_SWAP_OVERLAY15} WGL_SWAP_UNDERLAY1 = $00010000; {$EXTERNALSYM WGL_SWAP_UNDERLAY1} WGL_SWAP_UNDERLAY2 = $00020000; {$EXTERNALSYM WGL_SWAP_UNDERLAY2} WGL_SWAP_UNDERLAY3 = $00040000; {$EXTERNALSYM WGL_SWAP_UNDERLAY3} WGL_SWAP_UNDERLAY4 = $00080000; {$EXTERNALSYM WGL_SWAP_UNDERLAY4} WGL_SWAP_UNDERLAY5 = $00100000; {$EXTERNALSYM WGL_SWAP_UNDERLAY5} WGL_SWAP_UNDERLAY6 = $00200000; {$EXTERNALSYM WGL_SWAP_UNDERLAY6} WGL_SWAP_UNDERLAY7 = $00400000; {$EXTERNALSYM WGL_SWAP_UNDERLAY7} WGL_SWAP_UNDERLAY8 = $00800000; {$EXTERNALSYM WGL_SWAP_UNDERLAY8} WGL_SWAP_UNDERLAY9 = $01000000; {$EXTERNALSYM WGL_SWAP_UNDERLAY9} WGL_SWAP_UNDERLAY10 = $02000000; {$EXTERNALSYM WGL_SWAP_UNDERLAY10} WGL_SWAP_UNDERLAY11 = $04000000; {$EXTERNALSYM WGL_SWAP_UNDERLAY11} WGL_SWAP_UNDERLAY12 = $08000000; {$EXTERNALSYM WGL_SWAP_UNDERLAY12} WGL_SWAP_UNDERLAY13 = $10000000; {$EXTERNALSYM WGL_SWAP_UNDERLAY13} WGL_SWAP_UNDERLAY14 = $20000000; {$EXTERNALSYM WGL_SWAP_UNDERLAY14} WGL_SWAP_UNDERLAY15 = $40000000; {$EXTERNALSYM WGL_SWAP_UNDERLAY15} function wglDescribeLayerPlane(hdc: HDC; iPixelFormat, iLayerPlane: Integer; nBytes: UINT; plpd: LPLAYERPLANEDESCRIPTOR): BOOL; stdcall; {$EXTERNALSYM wglDescribeLayerPlane} function wglSetLayerPaletteEntries(hdc: HDC; iLayerPlane, iStart, cEntries: Integer; pcr: LPCOLORREF): Integer; stdcall; {$EXTERNALSYM wglSetLayerPaletteEntries} function wglGetLayerPaletteEntries(hdc: HDC; iLayerPlane, iStart, cEntries: Integer; pcr: LPCOLORREF): Integer; stdcall; {$EXTERNALSYM wglGetLayerPaletteEntries} function wglRealizeLayerPalette(hdc: HDC; iLayerPlane: Integer; bRealize: BOOL): BOOL; stdcall; {$EXTERNALSYM wglRealizeLayerPalette} function wglSwapLayerBuffers(hdc: HDC; fuPlanes: UINT): BOOL; stdcall; {$EXTERNALSYM wglSwapLayerBuffers} type PWglSwap = ^TWglSwap; _WGLSWAP = record hdc: HDC; uiFlags: UINT; end; {$EXTERNALSYM _WGLSWAP} WGLSWAP = _WGLSWAP; {$EXTERNALSYM WGLSWAP} LPWGLSWAP = ^WGLSWAP; {$EXTERNALSYM LPWGLSWAP} TWglSwap = _WGLSWAP; const WGL_SWAPMULTIPLE_MAX = 16; {$EXTERNALSYM WGL_SWAPMULTIPLE_MAX} function wglSwapMultipleBuffers(fuCount: UINT; lpBuffers: LPWGLSWAP): DWORD; stdcall; {$EXTERNALSYM wglSwapMultipleBuffers} {$ENDIF JWA_IMPLEMENTATIONSECTION} {$IFNDEF JWA_OMIT_SECTIONS} implementation {$ENDIF JWA_OMIT_SECTIONS} {$IFNDEF JWA_INTERFACESECTION} {$IFNDEF JWA_INCLUDEMODE} const gdi32 = 'gdi32.dll'; msimg32 = 'msimg32.dll'; winspool32 = 'winspool.drv'; opengl32 = 'opengl32.dll'; {$IFDEF UNICODE} AWSuffix = 'W'; {$ELSE} AWSuffix = 'A'; {$ENDIF UNICODE} {$ENDIF JWA_INCLUDEMODE} function MAKEROP4(Fore, Back: DWORD): DWORD; begin Result := ((Back shl 8) and DWORD($FF000000)) or Fore; end; function GetKValue(cmyk: COLORREF): BYTE; begin Result := BYTE(cmyk); end; function GetYValue(cmyk: COLORREF): BYTE; begin Result := BYTE(cmyk shr 8); end; function GetMValue(cmyk: COLORREF): BYTE; begin Result := BYTE(cmyk shr 16); end; function GetCValue(cmyk: COLORREF): BYTE; begin Result := BYTE(cmyk shr 24); end; function CMYK(c, m, y, k: BYTE): COLORREF; begin Result := COLORREF(k or (y shl 8) or (m shl 16) or (c shl 24)); end; function MAKEPOINTS(l: DWORD): POINTS; begin Result.x := LOWORD(l); Result.y := HIWORD(l); end; function RGB(r, g, b: BYTE): COLORREF; begin Result := COLORREF(r or (g shl 8) or (b shl 16)); end; function PALETTERGB(r, g, b: BYTE): COLORREF; begin Result := $02000000 or RGB(r, g, b); end; function PALETTEINDEX(i: WORD): COLORREF; begin Result := COLORREF($01000000 or DWORD(i)); end; function GetRValue(rgb: COLORREF): BYTE; begin Result := BYTE(RGB); end; function GetGValue(rgb: COLORREF): BYTE; begin Result := BYTE(rgb shr 8); end; function GetBValue(rgb: COLORREF): BYTE; begin Result := BYTE(rgb shr 16); end; {$IFDEF DYNAMIC_LINK} var _AddFontResourceA: Pointer; function AddFontResourceA; begin GetProcedureAddress(_AddFontResourceA, gdi32, 'AddFontResourceA'); asm MOV ESP, EBP POP EBP JMP [_AddFontResourceA] end; end; var _AddFontResourceW: Pointer; function AddFontResourceW; begin GetProcedureAddress(_AddFontResourceW, gdi32, 'AddFontResourceW'); asm MOV ESP, EBP POP EBP JMP [_AddFontResourceW] end; end; var _AddFontResource: Pointer; function AddFontResource; begin GetProcedureAddress(_AddFontResource, gdi32, 'AddFontResource' + AWSuffix); asm MOV ESP, EBP POP EBP JMP [_AddFontResource] end; end; var _AnimatePalette: Pointer; function AnimatePalette; begin GetProcedureAddress(_AnimatePalette, gdi32, 'AnimatePalette'); asm MOV ESP, EBP POP EBP JMP [_AnimatePalette] end; end; var _Arc: Pointer; function Arc; begin GetProcedureAddress(_Arc, gdi32, 'Arc'); asm MOV ESP, EBP POP EBP JMP [_Arc] end; end; var _BitBlt: Pointer; function BitBlt; begin GetProcedureAddress(_BitBlt, gdi32, 'BitBlt'); asm MOV ESP, EBP POP EBP JMP [_BitBlt] end; end; var _CancelDC: Pointer; function CancelDC; begin GetProcedureAddress(_CancelDC, gdi32, 'CancelDC'); asm MOV ESP, EBP POP EBP JMP [_CancelDC] end; end; var _Chord: Pointer; function Chord; begin GetProcedureAddress(_Chord, gdi32, 'Chord'); asm MOV ESP, EBP POP EBP JMP [_Chord] end; end; var _ChoosePixelFormat: Pointer; function ChoosePixelFormat; begin GetProcedureAddress(_ChoosePixelFormat, gdi32, 'ChoosePixelFormat'); asm MOV ESP, EBP POP EBP JMP [_ChoosePixelFormat] end; end; var _CloseMetaFile: Pointer; function CloseMetaFile; begin GetProcedureAddress(_CloseMetaFile, gdi32, 'CloseMetaFile'); asm MOV ESP, EBP POP EBP JMP [_CloseMetaFile] end; end; var _CombineRgn: Pointer; function CombineRgn; begin GetProcedureAddress(_CombineRgn, gdi32, 'CombineRgn'); asm MOV ESP, EBP POP EBP JMP [_CombineRgn] end; end; var _CopyMetaFileA: Pointer; function CopyMetaFileA; begin GetProcedureAddress(_CopyMetaFileA, gdi32, 'CopyMetaFileA'); asm MOV ESP, EBP POP EBP JMP [_CopyMetaFileA] end; end; var _CopyMetaFileW: Pointer; function CopyMetaFileW; begin GetProcedureAddress(_CopyMetaFileW, gdi32, 'CopyMetaFileW'); asm MOV ESP, EBP POP EBP JMP [_CopyMetaFileW] end; end; var _CopyMetaFile: Pointer; function CopyMetaFile; begin GetProcedureAddress(_CopyMetaFile, gdi32, 'CopyMetaFile' + AWSuffix); asm MOV ESP, EBP POP EBP JMP [_CopyMetaFile] end; end; var _CreateBitmap: Pointer; function CreateBitmap; begin GetProcedureAddress(_CreateBitmap, gdi32, 'CreateBitmap'); asm MOV ESP, EBP POP EBP JMP [_CreateBitmap] end; end; var _CreateBitmapIndirect: Pointer; function CreateBitmapIndirect; begin GetProcedureAddress(_CreateBitmapIndirect, gdi32, 'CreateBitmapIndirect'); asm MOV ESP, EBP POP EBP JMP [_CreateBitmapIndirect] end; end; var _CreateBrushIndirect: Pointer; function CreateBrushIndirect; begin GetProcedureAddress(_CreateBrushIndirect, gdi32, 'CreateBrushIndirect'); asm MOV ESP, EBP POP EBP JMP [_CreateBrushIndirect] end; end; var _CreateCompatibleBitmap: Pointer; function CreateCompatibleBitmap; begin GetProcedureAddress(_CreateCompatibleBitmap, gdi32, 'CreateCompatibleBitmap'); asm MOV ESP, EBP POP EBP JMP [_CreateCompatibleBitmap] end; end; var _CreateDiscardableBitmap: Pointer; function CreateDiscardableBitmap; begin GetProcedureAddress(_CreateDiscardableBitmap, gdi32, 'CreateDiscardableBitmap'); asm MOV ESP, EBP POP EBP JMP [_CreateDiscardableBitmap] end; end; var _CreateCompatibleDC: Pointer; function CreateCompatibleDC; begin GetProcedureAddress(_CreateCompatibleDC, gdi32, 'CreateCompatibleDC'); asm MOV ESP, EBP POP EBP JMP [_CreateCompatibleDC] end; end; var _CreateDCA: Pointer; function CreateDCA; begin GetProcedureAddress(_CreateDCA, gdi32, 'CreateDCA'); asm MOV ESP, EBP POP EBP JMP [_CreateDCA] end; end; var _CreateDCW: Pointer; function CreateDCW; begin GetProcedureAddress(_CreateDCW, gdi32, 'CreateDCW'); asm MOV ESP, EBP POP EBP JMP [_CreateDCW] end; end; var _CreateDC: Pointer; function CreateDC; begin GetProcedureAddress(_CreateDC, gdi32, 'CreateDC' + AWSuffix); asm MOV ESP, EBP POP EBP JMP [_CreateDC] end; end; var _CreateDIBitmap: Pointer; function CreateDIBitmap; begin GetProcedureAddress(_CreateDIBitmap, gdi32, 'CreateDIBitmap'); asm MOV ESP, EBP POP EBP JMP [_CreateDIBitmap] end; end; var _CreateDIBPatternBrush: Pointer; function CreateDIBPatternBrush; begin GetProcedureAddress(_CreateDIBPatternBrush, gdi32, 'CreateDIBPatternBrush'); asm MOV ESP, EBP POP EBP JMP [_CreateDIBPatternBrush] end; end; var _CreateDIBPatternBrushPt: Pointer; function CreateDIBPatternBrushPt; begin GetProcedureAddress(_CreateDIBPatternBrushPt, gdi32, 'CreateDIBPatternBrushPt'); asm MOV ESP, EBP POP EBP JMP [_CreateDIBPatternBrushPt] end; end; var _CreateEllipticRgn: Pointer; function CreateEllipticRgn; begin GetProcedureAddress(_CreateEllipticRgn, gdi32, 'CreateEllipticRgn'); asm MOV ESP, EBP POP EBP JMP [_CreateEllipticRgn] end; end; var _CreateEllipticRgnIndirect: Pointer; function CreateEllipticRgnIndirect; begin GetProcedureAddress(_CreateEllipticRgnIndirect, gdi32, 'CreateEllipticRgnIndirect'); asm MOV ESP, EBP POP EBP JMP [_CreateEllipticRgnIndirect] end; end; var _CreateFontIndirectA: Pointer; function CreateFontIndirectA; begin GetProcedureAddress(_CreateFontIndirectA, gdi32, 'CreateFontIndirectA'); asm MOV ESP, EBP POP EBP JMP [_CreateFontIndirectA] end; end; var _CreateFontIndirectW: Pointer; function CreateFontIndirectW; begin GetProcedureAddress(_CreateFontIndirectW, gdi32, 'CreateFontIndirectW'); asm MOV ESP, EBP POP EBP JMP [_CreateFontIndirectW] end; end; var _CreateFontIndirect: Pointer; function CreateFontIndirect; begin GetProcedureAddress(_CreateFontIndirect, gdi32, 'CreateFontIndirect' + AWSuffix); asm MOV ESP, EBP POP EBP JMP [_CreateFontIndirect] end; end; var _CreateFontA: Pointer; function CreateFontA; begin GetProcedureAddress(_CreateFontA, gdi32, 'CreateFontA'); asm MOV ESP, EBP POP EBP JMP [_CreateFontA] end; end; var _CreateFontW: Pointer; function CreateFontW; begin GetProcedureAddress(_CreateFontW, gdi32, 'CreateFontW'); asm MOV ESP, EBP POP EBP JMP [_CreateFontW] end; end; var _CreateFont: Pointer; function CreateFont; begin GetProcedureAddress(_CreateFont, gdi32, 'CreateFont' + AWSuffix); asm MOV ESP, EBP POP EBP JMP [_CreateFont] end; end; var _CreateHatchBrush: Pointer; function CreateHatchBrush; begin GetProcedureAddress(_CreateHatchBrush, gdi32, 'CreateHatchBrush'); asm MOV ESP, EBP POP EBP JMP [_CreateHatchBrush] end; end; var _CreateICA: Pointer; function CreateICA; begin GetProcedureAddress(_CreateICA, gdi32, 'CreateICA'); asm MOV ESP, EBP POP EBP JMP [_CreateICA] end; end; var _CreateICW: Pointer; function CreateICW; begin GetProcedureAddress(_CreateICW, gdi32, 'CreateICW'); asm MOV ESP, EBP POP EBP JMP [_CreateICW] end; end; var _CreateIC: Pointer; function CreateIC; begin GetProcedureAddress(_CreateIC, gdi32, 'CreateIC' + AWSuffix); asm MOV ESP, EBP POP EBP JMP [_CreateIC] end; end; var _CreateMetaFileA: Pointer; function CreateMetaFileA; begin GetProcedureAddress(_CreateMetaFileA, gdi32, 'CreateMetaFileA'); asm MOV ESP, EBP POP EBP JMP [_CreateMetaFileA] end; end; var _CreateMetaFileW: Pointer; function CreateMetaFileW; begin GetProcedureAddress(_CreateMetaFileW, gdi32, 'CreateMetaFileW'); asm MOV ESP, EBP POP EBP JMP [_CreateMetaFileW] end; end; var _CreateMetaFile: Pointer; function CreateMetaFile; begin GetProcedureAddress(_CreateMetaFile, gdi32, 'CreateMetaFile' + AWSuffix); asm MOV ESP, EBP POP EBP JMP [_CreateMetaFile] end; end; var _CreatePalette: Pointer; function CreatePalette; begin GetProcedureAddress(_CreatePalette, gdi32, 'CreatePalette'); asm MOV ESP, EBP POP EBP JMP [_CreatePalette] end; end; var _CreatePen: Pointer; function CreatePen; begin GetProcedureAddress(_CreatePen, gdi32, 'CreatePen'); asm MOV ESP, EBP POP EBP JMP [_CreatePen] end; end; var _CreatePenIndirect: Pointer; function CreatePenIndirect; begin GetProcedureAddress(_CreatePenIndirect, gdi32, 'CreatePenIndirect'); asm MOV ESP, EBP POP EBP JMP [_CreatePenIndirect] end; end; var _CreatePolyPolygonRgn: Pointer; function CreatePolyPolygonRgn; begin GetProcedureAddress(_CreatePolyPolygonRgn, gdi32, 'CreatePolyPolygonRgn'); asm MOV ESP, EBP POP EBP JMP [_CreatePolyPolygonRgn] end; end; var _CreatePatternBrush: Pointer; function CreatePatternBrush; begin GetProcedureAddress(_CreatePatternBrush, gdi32, 'CreatePatternBrush'); asm MOV ESP, EBP POP EBP JMP [_CreatePatternBrush] end; end; var _CreateRectRgn: Pointer; function CreateRectRgn; begin GetProcedureAddress(_CreateRectRgn, gdi32, 'CreateRectRgn'); asm MOV ESP, EBP POP EBP JMP [_CreateRectRgn] end; end; var _CreateRectRgnIndirect: Pointer; function CreateRectRgnIndirect; begin GetProcedureAddress(_CreateRectRgnIndirect, gdi32, 'CreateRectRgnIndirect'); asm MOV ESP, EBP POP EBP JMP [_CreateRectRgnIndirect] end; end; var _CreateRoundRectRgn: Pointer; function CreateRoundRectRgn; begin GetProcedureAddress(_CreateRoundRectRgn, gdi32, 'CreateRoundRectRgn'); asm MOV ESP, EBP POP EBP JMP [_CreateRoundRectRgn] end; end; var _CreateScalableFontResourceA: Pointer; function CreateScalableFontResourceA; begin GetProcedureAddress(_CreateScalableFontResourceA, gdi32, 'CreateScalableFontResourceA'); asm MOV ESP, EBP POP EBP JMP [_CreateScalableFontResourceA] end; end; var _CreateScalableFontResourceW: Pointer; function CreateScalableFontResourceW; begin GetProcedureAddress(_CreateScalableFontResourceW, gdi32, 'CreateScalableFontResourceW'); asm MOV ESP, EBP POP EBP JMP [_CreateScalableFontResourceW] end; end; var _CreateScalableFontResource: Pointer; function CreateScalableFontResource; begin GetProcedureAddress(_CreateScalableFontResource, gdi32, 'CreateScalableFontResource' + AWSuffix); asm MOV ESP, EBP POP EBP JMP [_CreateScalableFontResource] end; end; var _CreateSolidBrush: Pointer; function CreateSolidBrush; begin GetProcedureAddress(_CreateSolidBrush, gdi32, 'CreateSolidBrush'); asm MOV ESP, EBP POP EBP JMP [_CreateSolidBrush] end; end; var _DeleteDC: Pointer; function DeleteDC; begin GetProcedureAddress(_DeleteDC, gdi32, 'DeleteDC'); asm MOV ESP, EBP POP EBP JMP [_DeleteDC] end; end; var _DeleteMetaFile: Pointer; function DeleteMetaFile; begin GetProcedureAddress(_DeleteMetaFile, gdi32, 'DeleteMetaFile'); asm MOV ESP, EBP POP EBP JMP [_DeleteMetaFile] end; end; var _DeleteObject: Pointer; function DeleteObject; begin GetProcedureAddress(_DeleteObject, gdi32, 'DeleteObject'); asm MOV ESP, EBP POP EBP JMP [_DeleteObject] end; end; var _DescribePixelFormat: Pointer; function DescribePixelFormat; begin GetProcedureAddress(_DescribePixelFormat, gdi32, 'DescribePixelFormat'); asm MOV ESP, EBP POP EBP JMP [_DescribePixelFormat] end; end; var _DeviceCapabilitiesA: Pointer; function DeviceCapabilitiesA; begin GetProcedureAddress(_DeviceCapabilitiesA, winspool32, 'DeviceCapabilitiesA'); asm MOV ESP, EBP POP EBP JMP [_DeviceCapabilitiesA] end; end; var _DeviceCapabilitiesW: Pointer; function DeviceCapabilitiesW; begin GetProcedureAddress(_DeviceCapabilitiesW, winspool32, 'DeviceCapabilitiesW'); asm MOV ESP, EBP POP EBP JMP [_DeviceCapabilitiesW] end; end; var _DeviceCapabilities: Pointer; function DeviceCapabilities; begin GetProcedureAddress(_DeviceCapabilities, winspool32, 'DeviceCapabilities' + AWSuffix); asm MOV ESP, EBP POP EBP JMP [_DeviceCapabilities] end; end; var _DrawEscape: Pointer; function DrawEscape; begin GetProcedureAddress(_DrawEscape, gdi32, 'DrawEscape'); asm MOV ESP, EBP POP EBP JMP [_DrawEscape] end; end; var _Ellipse: Pointer; function Ellipse; begin GetProcedureAddress(_Ellipse, gdi32, 'Ellipse'); asm MOV ESP, EBP POP EBP JMP [_Ellipse] end; end; var _EnumFontFamiliesExA: Pointer; function EnumFontFamiliesExA; begin GetProcedureAddress(_EnumFontFamiliesExA, gdi32, 'EnumFontFamiliesExA'); asm MOV ESP, EBP POP EBP JMP [_EnumFontFamiliesExA] end; end; var _EnumFontFamiliesExW: Pointer; function EnumFontFamiliesExW; begin GetProcedureAddress(_EnumFontFamiliesExW, gdi32, 'EnumFontFamiliesExW'); asm MOV ESP, EBP POP EBP JMP [_EnumFontFamiliesExW] end; end; var _EnumFontFamiliesEx: Pointer; function EnumFontFamiliesEx; begin GetProcedureAddress(_EnumFontFamiliesEx, gdi32, 'EnumFontFamiliesEx' + AWSuffix); asm MOV ESP, EBP POP EBP JMP [_EnumFontFamiliesEx] end; end; var _EnumFontFamiliesA: Pointer; function EnumFontFamiliesA; begin GetProcedureAddress(_EnumFontFamiliesA, gdi32, 'EnumFontFamiliesA'); asm MOV ESP, EBP POP EBP JMP [_EnumFontFamiliesA] end; end; var _EnumFontFamiliesW: Pointer; function EnumFontFamiliesW; begin GetProcedureAddress(_EnumFontFamiliesW, gdi32, 'EnumFontFamiliesW'); asm MOV ESP, EBP POP EBP JMP [_EnumFontFamiliesW] end; end; var _EnumFontFamilies: Pointer; function EnumFontFamilies; begin GetProcedureAddress(_EnumFontFamilies, gdi32, 'EnumFontFamilies' + AWSuffix); asm MOV ESP, EBP POP EBP JMP [_EnumFontFamilies] end; end; var _EnumFontsA: Pointer; function EnumFontsA; begin GetProcedureAddress(_EnumFontsA, gdi32, 'EnumFontsA'); asm MOV ESP, EBP POP EBP JMP [_EnumFontsA] end; end; var _EnumFontsW: Pointer; function EnumFontsW; begin GetProcedureAddress(_EnumFontsW, gdi32, 'EnumFontsW'); asm MOV ESP, EBP POP EBP JMP [_EnumFontsW] end; end; var _EnumFonts: Pointer; function EnumFonts; begin GetProcedureAddress(_EnumFonts, gdi32, 'EnumFonts' + AWSuffix); asm MOV ESP, EBP POP EBP JMP [_EnumFonts] end; end; var _EnumObjects: Pointer; function EnumObjects; begin GetProcedureAddress(_EnumObjects, gdi32, 'EnumObjects'); asm MOV ESP, EBP POP EBP JMP [_EnumObjects] end; end; var _EqualRgn: Pointer; function EqualRgn; begin GetProcedureAddress(_EqualRgn, gdi32, 'EqualRgn'); asm MOV ESP, EBP POP EBP JMP [_EqualRgn] end; end; var _Escape: Pointer; function Escape; begin GetProcedureAddress(_Escape, gdi32, 'Escape'); asm MOV ESP, EBP POP EBP JMP [_Escape] end; end; var _ExtEscape: Pointer; function ExtEscape; begin GetProcedureAddress(_ExtEscape, gdi32, 'ExtEscape'); asm MOV ESP, EBP POP EBP JMP [_ExtEscape] end; end; var _ExcludeClipRect: Pointer; function ExcludeClipRect; begin GetProcedureAddress(_ExcludeClipRect, gdi32, 'ExcludeClipRect'); asm MOV ESP, EBP POP EBP JMP [_ExcludeClipRect] end; end; var _ExtCreateRegion: Pointer; function ExtCreateRegion; begin GetProcedureAddress(_ExtCreateRegion, gdi32, 'ExtCreateRegion'); asm MOV ESP, EBP POP EBP JMP [_ExtCreateRegion] end; end; var _ExtFloodFill: Pointer; function ExtFloodFill; begin GetProcedureAddress(_ExtFloodFill, gdi32, 'ExtFloodFill'); asm MOV ESP, EBP POP EBP JMP [_ExtFloodFill] end; end; var _FillRgn: Pointer; function FillRgn; begin GetProcedureAddress(_FillRgn, gdi32, 'FillRgn'); asm MOV ESP, EBP POP EBP JMP [_FillRgn] end; end; var _FloodFill: Pointer; function FloodFill; begin GetProcedureAddress(_FloodFill, gdi32, 'FloodFill'); asm MOV ESP, EBP POP EBP JMP [_FloodFill] end; end; var _FrameRgn: Pointer; function FrameRgn; begin GetProcedureAddress(_FrameRgn, gdi32, 'FrameRgn'); asm MOV ESP, EBP POP EBP JMP [_FrameRgn] end; end; var _GetROP2: Pointer; function GetROP2; begin GetProcedureAddress(_GetROP2, gdi32, 'GetROP2'); asm MOV ESP, EBP POP EBP JMP [_GetROP2] end; end; var _GetAspectRatioFilterEx: Pointer; function GetAspectRatioFilterEx; begin GetProcedureAddress(_GetAspectRatioFilterEx, gdi32, 'GetAspectRatioFilterEx'); asm MOV ESP, EBP POP EBP JMP [_GetAspectRatioFilterEx] end; end; var _GetBkColor: Pointer; function GetBkColor; begin GetProcedureAddress(_GetBkColor, gdi32, 'GetBkColor'); asm MOV ESP, EBP POP EBP JMP [_GetBkColor] end; end; var _GetDCBrushColor: Pointer; function GetDCBrushColor; begin GetProcedureAddress(_GetDCBrushColor, gdi32, 'GetDCBrushColor'); asm MOV ESP, EBP POP EBP JMP [_GetDCBrushColor] end; end; var _GetDCPenColor: Pointer; function GetDCPenColor; begin GetProcedureAddress(_GetDCPenColor, gdi32, 'GetDCPenColor'); asm MOV ESP, EBP POP EBP JMP [_GetDCPenColor] end; end; var _GetBkMode: Pointer; function GetBkMode; begin GetProcedureAddress(_GetBkMode, gdi32, 'GetBkMode'); asm MOV ESP, EBP POP EBP JMP [_GetBkMode] end; end; var _GetBitmapBits: Pointer; function GetBitmapBits; begin GetProcedureAddress(_GetBitmapBits, gdi32, 'GetBitmapBits'); asm MOV ESP, EBP POP EBP JMP [_GetBitmapBits] end; end; var _GetBitmapDimensionEx: Pointer; function GetBitmapDimensionEx; begin GetProcedureAddress(_GetBitmapDimensionEx, gdi32, 'GetBitmapDimensionEx'); asm MOV ESP, EBP POP EBP JMP [_GetBitmapDimensionEx] end; end; var _GetBoundsRect: Pointer; function GetBoundsRect; begin GetProcedureAddress(_GetBoundsRect, gdi32, 'GetBoundsRect'); asm MOV ESP, EBP POP EBP JMP [_GetBoundsRect] end; end; var _GetBrushOrgEx: Pointer; function GetBrushOrgEx; begin GetProcedureAddress(_GetBrushOrgEx, gdi32, 'GetBrushOrgEx'); asm MOV ESP, EBP POP EBP JMP [_GetBrushOrgEx] end; end; var _GetCharWidthA: Pointer; function GetCharWidthA; begin GetProcedureAddress(_GetCharWidthA, gdi32, 'GetCharWidthA'); asm MOV ESP, EBP POP EBP JMP [_GetCharWidthA] end; end; var _GetCharWidthW: Pointer; function GetCharWidthW; begin GetProcedureAddress(_GetCharWidthW, gdi32, 'GetCharWidthW'); asm MOV ESP, EBP POP EBP JMP [_GetCharWidthW] end; end; var _GetCharWidth: Pointer; function GetCharWidth; begin GetProcedureAddress(_GetCharWidth, gdi32, 'GetCharWidth' + AWSuffix); asm MOV ESP, EBP POP EBP JMP [_GetCharWidth] end; end; var _GetCharWidth32A: Pointer; function GetCharWidth32A; begin GetProcedureAddress(_GetCharWidth32A, gdi32, 'GetCharWidth32A'); asm MOV ESP, EBP POP EBP JMP [_GetCharWidth32A] end; end; var _GetCharWidth32W: Pointer; function GetCharWidth32W; begin GetProcedureAddress(_GetCharWidth32W, gdi32, 'GetCharWidth32W'); asm MOV ESP, EBP POP EBP JMP [_GetCharWidth32W] end; end; var _GetCharWidth32: Pointer; function GetCharWidth32; begin GetProcedureAddress(_GetCharWidth32, gdi32, 'GetCharWidth32' + AWSuffix); asm MOV ESP, EBP POP EBP JMP [_GetCharWidth32] end; end; var _GetCharWidthFloatA: Pointer; function GetCharWidthFloatA; begin GetProcedureAddress(_GetCharWidthFloatA, gdi32, 'GetCharWidthFloatA'); asm MOV ESP, EBP POP EBP JMP [_GetCharWidthFloatA] end; end; var _GetCharWidthFloatW: Pointer; function GetCharWidthFloatW; begin GetProcedureAddress(_GetCharWidthFloatW, gdi32, 'GetCharWidthFloatW'); asm MOV ESP, EBP POP EBP JMP [_GetCharWidthFloatW] end; end; var _GetCharWidthFloat: Pointer; function GetCharWidthFloat; begin GetProcedureAddress(_GetCharWidthFloat, gdi32, 'GetCharWidthFloat' + AWSuffix); asm MOV ESP, EBP POP EBP JMP [_GetCharWidthFloat] end; end; var _GetCharABCWidthsA: Pointer; function GetCharABCWidthsA; begin GetProcedureAddress(_GetCharABCWidthsA, gdi32, 'GetCharABCWidthsA'); asm MOV ESP, EBP POP EBP JMP [_GetCharABCWidthsA] end; end; var _GetCharABCWidthsW: Pointer; function GetCharABCWidthsW; begin GetProcedureAddress(_GetCharABCWidthsW, gdi32, 'GetCharABCWidthsW'); asm MOV ESP, EBP POP EBP JMP [_GetCharABCWidthsW] end; end; var _GetCharABCWidths: Pointer; function GetCharABCWidths; begin GetProcedureAddress(_GetCharABCWidths, gdi32, 'GetCharABCWidths' + AWSuffix); asm MOV ESP, EBP POP EBP JMP [_GetCharABCWidths] end; end; var _GetCharABCWidthsFloatA: Pointer; function GetCharABCWidthsFloatA; begin GetProcedureAddress(_GetCharABCWidthsFloatA, gdi32, 'GetCharABCWidthsFloatA'); asm MOV ESP, EBP POP EBP JMP [_GetCharABCWidthsFloatA] end; end; var _GetCharABCWidthsFloatW: Pointer; function GetCharABCWidthsFloatW; begin GetProcedureAddress(_GetCharABCWidthsFloatW, gdi32, 'GetCharABCWidthsFloatW'); asm MOV ESP, EBP POP EBP JMP [_GetCharABCWidthsFloatW] end; end; var _GetCharABCWidthsFloat: Pointer; function GetCharABCWidthsFloat; begin GetProcedureAddress(_GetCharABCWidthsFloat, gdi32, 'GetCharABCWidthsFloat' + AWSuffix); asm MOV ESP, EBP POP EBP JMP [_GetCharABCWidthsFloat] end; end; var _GetClipBox: Pointer; function GetClipBox; begin GetProcedureAddress(_GetClipBox, gdi32, 'GetClipBox'); asm MOV ESP, EBP POP EBP JMP [_GetClipBox] end; end; var _GetClipRgn: Pointer; function GetClipRgn; begin GetProcedureAddress(_GetClipRgn, gdi32, 'GetClipRgn'); asm MOV ESP, EBP POP EBP JMP [_GetClipRgn] end; end; var _GetMetaRgn: Pointer; function GetMetaRgn; begin GetProcedureAddress(_GetMetaRgn, gdi32, 'GetMetaRgn'); asm MOV ESP, EBP POP EBP JMP [_GetMetaRgn] end; end; var _GetCurrentObject: Pointer; function GetCurrentObject; begin GetProcedureAddress(_GetCurrentObject, gdi32, 'GetCurrentObject'); asm MOV ESP, EBP POP EBP JMP [_GetCurrentObject] end; end; var _GetCurrentPositionEx: Pointer; function GetCurrentPositionEx; begin GetProcedureAddress(_GetCurrentPositionEx, gdi32, 'GetCurrentPositionEx'); asm MOV ESP, EBP POP EBP JMP [_GetCurrentPositionEx] end; end; var _GetDeviceCaps: Pointer; function GetDeviceCaps; begin GetProcedureAddress(_GetDeviceCaps, gdi32, 'GetDeviceCaps'); asm MOV ESP, EBP POP EBP JMP [_GetDeviceCaps] end; end; var _GetDIBits: Pointer; function GetDIBits; begin GetProcedureAddress(_GetDIBits, gdi32, 'GetDIBits'); asm MOV ESP, EBP POP EBP JMP [_GetDIBits] end; end; var _GetFontData: Pointer; function GetFontData; begin GetProcedureAddress(_GetFontData, gdi32, 'GetFontData'); asm MOV ESP, EBP POP EBP JMP [_GetFontData] end; end; var _GetGlyphOutlineA: Pointer; function GetGlyphOutlineA; begin GetProcedureAddress(_GetGlyphOutlineA, gdi32, 'GetGlyphOutlineA'); asm MOV ESP, EBP POP EBP JMP [_GetGlyphOutlineA] end; end; var _GetGlyphOutlineW: Pointer; function GetGlyphOutlineW; begin GetProcedureAddress(_GetGlyphOutlineW, gdi32, 'GetGlyphOutlineW'); asm MOV ESP, EBP POP EBP JMP [_GetGlyphOutlineW] end; end; var _GetGlyphOutline: Pointer; function GetGlyphOutline; begin GetProcedureAddress(_GetGlyphOutline, gdi32, 'GetGlyphOutline' + AWSuffix); asm MOV ESP, EBP POP EBP JMP [_GetGlyphOutline] end; end; var _GetGraphicsMode: Pointer; function GetGraphicsMode; begin GetProcedureAddress(_GetGraphicsMode, gdi32, 'GetGraphicsMode'); asm MOV ESP, EBP POP EBP JMP [_GetGraphicsMode] end; end; var _GetMapMode: Pointer; function GetMapMode; begin GetProcedureAddress(_GetMapMode, gdi32, 'GetMapMode'); asm MOV ESP, EBP POP EBP JMP [_GetMapMode] end; end; var _GetMetaFileBitsEx: Pointer; function GetMetaFileBitsEx; begin GetProcedureAddress(_GetMetaFileBitsEx, gdi32, 'GetMetaFileBitsEx'); asm MOV ESP, EBP POP EBP JMP [_GetMetaFileBitsEx] end; end; var _GetMetaFileA: Pointer; function GetMetaFileA; begin GetProcedureAddress(_GetMetaFileA, gdi32, 'GetMetaFileA'); asm MOV ESP, EBP POP EBP JMP [_GetMetaFileA] end; end; var _GetMetaFileW: Pointer; function GetMetaFileW; begin GetProcedureAddress(_GetMetaFileW, gdi32, 'GetMetaFileW'); asm MOV ESP, EBP POP EBP JMP [_GetMetaFileW] end; end; var _GetMetaFile: Pointer; function GetMetaFile; begin GetProcedureAddress(_GetMetaFile, gdi32, 'GetMetaFile' + AWSuffix); asm MOV ESP, EBP POP EBP JMP [_GetMetaFile] end; end; var _GetNearestColor: Pointer; function GetNearestColor; begin GetProcedureAddress(_GetNearestColor, gdi32, 'GetNearestColor'); asm MOV ESP, EBP POP EBP JMP [_GetNearestColor] end; end; var _GetNearestPaletteIndex: Pointer; function GetNearestPaletteIndex; begin GetProcedureAddress(_GetNearestPaletteIndex, gdi32, 'GetNearestPaletteIndex'); asm MOV ESP, EBP POP EBP JMP [_GetNearestPaletteIndex] end; end; var _GetObjectType: Pointer; function GetObjectType; begin GetProcedureAddress(_GetObjectType, gdi32, 'GetObjectType'); asm MOV ESP, EBP POP EBP JMP [_GetObjectType] end; end; var _GetOutlineTextMetricsA: Pointer; function GetOutlineTextMetricsA; begin GetProcedureAddress(_GetOutlineTextMetricsA, gdi32, 'GetOutlineTextMetricsA'); asm MOV ESP, EBP POP EBP JMP [_GetOutlineTextMetricsA] end; end; var _GetOutlineTextMetricsW: Pointer; function GetOutlineTextMetricsW; begin GetProcedureAddress(_GetOutlineTextMetricsW, gdi32, 'GetOutlineTextMetricsW'); asm MOV ESP, EBP POP EBP JMP [_GetOutlineTextMetricsW] end; end; var _GetOutlineTextMetrics: Pointer; function GetOutlineTextMetrics; begin GetProcedureAddress(_GetOutlineTextMetrics, gdi32, 'GetOutlineTextMetrics' + AWSuffix); asm MOV ESP, EBP POP EBP JMP [_GetOutlineTextMetrics] end; end; var _GetPaletteEntries: Pointer; function GetPaletteEntries; begin GetProcedureAddress(_GetPaletteEntries, gdi32, 'GetPaletteEntries'); asm MOV ESP, EBP POP EBP JMP [_GetPaletteEntries] end; end; var _GetPixel: Pointer; function GetPixel; begin GetProcedureAddress(_GetPixel, gdi32, 'GetPixel'); asm MOV ESP, EBP POP EBP JMP [_GetPixel] end; end; var _GetPixelFormat: Pointer; function GetPixelFormat; begin GetProcedureAddress(_GetPixelFormat, gdi32, 'GetPixelFormat'); asm MOV ESP, EBP POP EBP JMP [_GetPixelFormat] end; end; var _GetPolyFillMode: Pointer; function GetPolyFillMode; begin GetProcedureAddress(_GetPolyFillMode, gdi32, 'GetPolyFillMode'); asm MOV ESP, EBP POP EBP JMP [_GetPolyFillMode] end; end; var _GetRasterizerCaps: Pointer; function GetRasterizerCaps; begin GetProcedureAddress(_GetRasterizerCaps, gdi32, 'GetRasterizerCaps'); asm MOV ESP, EBP POP EBP JMP [_GetRasterizerCaps] end; end; var _GetRandomRgn: Pointer; function GetRandomRgn; begin GetProcedureAddress(_GetRandomRgn, gdi32, 'GetRandomRgn'); asm MOV ESP, EBP POP EBP JMP [_GetRandomRgn] end; end; var _GetRegionData: Pointer; function GetRegionData; begin GetProcedureAddress(_GetRegionData, gdi32, 'GetRegionData'); asm MOV ESP, EBP POP EBP JMP [_GetRegionData] end; end; var _GetRgnBox: Pointer; function GetRgnBox; begin GetProcedureAddress(_GetRgnBox, gdi32, 'GetRgnBox'); asm MOV ESP, EBP POP EBP JMP [_GetRgnBox] end; end; var _GetStockObject: Pointer; function GetStockObject; begin GetProcedureAddress(_GetStockObject, gdi32, 'GetStockObject'); asm MOV ESP, EBP POP EBP JMP [_GetStockObject] end; end; var _GetStretchBltMode: Pointer; function GetStretchBltMode; begin GetProcedureAddress(_GetStretchBltMode, gdi32, 'GetStretchBltMode'); asm MOV ESP, EBP POP EBP JMP [_GetStretchBltMode] end; end; var _GetSystemPaletteEntries: Pointer; function GetSystemPaletteEntries; begin GetProcedureAddress(_GetSystemPaletteEntries, gdi32, 'GetSystemPaletteEntries'); asm MOV ESP, EBP POP EBP JMP [_GetSystemPaletteEntries] end; end; var _GetSystemPaletteUse: Pointer; function GetSystemPaletteUse; begin GetProcedureAddress(_GetSystemPaletteUse, gdi32, 'GetSystemPaletteUse'); asm MOV ESP, EBP POP EBP JMP [_GetSystemPaletteUse] end; end; var _GetTextCharacterExtra: Pointer; function GetTextCharacterExtra; begin GetProcedureAddress(_GetTextCharacterExtra, gdi32, 'GetTextCharacterExtra'); asm MOV ESP, EBP POP EBP JMP [_GetTextCharacterExtra] end; end; var _GetTextAlign: Pointer; function GetTextAlign; begin GetProcedureAddress(_GetTextAlign, gdi32, 'GetTextAlign'); asm MOV ESP, EBP POP EBP JMP [_GetTextAlign] end; end; var _GetTextColor: Pointer; function GetTextColor; begin GetProcedureAddress(_GetTextColor, gdi32, 'GetTextColor'); asm MOV ESP, EBP POP EBP JMP [_GetTextColor] end; end; var _GetTextExtentPointA: Pointer; function GetTextExtentPointA; begin GetProcedureAddress(_GetTextExtentPointA, gdi32, 'GetTextExtentPointA'); asm MOV ESP, EBP POP EBP JMP [_GetTextExtentPointA] end; end; var _GetTextExtentPointW: Pointer; function GetTextExtentPointW; begin GetProcedureAddress(_GetTextExtentPointW, gdi32, 'GetTextExtentPointW'); asm MOV ESP, EBP POP EBP JMP [_GetTextExtentPointW] end; end; var _GetTextExtentPoint: Pointer; function GetTextExtentPoint; begin GetProcedureAddress(_GetTextExtentPoint, gdi32, 'GetTextExtentPoint' + AWSuffix); asm MOV ESP, EBP POP EBP JMP [_GetTextExtentPoint] end; end; var _GetTextExtentPoint32A: Pointer; function GetTextExtentPoint32A; begin GetProcedureAddress(_GetTextExtentPoint32A, gdi32, 'GetTextExtentPoint32A'); asm MOV ESP, EBP POP EBP JMP [_GetTextExtentPoint32A] end; end; var _GetTextExtentPoint32W: Pointer; function GetTextExtentPoint32W; begin GetProcedureAddress(_GetTextExtentPoint32W, gdi32, 'GetTextExtentPoint32W'); asm MOV ESP, EBP POP EBP JMP [_GetTextExtentPoint32W] end; end; var _GetTextExtentPoint32: Pointer; function GetTextExtentPoint32; begin GetProcedureAddress(_GetTextExtentPoint32, gdi32, 'GetTextExtentPoint32' + AWSuffix); asm MOV ESP, EBP POP EBP JMP [_GetTextExtentPoint32] end; end; var _GetTextExtentExPointA: Pointer; function GetTextExtentExPointA; begin GetProcedureAddress(_GetTextExtentExPointA, gdi32, 'GetTextExtentExPointA'); asm MOV ESP, EBP POP EBP JMP [_GetTextExtentExPointA] end; end; var _GetTextExtentExPointW: Pointer; function GetTextExtentExPointW; begin GetProcedureAddress(_GetTextExtentExPointW, gdi32, 'GetTextExtentExPointW'); asm MOV ESP, EBP POP EBP JMP [_GetTextExtentExPointW] end; end; var _GetTextExtentExPoint: Pointer; function GetTextExtentExPoint; begin GetProcedureAddress(_GetTextExtentExPoint, gdi32, 'GetTextExtentExPoint' + AWSuffix); asm MOV ESP, EBP POP EBP JMP [_GetTextExtentExPoint] end; end; var _GetTextCharset: Pointer; function GetTextCharset; begin GetProcedureAddress(_GetTextCharset, gdi32, 'GetTextCharset'); asm MOV ESP, EBP POP EBP JMP [_GetTextCharset] end; end; var _GetTextCharsetInfo: Pointer; function GetTextCharsetInfo; begin GetProcedureAddress(_GetTextCharsetInfo, gdi32, 'GetTextCharsetInfo'); asm MOV ESP, EBP POP EBP JMP [_GetTextCharsetInfo] end; end; var _TranslateCharsetInfo: Pointer; function TranslateCharsetInfo; begin GetProcedureAddress(_TranslateCharsetInfo, gdi32, 'TranslateCharsetInfo'); asm MOV ESP, EBP POP EBP JMP [_TranslateCharsetInfo] end; end; var _GetFontLanguageInfo: Pointer; function GetFontLanguageInfo; begin GetProcedureAddress(_GetFontLanguageInfo, gdi32, 'GetFontLanguageInfo'); asm MOV ESP, EBP POP EBP JMP [_GetFontLanguageInfo] end; end; var _GetCharacterPlacementA: Pointer; function GetCharacterPlacementA; begin GetProcedureAddress(_GetCharacterPlacementA, gdi32, 'GetCharacterPlacementA'); asm MOV ESP, EBP POP EBP JMP [_GetCharacterPlacementA] end; end; var _GetCharacterPlacementW: Pointer; function GetCharacterPlacementW; begin GetProcedureAddress(_GetCharacterPlacementW, gdi32, 'GetCharacterPlacementW'); asm MOV ESP, EBP POP EBP JMP [_GetCharacterPlacementW] end; end; var _GetCharacterPlacement: Pointer; function GetCharacterPlacement; begin GetProcedureAddress(_GetCharacterPlacement, gdi32, 'GetCharacterPlacement' + AWSuffix); asm MOV ESP, EBP POP EBP JMP [_GetCharacterPlacement] end; end; var _GetFontUnicodeRanges: Pointer; function GetFontUnicodeRanges; begin GetProcedureAddress(_GetFontUnicodeRanges, gdi32, 'GetFontUnicodeRanges'); asm MOV ESP, EBP POP EBP JMP [_GetFontUnicodeRanges] end; end; var _GetGlyphIndicesA: Pointer; function GetGlyphIndicesA; begin GetProcedureAddress(_GetGlyphIndicesA, gdi32, 'GetGlyphIndicesA'); asm MOV ESP, EBP POP EBP JMP [_GetGlyphIndicesA] end; end; var _GetGlyphIndicesW: Pointer; function GetGlyphIndicesW; begin GetProcedureAddress(_GetGlyphIndicesW, gdi32, 'GetGlyphIndicesW'); asm MOV ESP, EBP POP EBP JMP [_GetGlyphIndicesW] end; end; var _GetGlyphIndices: Pointer; function GetGlyphIndices; begin GetProcedureAddress(_GetGlyphIndices, gdi32, 'GetGlyphIndices' + AWSuffix); asm MOV ESP, EBP POP EBP JMP [_GetGlyphIndices] end; end; var _GetTextExtentPointI: Pointer; function GetTextExtentPointI; begin GetProcedureAddress(_GetTextExtentPointI, gdi32, 'GetTextExtentPointI'); asm MOV ESP, EBP POP EBP JMP [_GetTextExtentPointI] end; end; var _GetTextExtentExPointI: Pointer; function GetTextExtentExPointI; begin GetProcedureAddress(_GetTextExtentExPointI, gdi32, 'GetTextExtentExPointI'); asm MOV ESP, EBP POP EBP JMP [_GetTextExtentExPointI] end; end; var _GetCharWidthI: Pointer; function GetCharWidthI; begin GetProcedureAddress(_GetCharWidthI, gdi32, 'GetCharWidthI'); asm MOV ESP, EBP POP EBP JMP [_GetCharWidthI] end; end; var _GetCharABCWidthsI: Pointer; function GetCharABCWidthsI; begin GetProcedureAddress(_GetCharABCWidthsI, gdi32, 'GetCharABCWidthsI'); asm MOV ESP, EBP POP EBP JMP [_GetCharABCWidthsI] end; end; var _AddFontResourceExA: Pointer; function AddFontResourceExA; begin GetProcedureAddress(_AddFontResourceExA, gdi32, 'AddFontResourceExA'); asm MOV ESP, EBP POP EBP JMP [_AddFontResourceExA] end; end; var _AddFontResourceExW: Pointer; function AddFontResourceExW; begin GetProcedureAddress(_AddFontResourceExW, gdi32, 'AddFontResourceExW'); asm MOV ESP, EBP POP EBP JMP [_AddFontResourceExW] end; end; var _AddFontResourceEx: Pointer; function AddFontResourceEx; begin GetProcedureAddress(_AddFontResourceEx, gdi32, 'AddFontResourceEx' + AWSuffix); asm MOV ESP, EBP POP EBP JMP [_AddFontResourceEx] end; end; var _RemoveFontResourceExA: Pointer; function RemoveFontResourceExA; begin GetProcedureAddress(_RemoveFontResourceExA, gdi32, 'RemoveFontResourceExA'); asm MOV ESP, EBP POP EBP JMP [_RemoveFontResourceExA] end; end; var _RemoveFontResourceExW: Pointer; function RemoveFontResourceExW; begin GetProcedureAddress(_RemoveFontResourceExW, gdi32, 'RemoveFontResourceExW'); asm MOV ESP, EBP POP EBP JMP [_RemoveFontResourceExW] end; end; var _RemoveFontResourceEx: Pointer; function RemoveFontResourceEx; begin GetProcedureAddress(_RemoveFontResourceEx, gdi32, 'RemoveFontResourceEx' + AWSuffix); asm MOV ESP, EBP POP EBP JMP [_RemoveFontResourceEx] end; end; var _AddFontMemResourceEx: Pointer; function AddFontMemResourceEx; begin GetProcedureAddress(_AddFontMemResourceEx, gdi32, 'AddFontMemResourceEx'); asm MOV ESP, EBP POP EBP JMP [_AddFontMemResourceEx] end; end; var _RemoveFontMemResourceEx: Pointer; function RemoveFontMemResourceEx; begin GetProcedureAddress(_RemoveFontMemResourceEx, gdi32, 'RemoveFontMemResourceEx'); asm MOV ESP, EBP POP EBP JMP [_RemoveFontMemResourceEx] end; end; var _CreateFontIndirectExA: Pointer; function CreateFontIndirectExA; begin GetProcedureAddress(_CreateFontIndirectExA, gdi32, 'CreateFontIndirectExA'); asm MOV ESP, EBP POP EBP JMP [_CreateFontIndirectExA] end; end; var _CreateFontIndirectExW: Pointer; function CreateFontIndirectExW; begin GetProcedureAddress(_CreateFontIndirectExW, gdi32, 'CreateFontIndirectExW'); asm MOV ESP, EBP POP EBP JMP [_CreateFontIndirectExW] end; end; var _CreateFontIndirectEx: Pointer; function CreateFontIndirectEx; begin GetProcedureAddress(_CreateFontIndirectEx, gdi32, 'CreateFontIndirectEx' + AWSuffix); asm MOV ESP, EBP POP EBP JMP [_CreateFontIndirectEx] end; end; var _GetViewportExtEx: Pointer; function GetViewportExtEx; begin GetProcedureAddress(_GetViewportExtEx, gdi32, 'GetViewportExtEx'); asm MOV ESP, EBP POP EBP JMP [_GetViewportExtEx] end; end; var _GetViewportOrgEx: Pointer; function GetViewportOrgEx; begin GetProcedureAddress(_GetViewportOrgEx, gdi32, 'GetViewportOrgEx'); asm MOV ESP, EBP POP EBP JMP [_GetViewportOrgEx] end; end; var _GetWindowExtEx: Pointer; function GetWindowExtEx; begin GetProcedureAddress(_GetWindowExtEx, gdi32, 'GetWindowExtEx'); asm MOV ESP, EBP POP EBP JMP [_GetWindowExtEx] end; end; var _GetWindowOrgEx: Pointer; function GetWindowOrgEx; begin GetProcedureAddress(_GetWindowOrgEx, gdi32, 'GetWindowOrgEx'); asm MOV ESP, EBP POP EBP JMP [_GetWindowOrgEx] end; end; var _IntersectClipRect: Pointer; function IntersectClipRect; begin GetProcedureAddress(_IntersectClipRect, gdi32, 'IntersectClipRect'); asm MOV ESP, EBP POP EBP JMP [_IntersectClipRect] end; end; var _InvertRgn: Pointer; function InvertRgn; begin GetProcedureAddress(_InvertRgn, gdi32, 'InvertRgn'); asm MOV ESP, EBP POP EBP JMP [_InvertRgn] end; end; var _LineDDA: Pointer; function LineDDA; begin GetProcedureAddress(_LineDDA, gdi32, 'LineDDA'); asm MOV ESP, EBP POP EBP JMP [_LineDDA] end; end; var _LineTo: Pointer; function LineTo; begin GetProcedureAddress(_LineTo, gdi32, 'LineTo'); asm MOV ESP, EBP POP EBP JMP [_LineTo] end; end; var _MaskBlt: Pointer; function MaskBlt; begin GetProcedureAddress(_MaskBlt, gdi32, 'MaskBlt'); asm MOV ESP, EBP POP EBP JMP [_MaskBlt] end; end; var _PlgBlt: Pointer; function PlgBlt; begin GetProcedureAddress(_PlgBlt, gdi32, 'PlgBlt'); asm MOV ESP, EBP POP EBP JMP [_PlgBlt] end; end; var _OffsetClipRgn: Pointer; function OffsetClipRgn; begin GetProcedureAddress(_OffsetClipRgn, gdi32, 'OffsetClipRgn'); asm MOV ESP, EBP POP EBP JMP [_OffsetClipRgn] end; end; var _OffsetRgn: Pointer; function OffsetRgn; begin GetProcedureAddress(_OffsetRgn, gdi32, 'OffsetRgn'); asm MOV ESP, EBP POP EBP JMP [_OffsetRgn] end; end; var _PatBlt: Pointer; function PatBlt; begin GetProcedureAddress(_PatBlt, gdi32, 'PatBlt'); asm MOV ESP, EBP POP EBP JMP [_PatBlt] end; end; var _Pie: Pointer; function Pie; begin GetProcedureAddress(_Pie, gdi32, 'Pie'); asm MOV ESP, EBP POP EBP JMP [_Pie] end; end; var _PlayMetaFile: Pointer; function PlayMetaFile; begin GetProcedureAddress(_PlayMetaFile, gdi32, 'PlayMetaFile'); asm MOV ESP, EBP POP EBP JMP [_PlayMetaFile] end; end; var _PaintRgn: Pointer; function PaintRgn; begin GetProcedureAddress(_PaintRgn, gdi32, 'PaintRgn'); asm MOV ESP, EBP POP EBP JMP [_PaintRgn] end; end; var _PolyPolygon: Pointer; function PolyPolygon; begin GetProcedureAddress(_PolyPolygon, gdi32, 'PolyPolygon'); asm MOV ESP, EBP POP EBP JMP [_PolyPolygon] end; end; var _PtInRegion: Pointer; function PtInRegion; begin GetProcedureAddress(_PtInRegion, gdi32, 'PtInRegion'); asm MOV ESP, EBP POP EBP JMP [_PtInRegion] end; end; var _PtVisible: Pointer; function PtVisible; begin GetProcedureAddress(_PtVisible, gdi32, 'PtVisible'); asm MOV ESP, EBP POP EBP JMP [_PtVisible] end; end; var _RectInRegion: Pointer; function RectInRegion; begin GetProcedureAddress(_RectInRegion, gdi32, 'RectInRegion'); asm MOV ESP, EBP POP EBP JMP [_RectInRegion] end; end; var _RectVisible: Pointer; function RectVisible; begin GetProcedureAddress(_RectVisible, gdi32, 'RectVisible'); asm MOV ESP, EBP POP EBP JMP [_RectVisible] end; end; var _Rectangle: Pointer; function Rectangle; begin GetProcedureAddress(_Rectangle, gdi32, 'Rectangle'); asm MOV ESP, EBP POP EBP JMP [_Rectangle] end; end; var _RestoreDC: Pointer; function RestoreDC; begin GetProcedureAddress(_RestoreDC, gdi32, 'RestoreDC'); asm MOV ESP, EBP POP EBP JMP [_RestoreDC] end; end; var _ResetDCA: Pointer; function ResetDCA; begin GetProcedureAddress(_ResetDCA, gdi32, 'ResetDCA'); asm MOV ESP, EBP POP EBP JMP [_ResetDCA] end; end; var _ResetDCW: Pointer; function ResetDCW; begin GetProcedureAddress(_ResetDCW, gdi32, 'ResetDCW'); asm MOV ESP, EBP POP EBP JMP [_ResetDCW] end; end; var _ResetDC: Pointer; function ResetDC; begin GetProcedureAddress(_ResetDC, gdi32, 'ResetDC' + AWSuffix); asm MOV ESP, EBP POP EBP JMP [_ResetDC] end; end; var _RealizePalette: Pointer; function RealizePalette; begin GetProcedureAddress(_RealizePalette, gdi32, 'RealizePalette'); asm MOV ESP, EBP POP EBP JMP [_RealizePalette] end; end; var _RemoveFontResourceA: Pointer; function RemoveFontResourceA; begin GetProcedureAddress(_RemoveFontResourceA, gdi32, 'RemoveFontResourceA'); asm MOV ESP, EBP POP EBP JMP [_RemoveFontResourceA] end; end; var _RemoveFontResourceW: Pointer; function RemoveFontResourceW; begin GetProcedureAddress(_RemoveFontResourceW, gdi32, 'RemoveFontResourceW'); asm MOV ESP, EBP POP EBP JMP [_RemoveFontResourceW] end; end; var _RemoveFontResource: Pointer; function RemoveFontResource; begin GetProcedureAddress(_RemoveFontResource, gdi32, 'RemoveFontResource' + AWSuffix); asm MOV ESP, EBP POP EBP JMP [_RemoveFontResource] end; end; var _RoundRect: Pointer; function RoundRect; begin GetProcedureAddress(_RoundRect, gdi32, 'RoundRect'); asm MOV ESP, EBP POP EBP JMP [_RoundRect] end; end; var _ResizePalette: Pointer; function ResizePalette; begin GetProcedureAddress(_ResizePalette, gdi32, 'ResizePalette'); asm MOV ESP, EBP POP EBP JMP [_ResizePalette] end; end; var _SaveDC: Pointer; function SaveDC; begin GetProcedureAddress(_SaveDC, gdi32, 'SaveDC'); asm MOV ESP, EBP POP EBP JMP [_SaveDC] end; end; var _SelectClipRgn: Pointer; function SelectClipRgn; begin GetProcedureAddress(_SelectClipRgn, gdi32, 'SelectClipRgn'); asm MOV ESP, EBP POP EBP JMP [_SelectClipRgn] end; end; var _ExtSelectClipRgn: Pointer; function ExtSelectClipRgn; begin GetProcedureAddress(_ExtSelectClipRgn, gdi32, 'ExtSelectClipRgn'); asm MOV ESP, EBP POP EBP JMP [_ExtSelectClipRgn] end; end; var _SetMetaRgn: Pointer; function SetMetaRgn; begin GetProcedureAddress(_SetMetaRgn, gdi32, 'SetMetaRgn'); asm MOV ESP, EBP POP EBP JMP [_SetMetaRgn] end; end; var _SelectObject: Pointer; function SelectObject; begin GetProcedureAddress(_SelectObject, gdi32, 'SelectObject'); asm MOV ESP, EBP POP EBP JMP [_SelectObject] end; end; var _SelectPalette: Pointer; function SelectPalette; begin GetProcedureAddress(_SelectPalette, gdi32, 'SelectPalette'); asm MOV ESP, EBP POP EBP JMP [_SelectPalette] end; end; var _SetBkColor: Pointer; function SetBkColor; begin GetProcedureAddress(_SetBkColor, gdi32, 'SetBkColor'); asm MOV ESP, EBP POP EBP JMP [_SetBkColor] end; end; var _SetDCBrushColor: Pointer; function SetDCBrushColor; begin GetProcedureAddress(_SetDCBrushColor, gdi32, 'SetDCBrushColor'); asm MOV ESP, EBP POP EBP JMP [_SetDCBrushColor] end; end; var _SetDCPenColor: Pointer; function SetDCPenColor; begin GetProcedureAddress(_SetDCPenColor, gdi32, 'SetDCPenColor'); asm MOV ESP, EBP POP EBP JMP [_SetDCPenColor] end; end; var _SetBkMode: Pointer; function SetBkMode; begin GetProcedureAddress(_SetBkMode, gdi32, 'SetBkMode'); asm MOV ESP, EBP POP EBP JMP [_SetBkMode] end; end; var _SetBitmapBits: Pointer; function SetBitmapBits; begin GetProcedureAddress(_SetBitmapBits, gdi32, 'SetBitmapBits'); asm MOV ESP, EBP POP EBP JMP [_SetBitmapBits] end; end; var _SetBoundsRect: Pointer; function SetBoundsRect; begin GetProcedureAddress(_SetBoundsRect, gdi32, 'SetBoundsRect'); asm MOV ESP, EBP POP EBP JMP [_SetBoundsRect] end; end; var _SetDIBits: Pointer; function SetDIBits; begin GetProcedureAddress(_SetDIBits, gdi32, 'SetDIBits'); asm MOV ESP, EBP POP EBP JMP [_SetDIBits] end; end; var _SetDIBitsToDevice: Pointer; function SetDIBitsToDevice; begin GetProcedureAddress(_SetDIBitsToDevice, gdi32, 'SetDIBitsToDevice'); asm MOV ESP, EBP POP EBP JMP [_SetDIBitsToDevice] end; end; var _SetMapperFlags: Pointer; function SetMapperFlags; begin GetProcedureAddress(_SetMapperFlags, gdi32, 'SetMapperFlags'); asm MOV ESP, EBP POP EBP JMP [_SetMapperFlags] end; end; var _SetGraphicsMode: Pointer; function SetGraphicsMode; begin GetProcedureAddress(_SetGraphicsMode, gdi32, 'SetGraphicsMode'); asm MOV ESP, EBP POP EBP JMP [_SetGraphicsMode] end; end; var _SetMapMode: Pointer; function SetMapMode; begin GetProcedureAddress(_SetMapMode, gdi32, 'SetMapMode'); asm MOV ESP, EBP POP EBP JMP [_SetMapMode] end; end; var _SetLayout: Pointer; function SetLayout; begin GetProcedureAddress(_SetLayout, gdi32, 'SetLayout'); asm MOV ESP, EBP POP EBP JMP [_SetLayout] end; end; var _GetLayout: Pointer; function GetLayout; begin GetProcedureAddress(_GetLayout, gdi32, 'GetLayout'); asm MOV ESP, EBP POP EBP JMP [_GetLayout] end; end; var _SetMetaFileBitsEx: Pointer; function SetMetaFileBitsEx; begin GetProcedureAddress(_SetMetaFileBitsEx, gdi32, 'SetMetaFileBitsEx'); asm MOV ESP, EBP POP EBP JMP [_SetMetaFileBitsEx] end; end; var _SetPaletteEntries: Pointer; function SetPaletteEntries; begin GetProcedureAddress(_SetPaletteEntries, gdi32, 'SetPaletteEntries'); asm MOV ESP, EBP POP EBP JMP [_SetPaletteEntries] end; end; var _SetPixel: Pointer; function SetPixel; begin GetProcedureAddress(_SetPixel, gdi32, 'SetPixel'); asm MOV ESP, EBP POP EBP JMP [_SetPixel] end; end; var _SetPixelV: Pointer; function SetPixelV; begin GetProcedureAddress(_SetPixelV, gdi32, 'SetPixelV'); asm MOV ESP, EBP POP EBP JMP [_SetPixelV] end; end; var _SetPixelFormat: Pointer; function SetPixelFormat; begin GetProcedureAddress(_SetPixelFormat, gdi32, 'SetPixelFormat'); asm MOV ESP, EBP POP EBP JMP [_SetPixelFormat] end; end; var _SetPolyFillMode: Pointer; function SetPolyFillMode; begin GetProcedureAddress(_SetPolyFillMode, gdi32, 'SetPolyFillMode'); asm MOV ESP, EBP POP EBP JMP [_SetPolyFillMode] end; end; var _StretchBlt: Pointer; function StretchBlt; begin GetProcedureAddress(_StretchBlt, gdi32, 'StretchBlt'); asm MOV ESP, EBP POP EBP JMP [_StretchBlt] end; end; var _SetRectRgn: Pointer; function SetRectRgn; begin GetProcedureAddress(_SetRectRgn, gdi32, 'SetRectRgn'); asm MOV ESP, EBP POP EBP JMP [_SetRectRgn] end; end; var _StretchDIBits: Pointer; function StretchDIBits; begin GetProcedureAddress(_StretchDIBits, gdi32, 'StretchDIBits'); asm MOV ESP, EBP POP EBP JMP [_StretchDIBits] end; end; var _SetROP2: Pointer; function SetROP2; begin GetProcedureAddress(_SetROP2, gdi32, 'SetROP2'); asm MOV ESP, EBP POP EBP JMP [_SetROP2] end; end; var _SetStretchBltMode: Pointer; function SetStretchBltMode; begin GetProcedureAddress(_SetStretchBltMode, gdi32, 'SetStretchBltMode'); asm MOV ESP, EBP POP EBP JMP [_SetStretchBltMode] end; end; var _SetSystemPaletteUse: Pointer; function SetSystemPaletteUse; begin GetProcedureAddress(_SetSystemPaletteUse, gdi32, 'SetSystemPaletteUse'); asm MOV ESP, EBP POP EBP JMP [_SetSystemPaletteUse] end; end; var _SetTextCharacterExtra: Pointer; function SetTextCharacterExtra; begin GetProcedureAddress(_SetTextCharacterExtra, gdi32, 'SetTextCharacterExtra'); asm MOV ESP, EBP POP EBP JMP [_SetTextCharacterExtra] end; end; var _SetTextColor: Pointer; function SetTextColor; begin GetProcedureAddress(_SetTextColor, gdi32, 'SetTextColor'); asm MOV ESP, EBP POP EBP JMP [_SetTextColor] end; end; var _SetTextAlign: Pointer; function SetTextAlign; begin GetProcedureAddress(_SetTextAlign, gdi32, 'SetTextAlign'); asm MOV ESP, EBP POP EBP JMP [_SetTextAlign] end; end; var _SetTextJustification: Pointer; function SetTextJustification; begin GetProcedureAddress(_SetTextJustification, gdi32, 'SetTextJustification'); asm MOV ESP, EBP POP EBP JMP [_SetTextJustification] end; end; var _UpdateColors: Pointer; function UpdateColors; begin GetProcedureAddress(_UpdateColors, gdi32, 'UpdateColors'); asm MOV ESP, EBP POP EBP JMP [_UpdateColors] end; end; var _AlphaBlend: Pointer; function AlphaBlend; begin GetProcedureAddress(_AlphaBlend, msimg32, 'AlphaBlend'); asm MOV ESP, EBP POP EBP JMP [_AlphaBlend] end; end; var _TransparentBlt: Pointer; function TransparentBlt; begin GetProcedureAddress(_TransparentBlt, msimg32, 'TransparentBlt'); asm MOV ESP, EBP POP EBP JMP [_TransparentBlt] end; end; var _GradientFill: Pointer; function GradientFill; begin GetProcedureAddress(_GradientFill, msimg32, 'GradientFill'); asm MOV ESP, EBP POP EBP JMP [_GradientFill] end; end; var _PlayMetaFileRecord: Pointer; function PlayMetaFileRecord; begin GetProcedureAddress(_PlayMetaFileRecord, gdi32, 'PlayMetaFileRecord'); asm MOV ESP, EBP POP EBP JMP [_PlayMetaFileRecord] end; end; var _EnumMetaFile: Pointer; function EnumMetaFile; begin GetProcedureAddress(_EnumMetaFile, gdi32, 'EnumMetaFile'); asm MOV ESP, EBP POP EBP JMP [_EnumMetaFile] end; end; var _CloseEnhMetaFile: Pointer; function CloseEnhMetaFile; begin GetProcedureAddress(_CloseEnhMetaFile, gdi32, 'CloseEnhMetaFile'); asm MOV ESP, EBP POP EBP JMP [_CloseEnhMetaFile] end; end; var _CopyEnhMetaFileA: Pointer; function CopyEnhMetaFileA; begin GetProcedureAddress(_CopyEnhMetaFileA, gdi32, 'CopyEnhMetaFileA'); asm MOV ESP, EBP POP EBP JMP [_CopyEnhMetaFileA] end; end; var _CopyEnhMetaFileW: Pointer; function CopyEnhMetaFileW; begin GetProcedureAddress(_CopyEnhMetaFileW, gdi32, 'CopyEnhMetaFileW'); asm MOV ESP, EBP POP EBP JMP [_CopyEnhMetaFileW] end; end; var _CopyEnhMetaFile: Pointer; function CopyEnhMetaFile; begin GetProcedureAddress(_CopyEnhMetaFile, gdi32, 'CopyEnhMetaFile' + AWSuffix); asm MOV ESP, EBP POP EBP JMP [_CopyEnhMetaFile] end; end; var _CreateEnhMetaFileA: Pointer; function CreateEnhMetaFileA; begin GetProcedureAddress(_CreateEnhMetaFileA, gdi32, 'CreateEnhMetaFileA'); asm MOV ESP, EBP POP EBP JMP [_CreateEnhMetaFileA] end; end; var _CreateEnhMetaFileW: Pointer; function CreateEnhMetaFileW; begin GetProcedureAddress(_CreateEnhMetaFileW, gdi32, 'CreateEnhMetaFileW'); asm MOV ESP, EBP POP EBP JMP [_CreateEnhMetaFileW] end; end; var _CreateEnhMetaFile: Pointer; function CreateEnhMetaFile; begin GetProcedureAddress(_CreateEnhMetaFile, gdi32, 'CreateEnhMetaFile' + AWSuffix); asm MOV ESP, EBP POP EBP JMP [_CreateEnhMetaFile] end; end; var _DeleteEnhMetaFile: Pointer; function DeleteEnhMetaFile; begin GetProcedureAddress(_DeleteEnhMetaFile, gdi32, 'DeleteEnhMetaFile'); asm MOV ESP, EBP POP EBP JMP [_DeleteEnhMetaFile] end; end; var _EnumEnhMetaFile: Pointer; function EnumEnhMetaFile; begin GetProcedureAddress(_EnumEnhMetaFile, gdi32, 'EnumEnhMetaFile'); asm MOV ESP, EBP POP EBP JMP [_EnumEnhMetaFile] end; end; var _GetEnhMetaFileA: Pointer; function GetEnhMetaFileA; begin GetProcedureAddress(_GetEnhMetaFileA, gdi32, 'GetEnhMetaFileA'); asm MOV ESP, EBP POP EBP JMP [_GetEnhMetaFileA] end; end; var _GetEnhMetaFileW: Pointer; function GetEnhMetaFileW; begin GetProcedureAddress(_GetEnhMetaFileW, gdi32, 'GetEnhMetaFileW'); asm MOV ESP, EBP POP EBP JMP [_GetEnhMetaFileW] end; end; var _GetEnhMetaFile: Pointer; function GetEnhMetaFile; begin GetProcedureAddress(_GetEnhMetaFile, gdi32, 'GetEnhMetaFile' + AWSuffix); asm MOV ESP, EBP POP EBP JMP [_GetEnhMetaFile] end; end; var _GetEnhMetaFileBits: Pointer; function GetEnhMetaFileBits; begin GetProcedureAddress(_GetEnhMetaFileBits, gdi32, 'GetEnhMetaFileBits'); asm MOV ESP, EBP POP EBP JMP [_GetEnhMetaFileBits] end; end; var _GetEnhMetaFileDescriptionA: Pointer; function GetEnhMetaFileDescriptionA; begin GetProcedureAddress(_GetEnhMetaFileDescriptionA, gdi32, 'GetEnhMetaFileDescriptionA'); asm MOV ESP, EBP POP EBP JMP [_GetEnhMetaFileDescriptionA] end; end; var _GetEnhMetaFileDescriptionW: Pointer; function GetEnhMetaFileDescriptionW; begin GetProcedureAddress(_GetEnhMetaFileDescriptionW, gdi32, 'GetEnhMetaFileDescriptionW'); asm MOV ESP, EBP POP EBP JMP [_GetEnhMetaFileDescriptionW] end; end; var _GetEnhMetaFileDescription: Pointer; function GetEnhMetaFileDescription; begin GetProcedureAddress(_GetEnhMetaFileDescription, gdi32, 'GetEnhMetaFileDescription' + AWSuffix); asm MOV ESP, EBP POP EBP JMP [_GetEnhMetaFileDescription] end; end; var _GetEnhMetaFileHeader: Pointer; function GetEnhMetaFileHeader; begin GetProcedureAddress(_GetEnhMetaFileHeader, gdi32, 'GetEnhMetaFileHeader'); asm MOV ESP, EBP POP EBP JMP [_GetEnhMetaFileHeader] end; end; var _GetEnhMetaFilePaletteEntries: Pointer; function GetEnhMetaFilePaletteEntries; begin GetProcedureAddress(_GetEnhMetaFilePaletteEntries, gdi32, 'GetEnhMetaFilePaletteEntries'); asm MOV ESP, EBP POP EBP JMP [_GetEnhMetaFilePaletteEntries] end; end; var _GetEnhMetaFilePixelFormat: Pointer; function GetEnhMetaFilePixelFormat; begin GetProcedureAddress(_GetEnhMetaFilePixelFormat, gdi32, 'GetEnhMetaFilePixelFormat'); asm MOV ESP, EBP POP EBP JMP [_GetEnhMetaFilePixelFormat] end; end; var _GetWinMetaFileBits: Pointer; function GetWinMetaFileBits; begin GetProcedureAddress(_GetWinMetaFileBits, gdi32, 'GetWinMetaFileBits'); asm MOV ESP, EBP POP EBP JMP [_GetWinMetaFileBits] end; end; var _PlayEnhMetaFile: Pointer; function PlayEnhMetaFile; begin GetProcedureAddress(_PlayEnhMetaFile, gdi32, 'PlayEnhMetaFile'); asm MOV ESP, EBP POP EBP JMP [_PlayEnhMetaFile] end; end; var _PlayEnhMetaFileRecord: Pointer; function PlayEnhMetaFileRecord; begin GetProcedureAddress(_PlayEnhMetaFileRecord, gdi32, 'PlayEnhMetaFileRecord'); asm MOV ESP, EBP POP EBP JMP [_PlayEnhMetaFileRecord] end; end; var _SetEnhMetaFileBits: Pointer; function SetEnhMetaFileBits; begin GetProcedureAddress(_SetEnhMetaFileBits, gdi32, 'SetEnhMetaFileBits'); asm MOV ESP, EBP POP EBP JMP [_SetEnhMetaFileBits] end; end; var _SetWinMetaFileBits: Pointer; function SetWinMetaFileBits; begin GetProcedureAddress(_SetWinMetaFileBits, gdi32, 'SetWinMetaFileBits'); asm MOV ESP, EBP POP EBP JMP [_SetWinMetaFileBits] end; end; var _GdiComment: Pointer; function GdiComment; begin GetProcedureAddress(_GdiComment, gdi32, 'GdiComment'); asm MOV ESP, EBP POP EBP JMP [_GdiComment] end; end; var _GetTextMetricsA: Pointer; function GetTextMetricsA; begin GetProcedureAddress(_GetTextMetricsA, gdi32, 'GetTextMetricsA'); asm MOV ESP, EBP POP EBP JMP [_GetTextMetricsA] end; end; var _GetTextMetricsW: Pointer; function GetTextMetricsW; begin GetProcedureAddress(_GetTextMetricsW, gdi32, 'GetTextMetricsW'); asm MOV ESP, EBP POP EBP JMP [_GetTextMetricsW] end; end; var _GetTextMetrics: Pointer; function GetTextMetrics; begin GetProcedureAddress(_GetTextMetrics, gdi32, 'GetTextMetrics' + AWSuffix); asm MOV ESP, EBP POP EBP JMP [_GetTextMetrics] end; end; var _AngleArc: Pointer; function AngleArc; begin GetProcedureAddress(_AngleArc, gdi32, 'AngleArc'); asm MOV ESP, EBP POP EBP JMP [_AngleArc] end; end; var _PolyPolyline: Pointer; function PolyPolyline; begin GetProcedureAddress(_PolyPolyline, gdi32, 'PolyPolyline'); asm MOV ESP, EBP POP EBP JMP [_PolyPolyline] end; end; var _GetWorldTransform: Pointer; function GetWorldTransform; begin GetProcedureAddress(_GetWorldTransform, gdi32, 'GetWorldTransform'); asm MOV ESP, EBP POP EBP JMP [_GetWorldTransform] end; end; var _SetWorldTransform: Pointer; function SetWorldTransform; begin GetProcedureAddress(_SetWorldTransform, gdi32, 'SetWorldTransform'); asm MOV ESP, EBP POP EBP JMP [_SetWorldTransform] end; end; var _ModifyWorldTransform: Pointer; function ModifyWorldTransform; begin GetProcedureAddress(_ModifyWorldTransform, gdi32, 'ModifyWorldTransform'); asm MOV ESP, EBP POP EBP JMP [_ModifyWorldTransform] end; end; var _CombineTransform: Pointer; function CombineTransform; begin GetProcedureAddress(_CombineTransform, gdi32, 'CombineTransform'); asm MOV ESP, EBP POP EBP JMP [_CombineTransform] end; end; var _CreateDIBSection: Pointer; function CreateDIBSection; begin GetProcedureAddress(_CreateDIBSection, gdi32, 'CreateDIBSection'); asm MOV ESP, EBP POP EBP JMP [_CreateDIBSection] end; end; var _GetDIBColorTable: Pointer; function GetDIBColorTable; begin GetProcedureAddress(_GetDIBColorTable, gdi32, 'GetDIBColorTable'); asm MOV ESP, EBP POP EBP JMP [_GetDIBColorTable] end; end; var _SetDIBColorTable: Pointer; function SetDIBColorTable; begin GetProcedureAddress(_SetDIBColorTable, gdi32, 'SetDIBColorTable'); asm MOV ESP, EBP POP EBP JMP [_SetDIBColorTable] end; end; var _SetColorAdjustment: Pointer; function SetColorAdjustment; begin GetProcedureAddress(_SetColorAdjustment, gdi32, 'SetColorAdjustment'); asm MOV ESP, EBP POP EBP JMP [_SetColorAdjustment] end; end; var _GetColorAdjustment: Pointer; function GetColorAdjustment; begin GetProcedureAddress(_GetColorAdjustment, gdi32, 'GetColorAdjustment'); asm MOV ESP, EBP POP EBP JMP [_GetColorAdjustment] end; end; var _CreateHalftonePalette: Pointer; function CreateHalftonePalette; begin GetProcedureAddress(_CreateHalftonePalette, gdi32, 'CreateHalftonePalette'); asm MOV ESP, EBP POP EBP JMP [_CreateHalftonePalette] end; end; var _StartDocA: Pointer; function StartDocA; begin GetProcedureAddress(_StartDocA, gdi32, 'StartDocA'); asm MOV ESP, EBP POP EBP JMP [_StartDocA] end; end; var _StartDocW: Pointer; function StartDocW; begin GetProcedureAddress(_StartDocW, gdi32, 'StartDocW'); asm MOV ESP, EBP POP EBP JMP [_StartDocW] end; end; var _StartDoc: Pointer; function StartDoc; begin GetProcedureAddress(_StartDoc, gdi32, 'StartDoc' + AWSuffix); asm MOV ESP, EBP POP EBP JMP [_StartDoc] end; end; var __EndDoc: Pointer; function EndDoc; begin GetProcedureAddress(__EndDoc, gdi32, 'EndDoc'); asm MOV ESP, EBP POP EBP JMP [__EndDoc] end; end; var _StartPage: Pointer; function StartPage; begin GetProcedureAddress(_StartPage, gdi32, 'StartPage'); asm MOV ESP, EBP POP EBP JMP [_StartPage] end; end; var _EndPage: Pointer; function EndPage; begin GetProcedureAddress(_EndPage, gdi32, 'EndPage'); asm MOV ESP, EBP POP EBP JMP [_EndPage] end; end; var __AbortDoc: Pointer; function AbortDoc; begin GetProcedureAddress(__AbortDoc, gdi32, 'AbortDoc'); asm MOV ESP, EBP POP EBP JMP [__AbortDoc] end; end; var _SetAbortProc: Pointer; function SetAbortProc; begin GetProcedureAddress(_SetAbortProc, gdi32, 'SetAbortProc'); asm MOV ESP, EBP POP EBP JMP [_SetAbortProc] end; end; var _AbortPath: Pointer; function AbortPath; begin GetProcedureAddress(_AbortPath, gdi32, 'AbortPath'); asm MOV ESP, EBP POP EBP JMP [_AbortPath] end; end; var _ArcTo: Pointer; function ArcTo; begin GetProcedureAddress(_ArcTo, gdi32, 'ArcTo'); asm MOV ESP, EBP POP EBP JMP [_ArcTo] end; end; var _BeginPath: Pointer; function BeginPath; begin GetProcedureAddress(_BeginPath, gdi32, 'BeginPath'); asm MOV ESP, EBP POP EBP JMP [_BeginPath] end; end; var _CloseFigure: Pointer; function CloseFigure; begin GetProcedureAddress(_CloseFigure, gdi32, 'CloseFigure'); asm MOV ESP, EBP POP EBP JMP [_CloseFigure] end; end; var _EndPath: Pointer; function EndPath; begin GetProcedureAddress(_EndPath, gdi32, 'EndPath'); asm MOV ESP, EBP POP EBP JMP [_EndPath] end; end; var _FillPath: Pointer; function FillPath; begin GetProcedureAddress(_FillPath, gdi32, 'FillPath'); asm MOV ESP, EBP POP EBP JMP [_FillPath] end; end; var _FlattenPath: Pointer; function FlattenPath; begin GetProcedureAddress(_FlattenPath, gdi32, 'FlattenPath'); asm MOV ESP, EBP POP EBP JMP [_FlattenPath] end; end; var _GetPath: Pointer; function GetPath; begin GetProcedureAddress(_GetPath, gdi32, 'GetPath'); asm MOV ESP, EBP POP EBP JMP [_GetPath] end; end; var _PathToRegion: Pointer; function PathToRegion; begin GetProcedureAddress(_PathToRegion, gdi32, 'PathToRegion'); asm MOV ESP, EBP POP EBP JMP [_PathToRegion] end; end; var _PolyDraw: Pointer; function PolyDraw; begin GetProcedureAddress(_PolyDraw, gdi32, 'PolyDraw'); asm MOV ESP, EBP POP EBP JMP [_PolyDraw] end; end; var _SelectClipPath: Pointer; function SelectClipPath; begin GetProcedureAddress(_SelectClipPath, gdi32, 'SelectClipPath'); asm MOV ESP, EBP POP EBP JMP [_SelectClipPath] end; end; var _SetArcDirection: Pointer; function SetArcDirection; begin GetProcedureAddress(_SetArcDirection, gdi32, 'SetArcDirection'); asm MOV ESP, EBP POP EBP JMP [_SetArcDirection] end; end; var _SetMiterLimit: Pointer; function SetMiterLimit; begin GetProcedureAddress(_SetMiterLimit, gdi32, 'SetMiterLimit'); asm MOV ESP, EBP POP EBP JMP [_SetMiterLimit] end; end; var _StrokeAndFillPath: Pointer; function StrokeAndFillPath; begin GetProcedureAddress(_StrokeAndFillPath, gdi32, 'StrokeAndFillPath'); asm MOV ESP, EBP POP EBP JMP [_StrokeAndFillPath] end; end; var _StrokePath: Pointer; function StrokePath; begin GetProcedureAddress(_StrokePath, gdi32, 'StrokePath'); asm MOV ESP, EBP POP EBP JMP [_StrokePath] end; end; var _WidenPath: Pointer; function WidenPath; begin GetProcedureAddress(_WidenPath, gdi32, 'WidenPath'); asm MOV ESP, EBP POP EBP JMP [_WidenPath] end; end; var _ExtCreatePen: Pointer; function ExtCreatePen; begin GetProcedureAddress(_ExtCreatePen, gdi32, 'ExtCreatePen'); asm MOV ESP, EBP POP EBP JMP [_ExtCreatePen] end; end; var _GetMiterLimit: Pointer; function GetMiterLimit; begin GetProcedureAddress(_GetMiterLimit, gdi32, 'GetMiterLimit'); asm MOV ESP, EBP POP EBP JMP [_GetMiterLimit] end; end; var _GetArcDirection: Pointer; function GetArcDirection; begin GetProcedureAddress(_GetArcDirection, gdi32, 'GetArcDirection'); asm MOV ESP, EBP POP EBP JMP [_GetArcDirection] end; end; var _GetObjectA: Pointer; function GetObjectA; begin GetProcedureAddress(_GetObjectA, gdi32, 'GetObjectA'); asm MOV ESP, EBP POP EBP JMP [_GetObjectA] end; end; var _GetObjectW: Pointer; function GetObjectW; begin GetProcedureAddress(_GetObjectW, gdi32, 'GetObjectW'); asm MOV ESP, EBP POP EBP JMP [_GetObjectW] end; end; var _GetObject: Pointer; function GetObject; begin GetProcedureAddress(_GetObject, gdi32, 'GetObject' + AWSuffix); asm MOV ESP, EBP POP EBP JMP [_GetObject] end; end; var _MoveToEx: Pointer; function MoveToEx; begin GetProcedureAddress(_MoveToEx, gdi32, 'MoveToEx'); asm MOV ESP, EBP POP EBP JMP [_MoveToEx] end; end; var _TextOutA: Pointer; function TextOutA; begin GetProcedureAddress(_TextOutA, gdi32, 'TextOutA'); asm MOV ESP, EBP POP EBP JMP [_TextOutA] end; end; var _TextOutW: Pointer; function TextOutW; begin GetProcedureAddress(_TextOutW, gdi32, 'TextOutW'); asm MOV ESP, EBP POP EBP JMP [_TextOutW] end; end; var _TextOut: Pointer; function TextOut; begin GetProcedureAddress(_TextOut, gdi32, 'TextOut' + AWSuffix); asm MOV ESP, EBP POP EBP JMP [_TextOut] end; end; var _ExtTextOutA: Pointer; function ExtTextOutA; begin GetProcedureAddress(_ExtTextOutA, gdi32, 'ExtTextOutA'); asm MOV ESP, EBP POP EBP JMP [_ExtTextOutA] end; end; var _ExtTextOutW: Pointer; function ExtTextOutW; begin GetProcedureAddress(_ExtTextOutW, gdi32, 'ExtTextOutW'); asm MOV ESP, EBP POP EBP JMP [_ExtTextOutW] end; end; var _ExtTextOut: Pointer; function ExtTextOut; begin GetProcedureAddress(_ExtTextOut, gdi32, 'ExtTextOut' + AWSuffix); asm MOV ESP, EBP POP EBP JMP [_ExtTextOut] end; end; var _PolyTextOutA: Pointer; function PolyTextOutA; begin GetProcedureAddress(_PolyTextOutA, gdi32, 'PolyTextOutA'); asm MOV ESP, EBP POP EBP JMP [_PolyTextOutA] end; end; var _PolyTextOutW: Pointer; function PolyTextOutW; begin GetProcedureAddress(_PolyTextOutW, gdi32, 'PolyTextOutW'); asm MOV ESP, EBP POP EBP JMP [_PolyTextOutW] end; end; var _PolyTextOut: Pointer; function PolyTextOut; begin GetProcedureAddress(_PolyTextOut, gdi32, 'PolyTextOut' + AWSuffix); asm MOV ESP, EBP POP EBP JMP [_PolyTextOut] end; end; var _CreatePolygonRgn: Pointer; function CreatePolygonRgn; begin GetProcedureAddress(_CreatePolygonRgn, gdi32, 'CreatePolygonRgn'); asm MOV ESP, EBP POP EBP JMP [_CreatePolygonRgn] end; end; var _DPtoLP: Pointer; function DPtoLP; begin GetProcedureAddress(_DPtoLP, gdi32, 'DPtoLP'); asm MOV ESP, EBP POP EBP JMP [_DPtoLP] end; end; var _LPtoDP: Pointer; function LPtoDP; begin GetProcedureAddress(_LPtoDP, gdi32, 'LPtoDP'); asm MOV ESP, EBP POP EBP JMP [_LPtoDP] end; end; var _Polygon: Pointer; function Polygon; begin GetProcedureAddress(_Polygon, gdi32, 'Polygon'); asm MOV ESP, EBP POP EBP JMP [_Polygon] end; end; var _Polyline: Pointer; function Polyline; begin GetProcedureAddress(_Polyline, gdi32, 'Polyline'); asm MOV ESP, EBP POP EBP JMP [_Polyline] end; end; var _PolyBezier: Pointer; function PolyBezier; begin GetProcedureAddress(_PolyBezier, gdi32, 'PolyBezier'); asm MOV ESP, EBP POP EBP JMP [_PolyBezier] end; end; var _PolyBezierTo: Pointer; function PolyBezierTo; begin GetProcedureAddress(_PolyBezierTo, gdi32, 'PolyBezierTo'); asm MOV ESP, EBP POP EBP JMP [_PolyBezierTo] end; end; var _PolylineTo: Pointer; function PolylineTo; begin GetProcedureAddress(_PolylineTo, gdi32, 'PolylineTo'); asm MOV ESP, EBP POP EBP JMP [_PolylineTo] end; end; var _SetViewportExtEx: Pointer; function SetViewportExtEx; begin GetProcedureAddress(_SetViewportExtEx, gdi32, 'SetViewportExtEx'); asm MOV ESP, EBP POP EBP JMP [_SetViewportExtEx] end; end; var _SetViewportOrgEx: Pointer; function SetViewportOrgEx; begin GetProcedureAddress(_SetViewportOrgEx, gdi32, 'SetViewportOrgEx'); asm MOV ESP, EBP POP EBP JMP [_SetViewportOrgEx] end; end; var _SetWindowExtEx: Pointer; function SetWindowExtEx; begin GetProcedureAddress(_SetWindowExtEx, gdi32, 'SetWindowExtEx'); asm MOV ESP, EBP POP EBP JMP [_SetWindowExtEx] end; end; var _SetWindowOrgEx: Pointer; function SetWindowOrgEx; begin GetProcedureAddress(_SetWindowOrgEx, gdi32, 'SetWindowOrgEx'); asm MOV ESP, EBP POP EBP JMP [_SetWindowOrgEx] end; end; var _OffsetViewportOrgEx: Pointer; function OffsetViewportOrgEx; begin GetProcedureAddress(_OffsetViewportOrgEx, gdi32, 'OffsetViewportOrgEx'); asm MOV ESP, EBP POP EBP JMP [_OffsetViewportOrgEx] end; end; var _OffsetWindowOrgEx: Pointer; function OffsetWindowOrgEx; begin GetProcedureAddress(_OffsetWindowOrgEx, gdi32, 'OffsetWindowOrgEx'); asm MOV ESP, EBP POP EBP JMP [_OffsetWindowOrgEx] end; end; var _ScaleViewportExtEx: Pointer; function ScaleViewportExtEx; begin GetProcedureAddress(_ScaleViewportExtEx, gdi32, 'ScaleViewportExtEx'); asm MOV ESP, EBP POP EBP JMP [_ScaleViewportExtEx] end; end; var _ScaleWindowExtEx: Pointer; function ScaleWindowExtEx; begin GetProcedureAddress(_ScaleWindowExtEx, gdi32, 'ScaleWindowExtEx'); asm MOV ESP, EBP POP EBP JMP [_ScaleWindowExtEx] end; end; var _SetBitmapDimensionEx: Pointer; function SetBitmapDimensionEx; begin GetProcedureAddress(_SetBitmapDimensionEx, gdi32, 'SetBitmapDimensionEx'); asm MOV ESP, EBP POP EBP JMP [_SetBitmapDimensionEx] end; end; var _SetBrushOrgEx: Pointer; function SetBrushOrgEx; begin GetProcedureAddress(_SetBrushOrgEx, gdi32, 'SetBrushOrgEx'); asm MOV ESP, EBP POP EBP JMP [_SetBrushOrgEx] end; end; var _GetTextFaceA: Pointer; function GetTextFaceA; begin GetProcedureAddress(_GetTextFaceA, gdi32, 'GetTextFaceA'); asm MOV ESP, EBP POP EBP JMP [_GetTextFaceA] end; end; var _GetTextFaceW: Pointer; function GetTextFaceW; begin GetProcedureAddress(_GetTextFaceW, gdi32, 'GetTextFaceW'); asm MOV ESP, EBP POP EBP JMP [_GetTextFaceW] end; end; var _GetTextFace: Pointer; function GetTextFace; begin GetProcedureAddress(_GetTextFace, gdi32, 'GetTextFace' + AWSuffix); asm MOV ESP, EBP POP EBP JMP [_GetTextFace] end; end; var _GetKerningPairsA: Pointer; function GetKerningPairsA; begin GetProcedureAddress(_GetKerningPairsA, gdi32, 'GetKerningPairsA'); asm MOV ESP, EBP POP EBP JMP [_GetKerningPairsA] end; end; var _GetKerningPairsW: Pointer; function GetKerningPairsW; begin GetProcedureAddress(_GetKerningPairsW, gdi32, 'GetKerningPairsW'); asm MOV ESP, EBP POP EBP JMP [_GetKerningPairsW] end; end; var _GetKerningPairs: Pointer; function GetKerningPairs; begin GetProcedureAddress(_GetKerningPairs, gdi32, 'GetKerningPairs' + AWSuffix); asm MOV ESP, EBP POP EBP JMP [_GetKerningPairs] end; end; var _GetDCOrgEx: Pointer; function GetDCOrgEx; begin GetProcedureAddress(_GetDCOrgEx, gdi32, 'GetDCOrgEx'); asm MOV ESP, EBP POP EBP JMP [_GetDCOrgEx] end; end; var _FixBrushOrgEx: Pointer; function FixBrushOrgEx; begin GetProcedureAddress(_FixBrushOrgEx, gdi32, 'FixBrushOrgEx'); asm MOV ESP, EBP POP EBP JMP [_FixBrushOrgEx] end; end; var _UnrealizeObject: Pointer; function UnrealizeObject; begin GetProcedureAddress(_UnrealizeObject, gdi32, 'UnrealizeObject'); asm MOV ESP, EBP POP EBP JMP [_UnrealizeObject] end; end; var _GdiFlush: Pointer; function GdiFlush; begin GetProcedureAddress(_GdiFlush, gdi32, 'GdiFlush'); asm MOV ESP, EBP POP EBP JMP [_GdiFlush] end; end; var _GdiSetBatchLimit: Pointer; function GdiSetBatchLimit; begin GetProcedureAddress(_GdiSetBatchLimit, gdi32, 'GdiSetBatchLimit'); asm MOV ESP, EBP POP EBP JMP [_GdiSetBatchLimit] end; end; var _GdiGetBatchLimit: Pointer; function GdiGetBatchLimit; begin GetProcedureAddress(_GdiGetBatchLimit, gdi32, 'GdiGetBatchLimit'); asm MOV ESP, EBP POP EBP JMP [_GdiGetBatchLimit] end; end; var _SetICMMode: Pointer; function SetICMMode; begin GetProcedureAddress(_SetICMMode, gdi32, 'SetICMMode'); asm MOV ESP, EBP POP EBP JMP [_SetICMMode] end; end; var _CheckColorsInGamut: Pointer; function CheckColorsInGamut; begin GetProcedureAddress(_CheckColorsInGamut, gdi32, 'CheckColorsInGamut'); asm MOV ESP, EBP POP EBP JMP [_CheckColorsInGamut] end; end; var _GetColorSpace: Pointer; function GetColorSpace; begin GetProcedureAddress(_GetColorSpace, gdi32, 'GetColorSpace'); asm MOV ESP, EBP POP EBP JMP [_GetColorSpace] end; end; var _GetLogColorSpaceA: Pointer; function GetLogColorSpaceA; begin GetProcedureAddress(_GetLogColorSpaceA, gdi32, 'GetLogColorSpaceA'); asm MOV ESP, EBP POP EBP JMP [_GetLogColorSpaceA] end; end; var _GetLogColorSpaceW: Pointer; function GetLogColorSpaceW; begin GetProcedureAddress(_GetLogColorSpaceW, gdi32, 'GetLogColorSpaceW'); asm MOV ESP, EBP POP EBP JMP [_GetLogColorSpaceW] end; end; var _GetLogColorSpace: Pointer; function GetLogColorSpace; begin GetProcedureAddress(_GetLogColorSpace, gdi32, 'GetLogColorSpace' + AWSuffix); asm MOV ESP, EBP POP EBP JMP [_GetLogColorSpace] end; end; var _CreateColorSpaceA: Pointer; function CreateColorSpaceA; begin GetProcedureAddress(_CreateColorSpaceA, gdi32, 'CreateColorSpaceA'); asm MOV ESP, EBP POP EBP JMP [_CreateColorSpaceA] end; end; var _CreateColorSpaceW: Pointer; function CreateColorSpaceW; begin GetProcedureAddress(_CreateColorSpaceW, gdi32, 'CreateColorSpaceW'); asm MOV ESP, EBP POP EBP JMP [_CreateColorSpaceW] end; end; var _CreateColorSpace: Pointer; function CreateColorSpace; begin GetProcedureAddress(_CreateColorSpace, gdi32, 'CreateColorSpace' + AWSuffix); asm MOV ESP, EBP POP EBP JMP [_CreateColorSpace] end; end; var _SetColorSpace: Pointer; function SetColorSpace; begin GetProcedureAddress(_SetColorSpace, gdi32, 'SetColorSpace'); asm MOV ESP, EBP POP EBP JMP [_SetColorSpace] end; end; var _DeleteColorSpace: Pointer; function DeleteColorSpace; begin GetProcedureAddress(_DeleteColorSpace, gdi32, 'DeleteColorSpace'); asm MOV ESP, EBP POP EBP JMP [_DeleteColorSpace] end; end; var _GetICMProfileA: Pointer; function GetICMProfileA; begin GetProcedureAddress(_GetICMProfileA, gdi32, 'GetICMProfileA'); asm MOV ESP, EBP POP EBP JMP [_GetICMProfileA] end; end; var _GetICMProfileW: Pointer; function GetICMProfileW; begin GetProcedureAddress(_GetICMProfileW, gdi32, 'GetICMProfileW'); asm MOV ESP, EBP POP EBP JMP [_GetICMProfileW] end; end; var _GetICMProfile: Pointer; function GetICMProfile; begin GetProcedureAddress(_GetICMProfile, gdi32, 'GetICMProfile' + AWSuffix); asm MOV ESP, EBP POP EBP JMP [_GetICMProfile] end; end; var _SetICMProfileA: Pointer; function SetICMProfileA; begin GetProcedureAddress(_SetICMProfileA, gdi32, 'SetICMProfileA'); asm MOV ESP, EBP POP EBP JMP [_SetICMProfileA] end; end; var _SetICMProfileW: Pointer; function SetICMProfileW; begin GetProcedureAddress(_SetICMProfileW, gdi32, 'SetICMProfileW'); asm MOV ESP, EBP POP EBP JMP [_SetICMProfileW] end; end; var _SetICMProfile: Pointer; function SetICMProfile; begin GetProcedureAddress(_SetICMProfile, gdi32, 'SetICMProfile' + AWSuffix); asm MOV ESP, EBP POP EBP JMP [_SetICMProfile] end; end; var _GetDeviceGammaRamp: Pointer; function GetDeviceGammaRamp; begin GetProcedureAddress(_GetDeviceGammaRamp, gdi32, 'GetDeviceGammaRamp'); asm MOV ESP, EBP POP EBP JMP [_GetDeviceGammaRamp] end; end; var _SetDeviceGammaRamp: Pointer; function SetDeviceGammaRamp; begin GetProcedureAddress(_SetDeviceGammaRamp, gdi32, 'SetDeviceGammaRamp'); asm MOV ESP, EBP POP EBP JMP [_SetDeviceGammaRamp] end; end; var _ColorMatchToTarget: Pointer; function ColorMatchToTarget; begin GetProcedureAddress(_ColorMatchToTarget, gdi32, 'ColorMatchToTarget'); asm MOV ESP, EBP POP EBP JMP [_ColorMatchToTarget] end; end; var _EnumICMProfilesA: Pointer; function EnumICMProfilesA; begin GetProcedureAddress(_EnumICMProfilesA, gdi32, 'EnumICMProfilesA'); asm MOV ESP, EBP POP EBP JMP [_EnumICMProfilesA] end; end; var _EnumICMProfilesW: Pointer; function EnumICMProfilesW; begin GetProcedureAddress(_EnumICMProfilesW, gdi32, 'EnumICMProfilesW'); asm MOV ESP, EBP POP EBP JMP [_EnumICMProfilesW] end; end; var _EnumICMProfiles: Pointer; function EnumICMProfiles; begin GetProcedureAddress(_EnumICMProfiles, gdi32, 'EnumICMProfiles' + AWSuffix); asm MOV ESP, EBP POP EBP JMP [_EnumICMProfiles] end; end; var _UpdateICMRegKeyA: Pointer; function UpdateICMRegKeyA; begin GetProcedureAddress(_UpdateICMRegKeyA, gdi32, 'UpdateICMRegKeyA'); asm MOV ESP, EBP POP EBP JMP [_UpdateICMRegKeyA] end; end; var _UpdateICMRegKeyW: Pointer; function UpdateICMRegKeyW; begin GetProcedureAddress(_UpdateICMRegKeyW, gdi32, 'UpdateICMRegKeyW'); asm MOV ESP, EBP POP EBP JMP [_UpdateICMRegKeyW] end; end; var _UpdateICMRegKey: Pointer; function UpdateICMRegKey; begin GetProcedureAddress(_UpdateICMRegKey, gdi32, 'UpdateICMRegKey' + AWSuffix); asm MOV ESP, EBP POP EBP JMP [_UpdateICMRegKey] end; end; var _ColorCorrectPalette: Pointer; function ColorCorrectPalette; begin GetProcedureAddress(_ColorCorrectPalette, gdi32, 'ColorCorrectPalette'); asm MOV ESP, EBP POP EBP JMP [_ColorCorrectPalette] end; end; var _wglCopyContext: Pointer; function wglCopyContext; begin GetProcedureAddress(_wglCopyContext, opengl32, 'wglCopyContext'); asm MOV ESP, EBP POP EBP JMP [_wglCopyContext] end; end; var _wglCreateContext: Pointer; function wglCreateContext; begin GetProcedureAddress(_wglCreateContext, opengl32, 'wglCreateContext'); asm MOV ESP, EBP POP EBP JMP [_wglCreateContext] end; end; var _wglCreateLayerContext: Pointer; function wglCreateLayerContext; begin GetProcedureAddress(_wglCreateLayerContext, opengl32, 'wglCreateLayerContext'); asm MOV ESP, EBP POP EBP JMP [_wglCreateLayerContext] end; end; var _wglDeleteContext: Pointer; function wglDeleteContext; begin GetProcedureAddress(_wglDeleteContext, opengl32, 'wglDeleteContext'); asm MOV ESP, EBP POP EBP JMP [_wglDeleteContext] end; end; var _wglGetCurrentContext: Pointer; function wglGetCurrentContext; begin GetProcedureAddress(_wglGetCurrentContext, opengl32, 'wglGetCurrentContext'); asm MOV ESP, EBP POP EBP JMP [_wglGetCurrentContext] end; end; var _wglGetCurrentDC: Pointer; function wglGetCurrentDC; begin GetProcedureAddress(_wglGetCurrentDC, opengl32, 'wglGetCurrentDC'); asm MOV ESP, EBP POP EBP JMP [_wglGetCurrentDC] end; end; var _wglGetProcAddress: Pointer; function wglGetProcAddress; begin GetProcedureAddress(_wglGetProcAddress, opengl32, 'wglGetProcAddress'); asm MOV ESP, EBP POP EBP JMP [_wglGetProcAddress] end; end; var _wglMakeCurrent: Pointer; function wglMakeCurrent; begin GetProcedureAddress(_wglMakeCurrent, opengl32, 'wglMakeCurrent'); asm MOV ESP, EBP POP EBP JMP [_wglMakeCurrent] end; end; var _wglShareLists: Pointer; function wglShareLists; begin GetProcedureAddress(_wglShareLists, opengl32, 'wglShareLists'); asm MOV ESP, EBP POP EBP JMP [_wglShareLists] end; end; var _wglUseFontBitmapsA: Pointer; function wglUseFontBitmapsA; begin GetProcedureAddress(_wglUseFontBitmapsA, opengl32, 'wglUseFontBitmapsA'); asm MOV ESP, EBP POP EBP JMP [_wglUseFontBitmapsA] end; end; var _wglUseFontBitmapsW: Pointer; function wglUseFontBitmapsW; begin GetProcedureAddress(_wglUseFontBitmapsW, opengl32, 'wglUseFontBitmapsW'); asm MOV ESP, EBP POP EBP JMP [_wglUseFontBitmapsW] end; end; var _wglUseFontBitmaps: Pointer; function wglUseFontBitmaps; begin GetProcedureAddress(_wglUseFontBitmaps, opengl32, 'wglUseFontBitmaps' + AWSuffix); asm MOV ESP, EBP POP EBP JMP [_wglUseFontBitmaps] end; end; var _SwapBuffers: Pointer; function SwapBuffers; begin GetProcedureAddress(_SwapBuffers, opengl32, 'SwapBuffers'); asm MOV ESP, EBP POP EBP JMP [_SwapBuffers] end; end; var _wglUseFontOutlinesA: Pointer; function wglUseFontOutlinesA; begin GetProcedureAddress(_wglUseFontOutlinesA, opengl32, 'wglUseFontOutlinesA'); asm MOV ESP, EBP POP EBP JMP [_wglUseFontOutlinesA] end; end; var _wglUseFontOutlinesW: Pointer; function wglUseFontOutlinesW; begin GetProcedureAddress(_wglUseFontOutlinesW, opengl32, 'wglUseFontOutlinesW'); asm MOV ESP, EBP POP EBP JMP [_wglUseFontOutlinesW] end; end; var _wglUseFontOutlines: Pointer; function wglUseFontOutlines; begin GetProcedureAddress(_wglUseFontOutlines, opengl32, 'wglUseFontOutlines' + AWSuffix); asm MOV ESP, EBP POP EBP JMP [_wglUseFontOutlines] end; end; var _wglDescribeLayerPlane: Pointer; function wglDescribeLayerPlane; begin GetProcedureAddress(_wglDescribeLayerPlane, opengl32, 'wglDescribeLayerPlane'); asm MOV ESP, EBP POP EBP JMP [_wglDescribeLayerPlane] end; end; var _wglSetLayerPaletteEntries: Pointer; function wglSetLayerPaletteEntries; begin GetProcedureAddress(_wglSetLayerPaletteEntries, opengl32, 'wglSetLayerPaletteEntries'); asm MOV ESP, EBP POP EBP JMP [_wglSetLayerPaletteEntries] end; end; var _wglGetLayerPaletteEntries: Pointer; function wglGetLayerPaletteEntries; begin GetProcedureAddress(_wglGetLayerPaletteEntries, opengl32, 'wglGetLayerPaletteEntries'); asm MOV ESP, EBP POP EBP JMP [_wglGetLayerPaletteEntries] end; end; var _wglRealizeLayerPalette: Pointer; function wglRealizeLayerPalette; begin GetProcedureAddress(_wglRealizeLayerPalette, opengl32, 'wglRealizeLayerPalette'); asm MOV ESP, EBP POP EBP JMP [_wglRealizeLayerPalette] end; end; var _wglSwapLayerBuffers: Pointer; function wglSwapLayerBuffers; begin GetProcedureAddress(_wglSwapLayerBuffers, opengl32, 'wglSwapLayerBuffers'); asm MOV ESP, EBP POP EBP JMP [_wglSwapLayerBuffers] end; end; var _wglSwapMultipleBuffers: Pointer; function wglSwapMultipleBuffers; begin GetProcedureAddress(_wglSwapMultipleBuffers, opengl32, 'wglSwapMultipleBuffers'); asm MOV ESP, EBP POP EBP JMP [_wglSwapMultipleBuffers] end; end; {$ELSE} function AddFontResourceA; external gdi32 name 'AddFontResourceA'; function AddFontResourceW; external gdi32 name 'AddFontResourceW'; function AddFontResource; external gdi32 name 'AddFontResource' + AWSuffix; function AnimatePalette; external gdi32 name 'AnimatePalette'; function Arc; external gdi32 name 'Arc'; function BitBlt; external gdi32 name 'BitBlt'; function CancelDC; external gdi32 name 'CancelDC'; function Chord; external gdi32 name 'Chord'; function ChoosePixelFormat; external gdi32 name 'ChoosePixelFormat'; function CloseMetaFile; external gdi32 name 'CloseMetaFile'; function CombineRgn; external gdi32 name 'CombineRgn'; function CopyMetaFileA; external gdi32 name 'CopyMetaFileA'; function CopyMetaFileW; external gdi32 name 'CopyMetaFileW'; function CopyMetaFile; external gdi32 name 'CopyMetaFile' + AWSuffix; function CreateBitmap; external gdi32 name 'CreateBitmap'; function CreateBitmapIndirect; external gdi32 name 'CreateBitmapIndirect'; function CreateBrushIndirect; external gdi32 name 'CreateBrushIndirect'; function CreateCompatibleBitmap; external gdi32 name 'CreateCompatibleBitmap'; function CreateDiscardableBitmap; external gdi32 name 'CreateDiscardableBitmap'; function CreateCompatibleDC; external gdi32 name 'CreateCompatibleDC'; function CreateDCA; external gdi32 name 'CreateDCA'; function CreateDCW; external gdi32 name 'CreateDCW'; function CreateDC; external gdi32 name 'CreateDC' + AWSuffix; function CreateDIBitmap; external gdi32 name 'CreateDIBitmap'; function CreateDIBPatternBrush; external gdi32 name 'CreateDIBPatternBrush'; function CreateDIBPatternBrushPt; external gdi32 name 'CreateDIBPatternBrushPt'; function CreateEllipticRgn; external gdi32 name 'CreateEllipticRgn'; function CreateEllipticRgnIndirect; external gdi32 name 'CreateEllipticRgnIndirect'; function CreateFontIndirectA; external gdi32 name 'CreateFontIndirectA'; function CreateFontIndirectW; external gdi32 name 'CreateFontIndirectW'; function CreateFontIndirect; external gdi32 name 'CreateFontIndirect' + AWSuffix; function CreateFontA; external gdi32 name 'CreateFontA'; function CreateFontW; external gdi32 name 'CreateFontW'; function CreateFont; external gdi32 name 'CreateFont' + AWSuffix; function CreateHatchBrush; external gdi32 name 'CreateHatchBrush'; function CreateICA; external gdi32 name 'CreateICA'; function CreateICW; external gdi32 name 'CreateICW'; function CreateIC; external gdi32 name 'CreateIC' + AWSuffix; function CreateMetaFileA; external gdi32 name 'CreateMetaFileA'; function CreateMetaFileW; external gdi32 name 'CreateMetaFileW'; function CreateMetaFile; external gdi32 name 'CreateMetaFile' + AWSuffix; function CreatePalette; external gdi32 name 'CreatePalette'; function CreatePen; external gdi32 name 'CreatePen'; function CreatePenIndirect; external gdi32 name 'CreatePenIndirect'; function CreatePolyPolygonRgn; external gdi32 name 'CreatePolyPolygonRgn'; function CreatePatternBrush; external gdi32 name 'CreatePatternBrush'; function CreateRectRgn; external gdi32 name 'CreateRectRgn'; function CreateRectRgnIndirect; external gdi32 name 'CreateRectRgnIndirect'; function CreateRoundRectRgn; external gdi32 name 'CreateRoundRectRgn'; function CreateScalableFontResourceA; external gdi32 name 'CreateScalableFontResourceA'; function CreateScalableFontResourceW; external gdi32 name 'CreateScalableFontResourceW'; function CreateScalableFontResource; external gdi32 name 'CreateScalableFontResource' + AWSuffix; function CreateSolidBrush; external gdi32 name 'CreateSolidBrush'; function DeleteDC; external gdi32 name 'DeleteDC'; function DeleteMetaFile; external gdi32 name 'DeleteMetaFile'; function DeleteObject; external gdi32 name 'DeleteObject'; function DescribePixelFormat; external gdi32 name 'DescribePixelFormat'; function DeviceCapabilitiesA; external winspool32 name 'DeviceCapabilitiesA'; function DeviceCapabilitiesW; external winspool32 name 'DeviceCapabilitiesW'; function DeviceCapabilities; external winspool32 name 'DeviceCapabilities' + AWSuffix; function DrawEscape; external gdi32 name 'DrawEscape'; function Ellipse; external gdi32 name 'Ellipse'; function EnumFontFamiliesExA; external gdi32 name 'EnumFontFamiliesExA'; function EnumFontFamiliesExW; external gdi32 name 'EnumFontFamiliesExW'; function EnumFontFamiliesEx; external gdi32 name 'EnumFontFamiliesEx' + AWSuffix; function EnumFontFamiliesA; external gdi32 name 'EnumFontFamiliesA'; function EnumFontFamiliesW; external gdi32 name 'EnumFontFamiliesW'; function EnumFontFamilies; external gdi32 name 'EnumFontFamilies' + AWSuffix; function EnumFontsA; external gdi32 name 'EnumFontsA'; function EnumFontsW; external gdi32 name 'EnumFontsW'; function EnumFonts; external gdi32 name 'EnumFonts' + AWSuffix; function EnumObjects; external gdi32 name 'EnumObjects'; function EqualRgn; external gdi32 name 'EqualRgn'; function Escape; external gdi32 name 'Escape'; function ExtEscape; external gdi32 name 'ExtEscape'; function ExcludeClipRect; external gdi32 name 'ExcludeClipRect'; function ExtCreateRegion; external gdi32 name 'ExtCreateRegion'; function ExtFloodFill; external gdi32 name 'ExtFloodFill'; function FillRgn; external gdi32 name 'FillRgn'; function FloodFill; external gdi32 name 'FloodFill'; function FrameRgn; external gdi32 name 'FrameRgn'; function GetROP2; external gdi32 name 'GetROP2'; function GetAspectRatioFilterEx; external gdi32 name 'GetAspectRatioFilterEx'; function GetBkColor; external gdi32 name 'GetBkColor'; function GetDCBrushColor; external gdi32 name 'GetDCBrushColor'; function GetDCPenColor; external gdi32 name 'GetDCPenColor'; function GetBkMode; external gdi32 name 'GetBkMode'; function GetBitmapBits; external gdi32 name 'GetBitmapBits'; function GetBitmapDimensionEx; external gdi32 name 'GetBitmapDimensionEx'; function GetBoundsRect; external gdi32 name 'GetBoundsRect'; function GetBrushOrgEx; external gdi32 name 'GetBrushOrgEx'; function GetCharWidthA; external gdi32 name 'GetCharWidthA'; function GetCharWidthW; external gdi32 name 'GetCharWidthW'; function GetCharWidth; external gdi32 name 'GetCharWidth' + AWSuffix; function GetCharWidth32A; external gdi32 name 'GetCharWidth32A'; function GetCharWidth32W; external gdi32 name 'GetCharWidth32W'; function GetCharWidth32; external gdi32 name 'GetCharWidth32' + AWSuffix; function GetCharWidthFloatA; external gdi32 name 'GetCharWidthFloatA'; function GetCharWidthFloatW; external gdi32 name 'GetCharWidthFloatW'; function GetCharWidthFloat; external gdi32 name 'GetCharWidthFloat' + AWSuffix; function GetCharABCWidthsA; external gdi32 name 'GetCharABCWidthsA'; function GetCharABCWidthsW; external gdi32 name 'GetCharABCWidthsW'; function GetCharABCWidths; external gdi32 name 'GetCharABCWidths' + AWSuffix; function GetCharABCWidthsFloatA; external gdi32 name 'GetCharABCWidthsFloatA'; function GetCharABCWidthsFloatW; external gdi32 name 'GetCharABCWidthsFloatW'; function GetCharABCWidthsFloat; external gdi32 name 'GetCharABCWidthsFloat' + AWSuffix; function GetClipBox; external gdi32 name 'GetClipBox'; function GetClipRgn; external gdi32 name 'GetClipRgn'; function GetMetaRgn; external gdi32 name 'GetMetaRgn'; function GetCurrentObject; external gdi32 name 'GetCurrentObject'; function GetCurrentPositionEx; external gdi32 name 'GetCurrentPositionEx'; function GetDeviceCaps; external gdi32 name 'GetDeviceCaps'; function GetDIBits; external gdi32 name 'GetDIBits'; function GetFontData; external gdi32 name 'GetFontData'; function GetGlyphOutlineA; external gdi32 name 'GetGlyphOutlineA'; function GetGlyphOutlineW; external gdi32 name 'GetGlyphOutlineW'; function GetGlyphOutline; external gdi32 name 'GetGlyphOutline' + AWSuffix; function GetGraphicsMode; external gdi32 name 'GetGraphicsMode'; function GetMapMode; external gdi32 name 'GetMapMode'; function GetMetaFileBitsEx; external gdi32 name 'GetMetaFileBitsEx'; function GetMetaFileA; external gdi32 name 'GetMetaFileA'; function GetMetaFileW; external gdi32 name 'GetMetaFileW'; function GetMetaFile; external gdi32 name 'GetMetaFile' + AWSuffix; function GetNearestColor; external gdi32 name 'GetNearestColor'; function GetNearestPaletteIndex; external gdi32 name 'GetNearestPaletteIndex'; function GetObjectType; external gdi32 name 'GetObjectType'; function GetOutlineTextMetricsA; external gdi32 name 'GetOutlineTextMetricsA'; function GetOutlineTextMetricsW; external gdi32 name 'GetOutlineTextMetricsW'; function GetOutlineTextMetrics; external gdi32 name 'GetOutlineTextMetrics' + AWSuffix; function GetPaletteEntries; external gdi32 name 'GetPaletteEntries'; function GetPixel; external gdi32 name 'GetPixel'; function GetPixelFormat; external gdi32 name 'GetPixelFormat'; function GetPolyFillMode; external gdi32 name 'GetPolyFillMode'; function GetRasterizerCaps; external gdi32 name 'GetRasterizerCaps'; function GetRandomRgn; external gdi32 name 'GetRandomRgn'; function GetRegionData; external gdi32 name 'GetRegionData'; function GetRgnBox; external gdi32 name 'GetRgnBox'; function GetStockObject; external gdi32 name 'GetStockObject'; function GetStretchBltMode; external gdi32 name 'GetStretchBltMode'; function GetSystemPaletteEntries; external gdi32 name 'GetSystemPaletteEntries'; function GetSystemPaletteUse; external gdi32 name 'GetSystemPaletteUse'; function GetTextCharacterExtra; external gdi32 name 'GetTextCharacterExtra'; function GetTextAlign; external gdi32 name 'GetTextAlign'; function GetTextColor; external gdi32 name 'GetTextColor'; function GetTextExtentPointA; external gdi32 name 'GetTextExtentPointA'; function GetTextExtentPointW; external gdi32 name 'GetTextExtentPointW'; function GetTextExtentPoint; external gdi32 name 'GetTextExtentPoint' + AWSuffix; function GetTextExtentPoint32A; external gdi32 name 'GetTextExtentPoint32A'; function GetTextExtentPoint32W; external gdi32 name 'GetTextExtentPoint32W'; function GetTextExtentPoint32; external gdi32 name 'GetTextExtentPoint32' + AWSuffix; function GetTextExtentExPointA; external gdi32 name 'GetTextExtentExPointA'; function GetTextExtentExPointW; external gdi32 name 'GetTextExtentExPointW'; function GetTextExtentExPoint; external gdi32 name 'GetTextExtentExPoint' + AWSuffix; function GetTextCharset; external gdi32 name 'GetTextCharset'; function GetTextCharsetInfo; external gdi32 name 'GetTextCharsetInfo'; function TranslateCharsetInfo; external gdi32 name 'TranslateCharsetInfo'; function GetFontLanguageInfo; external gdi32 name 'GetFontLanguageInfo'; function GetCharacterPlacementA; external gdi32 name 'GetCharacterPlacementA'; function GetCharacterPlacementW; external gdi32 name 'GetCharacterPlacementW'; function GetCharacterPlacement; external gdi32 name 'GetCharacterPlacement' + AWSuffix; function GetFontUnicodeRanges; external gdi32 name 'GetFontUnicodeRanges'; function GetGlyphIndicesA; external gdi32 name 'GetGlyphIndicesA'; function GetGlyphIndicesW; external gdi32 name 'GetGlyphIndicesW'; function GetGlyphIndices; external gdi32 name 'GetGlyphIndices' + AWSuffix; function GetTextExtentPointI; external gdi32 name 'GetTextExtentPointI'; function GetTextExtentExPointI; external gdi32 name 'GetTextExtentExPointI'; function GetCharWidthI; external gdi32 name 'GetCharWidthI'; function GetCharABCWidthsI; external gdi32 name 'GetCharABCWidthsI'; function AddFontResourceExA; external gdi32 name 'AddFontResourceExA'; function AddFontResourceExW; external gdi32 name 'AddFontResourceExW'; function AddFontResourceEx; external gdi32 name 'AddFontResourceEx' + AWSuffix; function RemoveFontResourceExA; external gdi32 name 'RemoveFontResourceExA'; function RemoveFontResourceExW; external gdi32 name 'RemoveFontResourceExW'; function RemoveFontResourceEx; external gdi32 name 'RemoveFontResourceEx' + AWSuffix; function AddFontMemResourceEx; external gdi32 name 'AddFontMemResourceEx'; function RemoveFontMemResourceEx; external gdi32 name 'RemoveFontMemResourceEx'; function CreateFontIndirectExA; external gdi32 name 'CreateFontIndirectExA'; function CreateFontIndirectExW; external gdi32 name 'CreateFontIndirectExW'; function CreateFontIndirectEx; external gdi32 name 'CreateFontIndirectEx' + AWSuffix; function GetViewportExtEx; external gdi32 name 'GetViewportExtEx'; function GetViewportOrgEx; external gdi32 name 'GetViewportOrgEx'; function GetWindowExtEx; external gdi32 name 'GetWindowExtEx'; function GetWindowOrgEx; external gdi32 name 'GetWindowOrgEx'; function IntersectClipRect; external gdi32 name 'IntersectClipRect'; function InvertRgn; external gdi32 name 'InvertRgn'; function LineDDA; external gdi32 name 'LineDDA'; function LineTo; external gdi32 name 'LineTo'; function MaskBlt; external gdi32 name 'MaskBlt'; function PlgBlt; external gdi32 name 'PlgBlt'; function OffsetClipRgn; external gdi32 name 'OffsetClipRgn'; function OffsetRgn; external gdi32 name 'OffsetRgn'; function PatBlt; external gdi32 name 'PatBlt'; function Pie; external gdi32 name 'Pie'; function PlayMetaFile; external gdi32 name 'PlayMetaFile'; function PaintRgn; external gdi32 name 'PaintRgn'; function PolyPolygon; external gdi32 name 'PolyPolygon'; function PtInRegion; external gdi32 name 'PtInRegion'; function PtVisible; external gdi32 name 'PtVisible'; function RectInRegion; external gdi32 name 'RectInRegion'; function RectVisible; external gdi32 name 'RectVisible'; function Rectangle; external gdi32 name 'Rectangle'; function RestoreDC; external gdi32 name 'RestoreDC'; function ResetDCA; external gdi32 name 'ResetDCA'; function ResetDCW; external gdi32 name 'ResetDCW'; function ResetDC; external gdi32 name 'ResetDC' + AWSuffix; function RealizePalette; external gdi32 name 'RealizePalette'; function RemoveFontResourceA; external gdi32 name 'RemoveFontResourceA'; function RemoveFontResourceW; external gdi32 name 'RemoveFontResourceW'; function RemoveFontResource; external gdi32 name 'RemoveFontResource' + AWSuffix; function RoundRect; external gdi32 name 'RoundRect'; function ResizePalette; external gdi32 name 'ResizePalette'; function SaveDC; external gdi32 name 'SaveDC'; function SelectClipRgn; external gdi32 name 'SelectClipRgn'; function ExtSelectClipRgn; external gdi32 name 'ExtSelectClipRgn'; function SetMetaRgn; external gdi32 name 'SetMetaRgn'; function SelectObject; external gdi32 name 'SelectObject'; function SelectPalette; external gdi32 name 'SelectPalette'; function SetBkColor; external gdi32 name 'SetBkColor'; function SetDCBrushColor; external gdi32 name 'SetDCBrushColor'; function SetDCPenColor; external gdi32 name 'SetDCPenColor'; function SetBkMode; external gdi32 name 'SetBkMode'; function SetBitmapBits; external gdi32 name 'SetBitmapBits'; function SetBoundsRect; external gdi32 name 'SetBoundsRect'; function SetDIBits; external gdi32 name 'SetDIBits'; function SetDIBitsToDevice; external gdi32 name 'SetDIBitsToDevice'; function SetMapperFlags; external gdi32 name 'SetMapperFlags'; function SetGraphicsMode; external gdi32 name 'SetGraphicsMode'; function SetMapMode; external gdi32 name 'SetMapMode'; function SetLayout; external gdi32 name 'SetLayout'; function GetLayout; external gdi32 name 'GetLayout'; function SetMetaFileBitsEx; external gdi32 name 'SetMetaFileBitsEx'; function SetPaletteEntries; external gdi32 name 'SetPaletteEntries'; function SetPixel; external gdi32 name 'SetPixel'; function SetPixelV; external gdi32 name 'SetPixelV'; function SetPixelFormat; external gdi32 name 'SetPixelFormat'; function SetPolyFillMode; external gdi32 name 'SetPolyFillMode'; function StretchBlt; external gdi32 name 'StretchBlt'; function SetRectRgn; external gdi32 name 'SetRectRgn'; function StretchDIBits; external gdi32 name 'StretchDIBits'; function SetROP2; external gdi32 name 'SetROP2'; function SetStretchBltMode; external gdi32 name 'SetStretchBltMode'; function SetSystemPaletteUse; external gdi32 name 'SetSystemPaletteUse'; function SetTextCharacterExtra; external gdi32 name 'SetTextCharacterExtra'; function SetTextColor; external gdi32 name 'SetTextColor'; function SetTextAlign; external gdi32 name 'SetTextAlign'; function SetTextJustification; external gdi32 name 'SetTextJustification'; function UpdateColors; external gdi32 name 'UpdateColors'; function AlphaBlend; external msimg32 name 'AlphaBlend'; function TransparentBlt; external msimg32 name 'TransparentBlt'; function GradientFill; external msimg32 name 'GradientFill'; function PlayMetaFileRecord; external gdi32 name 'PlayMetaFileRecord'; function EnumMetaFile; external gdi32 name 'EnumMetaFile'; function CloseEnhMetaFile; external gdi32 name 'CloseEnhMetaFile'; function CopyEnhMetaFileA; external gdi32 name 'CopyEnhMetaFileA'; function CopyEnhMetaFileW; external gdi32 name 'CopyEnhMetaFileW'; function CopyEnhMetaFile; external gdi32 name 'CopyEnhMetaFile' + AWSuffix; function CreateEnhMetaFileA; external gdi32 name 'CreateEnhMetaFileA'; function CreateEnhMetaFileW; external gdi32 name 'CreateEnhMetaFileW'; function CreateEnhMetaFile; external gdi32 name 'CreateEnhMetaFile' + AWSuffix; function DeleteEnhMetaFile; external gdi32 name 'DeleteEnhMetaFile'; function EnumEnhMetaFile; external gdi32 name 'EnumEnhMetaFile'; function GetEnhMetaFileA; external gdi32 name 'GetEnhMetaFileA'; function GetEnhMetaFileW; external gdi32 name 'GetEnhMetaFileW'; function GetEnhMetaFile; external gdi32 name 'GetEnhMetaFile' + AWSuffix; function GetEnhMetaFileBits; external gdi32 name 'GetEnhMetaFileBits'; function GetEnhMetaFileDescriptionA; external gdi32 name 'GetEnhMetaFileDescriptionA'; function GetEnhMetaFileDescriptionW; external gdi32 name 'GetEnhMetaFileDescriptionW'; function GetEnhMetaFileDescription; external gdi32 name 'GetEnhMetaFileDescription' + AWSuffix; function GetEnhMetaFileHeader; external gdi32 name 'GetEnhMetaFileHeader'; function GetEnhMetaFilePaletteEntries; external gdi32 name 'GetEnhMetaFilePaletteEntries'; function GetEnhMetaFilePixelFormat; external gdi32 name 'GetEnhMetaFilePixelFormat'; function GetWinMetaFileBits; external gdi32 name 'GetWinMetaFileBits'; function PlayEnhMetaFile; external gdi32 name 'PlayEnhMetaFile'; function PlayEnhMetaFileRecord; external gdi32 name 'PlayEnhMetaFileRecord'; function SetEnhMetaFileBits; external gdi32 name 'SetEnhMetaFileBits'; function SetWinMetaFileBits; external gdi32 name 'SetWinMetaFileBits'; function GdiComment; external gdi32 name 'GdiComment'; function GetTextMetricsA; external gdi32 name 'GetTextMetricsA'; function GetTextMetricsW; external gdi32 name 'GetTextMetricsW'; function GetTextMetrics; external gdi32 name 'GetTextMetrics' + AWSuffix; function AngleArc; external gdi32 name 'AngleArc'; function PolyPolyline; external gdi32 name 'PolyPolyline'; function GetWorldTransform; external gdi32 name 'GetWorldTransform'; function SetWorldTransform; external gdi32 name 'SetWorldTransform'; function ModifyWorldTransform; external gdi32 name 'ModifyWorldTransform'; function CombineTransform; external gdi32 name 'CombineTransform'; function CreateDIBSection; external gdi32 name 'CreateDIBSection'; function GetDIBColorTable; external gdi32 name 'GetDIBColorTable'; function SetDIBColorTable; external gdi32 name 'SetDIBColorTable'; function SetColorAdjustment; external gdi32 name 'SetColorAdjustment'; function GetColorAdjustment; external gdi32 name 'GetColorAdjustment'; function CreateHalftonePalette; external gdi32 name 'CreateHalftonePalette'; function StartDocA; external gdi32 name 'StartDocA'; function StartDocW; external gdi32 name 'StartDocW'; function StartDoc; external gdi32 name 'StartDoc' + AWSuffix; function EndDoc; external gdi32 name 'EndDoc'; function StartPage; external gdi32 name 'StartPage'; function EndPage; external gdi32 name 'EndPage'; function AbortDoc; external gdi32 name 'AbortDoc'; function SetAbortProc; external gdi32 name 'SetAbortProc'; function AbortPath; external gdi32 name 'AbortPath'; function ArcTo; external gdi32 name 'ArcTo'; function BeginPath; external gdi32 name 'BeginPath'; function CloseFigure; external gdi32 name 'CloseFigure'; function EndPath; external gdi32 name 'EndPath'; function FillPath; external gdi32 name 'FillPath'; function FlattenPath; external gdi32 name 'FlattenPath'; function GetPath; external gdi32 name 'GetPath'; function PathToRegion; external gdi32 name 'PathToRegion'; function PolyDraw; external gdi32 name 'PolyDraw'; function SelectClipPath; external gdi32 name 'SelectClipPath'; function SetArcDirection; external gdi32 name 'SetArcDirection'; function SetMiterLimit; external gdi32 name 'SetMiterLimit'; function StrokeAndFillPath; external gdi32 name 'StrokeAndFillPath'; function StrokePath; external gdi32 name 'StrokePath'; function WidenPath; external gdi32 name 'WidenPath'; function ExtCreatePen; external gdi32 name 'ExtCreatePen'; function GetMiterLimit; external gdi32 name 'GetMiterLimit'; function GetArcDirection; external gdi32 name 'GetArcDirection'; function GetObjectA; external gdi32 name 'GetObjectA'; function GetObjectW; external gdi32 name 'GetObjectW'; function GetObject; external gdi32 name 'GetObject' + AWSuffix; function MoveToEx; external gdi32 name 'MoveToEx'; function TextOutA; external gdi32 name 'TextOutA'; function TextOutW; external gdi32 name 'TextOutW'; function TextOut; external gdi32 name 'TextOut' + AWSuffix; function ExtTextOutA; external gdi32 name 'ExtTextOutA'; function ExtTextOutW; external gdi32 name 'ExtTextOutW'; function ExtTextOut; external gdi32 name 'ExtTextOut' + AWSuffix; function PolyTextOutA; external gdi32 name 'PolyTextOutA'; function PolyTextOutW; external gdi32 name 'PolyTextOutW'; function PolyTextOut; external gdi32 name 'PolyTextOut' + AWSuffix; function CreatePolygonRgn; external gdi32 name 'CreatePolygonRgn'; function DPtoLP; external gdi32 name 'DPtoLP'; function LPtoDP; external gdi32 name 'LPtoDP'; function Polygon; external gdi32 name 'Polygon'; function Polyline; external gdi32 name 'Polyline'; function PolyBezier; external gdi32 name 'PolyBezier'; function PolyBezierTo; external gdi32 name 'PolyBezierTo'; function PolylineTo; external gdi32 name 'PolylineTo'; function SetViewportExtEx; external gdi32 name 'SetViewportExtEx'; function SetViewportOrgEx; external gdi32 name 'SetViewportOrgEx'; function SetWindowExtEx; external gdi32 name 'SetWindowExtEx'; function SetWindowOrgEx; external gdi32 name 'SetWindowOrgEx'; function OffsetViewportOrgEx; external gdi32 name 'OffsetViewportOrgEx'; function OffsetWindowOrgEx; external gdi32 name 'OffsetWindowOrgEx'; function ScaleViewportExtEx; external gdi32 name 'ScaleViewportExtEx'; function ScaleWindowExtEx; external gdi32 name 'ScaleWindowExtEx'; function SetBitmapDimensionEx; external gdi32 name 'SetBitmapDimensionEx'; function SetBrushOrgEx; external gdi32 name 'SetBrushOrgEx'; function GetTextFaceA; external gdi32 name 'GetTextFaceA'; function GetTextFaceW; external gdi32 name 'GetTextFaceW'; function GetTextFace; external gdi32 name 'GetTextFace' + AWSuffix; function GetKerningPairsA; external gdi32 name 'GetKerningPairsA'; function GetKerningPairsW; external gdi32 name 'GetKerningPairsW'; function GetKerningPairs; external gdi32 name 'GetKerningPairs' + AWSuffix; function GetDCOrgEx; external gdi32 name 'GetDCOrgEx'; function FixBrushOrgEx; external gdi32 name 'FixBrushOrgEx'; function UnrealizeObject; external gdi32 name 'UnrealizeObject'; function GdiFlush; external gdi32 name 'GdiFlush'; function GdiSetBatchLimit; external gdi32 name 'GdiSetBatchLimit'; function GdiGetBatchLimit; external gdi32 name 'GdiGetBatchLimit'; function SetICMMode; external gdi32 name 'SetICMMode'; function CheckColorsInGamut; external gdi32 name 'CheckColorsInGamut'; function GetColorSpace; external gdi32 name 'GetColorSpace'; function GetLogColorSpaceA; external gdi32 name 'GetLogColorSpaceA'; function GetLogColorSpaceW; external gdi32 name 'GetLogColorSpaceW'; function GetLogColorSpace; external gdi32 name 'GetLogColorSpace' + AWSuffix; function CreateColorSpaceA; external gdi32 name 'CreateColorSpaceA'; function CreateColorSpaceW; external gdi32 name 'CreateColorSpaceW'; function CreateColorSpace; external gdi32 name 'CreateColorSpace' + AWSuffix; function SetColorSpace; external gdi32 name 'SetColorSpace'; function DeleteColorSpace; external gdi32 name 'DeleteColorSpace'; function GetICMProfileA; external gdi32 name 'GetICMProfileA'; function GetICMProfileW; external gdi32 name 'GetICMProfileW'; function GetICMProfile; external gdi32 name 'GetICMProfile' + AWSuffix; function SetICMProfileA; external gdi32 name 'SetICMProfileA'; function SetICMProfileW; external gdi32 name 'SetICMProfileW'; function SetICMProfile; external gdi32 name 'SetICMProfile' + AWSuffix; function GetDeviceGammaRamp; external gdi32 name 'GetDeviceGammaRamp'; function SetDeviceGammaRamp; external gdi32 name 'SetDeviceGammaRamp'; function ColorMatchToTarget; external gdi32 name 'ColorMatchToTarget'; function EnumICMProfilesA; external gdi32 name 'EnumICMProfilesA'; function EnumICMProfilesW; external gdi32 name 'EnumICMProfilesW'; function EnumICMProfiles; external gdi32 name 'EnumICMProfiles' + AWSuffix; function UpdateICMRegKeyA; external gdi32 name 'UpdateICMRegKeyA'; function UpdateICMRegKeyW; external gdi32 name 'UpdateICMRegKeyW'; function UpdateICMRegKey; external gdi32 name 'UpdateICMRegKey' + AWSuffix; function ColorCorrectPalette; external gdi32 name 'ColorCorrectPalette'; function wglCopyContext; external opengl32 name 'wglCopyContext'; function wglCreateContext; external opengl32 name 'wglCreateContext'; function wglCreateLayerContext; external opengl32 name 'wglCreateLayerContext'; function wglDeleteContext; external opengl32 name 'wglDeleteContext'; function wglGetCurrentContext; external opengl32 name 'wglGetCurrentContext'; function wglGetCurrentDC; external opengl32 name 'wglGetCurrentDC'; function wglGetProcAddress; external opengl32 name 'wglGetProcAddress'; function wglMakeCurrent; external opengl32 name 'wglMakeCurrent'; function wglShareLists; external opengl32 name 'wglShareLists'; function wglUseFontBitmapsA; external opengl32 name 'wglUseFontBitmapsA'; function wglUseFontBitmapsW; external opengl32 name 'wglUseFontBitmapsW'; function wglUseFontBitmaps; external opengl32 name 'wglUseFontBitmaps' + AWSuffix; function SwapBuffers; external opengl32 name 'SwapBuffers'; function wglUseFontOutlinesA; external opengl32 name 'wglUseFontOutlinesA'; function wglUseFontOutlinesW; external opengl32 name 'wglUseFontOutlinesW'; function wglUseFontOutlines; external opengl32 name 'wglUseFontOutlines' + AWSuffix; function wglDescribeLayerPlane; external opengl32 name 'wglDescribeLayerPlane'; function wglSetLayerPaletteEntries; external opengl32 name 'wglSetLayerPaletteEntries'; function wglGetLayerPaletteEntries; external opengl32 name 'wglGetLayerPaletteEntries'; function wglRealizeLayerPalette; external opengl32 name 'wglRealizeLayerPalette'; function wglSwapLayerBuffers; external opengl32 name 'wglSwapLayerBuffers'; function wglSwapMultipleBuffers; external opengl32 name 'wglSwapMultipleBuffers'; {$ENDIF DYNAMIC_LINK} {$ENDIF JWA_INTERFACESECTION} {$IFNDEF JWA_OMIT_SECTIONS} end. {$ENDIF JWA_OMIT_SECTIONS}