Repository URL to install this package:
Version:
3.0.0 ▾
|
{******************************************************************************}
{ }
{ 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 <pshpack1.h>
PRgbTriple = ^TRgbTriple;
tagRGBTRIPLE = packed record
rgbtBlue: BYTE;
rgbtGreen: BYTE;
rgbtRed: BYTE;
end;
{$EXTERNALSYM tagRGBTRIPLE}
RGBTRIPLE = tagRGBTRIPLE;
{$EXTERNALSYM RGBTRIPLE}
TRgbTriple = RGBTRIPLE;
// #include <poppack.h>
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 <pshpack2.h>
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 <poppack.h>
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 <pshpack2.h>
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 <poppack.h>
// 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 <pshpack4.h>
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 <poppack.h>
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}