JwaWinGDI.pas
资源名称:win32api.zip [点击查看]
上传用户:davidchvip
上传日期:2009-07-28
资源大小:1749k
文件大小:424k
源码类别:
Windows编程
开发平台:
Delphi
- {******************************************************************************}
- { }
- { 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@chello.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 home }
- { page, located at http://delphi-jedi.org or my personal homepage located at }
- { http://members.chello.nl/m.vanbrakel2 }
- { }
- { 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 }
- { }
- {******************************************************************************}
- unit JwaWinGDI;
- {$WEAKPACKAGEUNIT}
- {$HPPEMIT ''}
- {$HPPEMIT '#include "WinGDI.h"'}
- {$HPPEMIT ''}
- {$I WINDEFINES.INC}
- interface
- uses
- JwaWinNT, JwaWinType;
- // 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}
- {$IFDEF WINVER_0400_GREATER}
- TA_MASK = (TA_BASELINE + TA_CENTER + TA_UPDATECP + TA_RTLREADING);
- {$EXTERNALSYM TA_MASK}
- {$ELSE}
- TA_MASK = (TA_BASELINE + TA_CENTER + TA_UPDATECP);
- {$EXTERNALSYM TA_MASK}
- {$ENDIF}
- 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}
- // 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}
- 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
- {$IFDEF WINVER_0400_GREATER}
- 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
- {$ENDIF}
- {$IFDEF WINVER_0500_GREATER}
- szlMicrometers: SIZEL; // Size of the reference device in micrometers
- {$ENDIF}
- 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}
- 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}
- // 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}
- // #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}
- // 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}
- 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}
- 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}
- 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_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}
- 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 WIN32_WINNT_0500_GREATER}
- STOCK_LAST = 19;
- {$EXTERNALSYM STOCK_LAST}
- {$ELSE}
- {$IFDEF WINVER_0400_GREATER}
- STOCK_LAST = 17;
- {$EXTERNALSYM STOCK_LAST}
- {$ELSE}
- STOCK_LAST = 16;
- {$EXTERNALSYM STOCK_LAST}
- {$ENDIF}
- {$ENDIF}
- 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 WINVER_0500_GREATER}
- {$IFDEF WIN32_WINNT_0400_GREATER}
- {$DEFINE WINVER_0500_OR_WIN32_WINNT_0400}
- {$ENDIF}
- {$ENDIF}
- 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: Smallint;
- dmPaperSize: Smallint;
- dmPaperLength: Smallint;
- dmPaperWidth: Smallint;
- dmScale: Smallint;
- dmCopies: Smallint;
- dmDefaultSource: Smallint;
- dmPrintQuality: Smallint);
- // display only fields
- 1: (
- dmPosition: POINTL;
- dmDisplayOrientation: DWORD;
- dmDisplayFixedOutput: DWORD);
- end;
- dmColor: Shortint;
- dmDuplex: Shortint;
- dmYResolution: Shortint;
- dmTTOption: Shortint;
- dmCollate: Shortint;
- dmFormName: array [0..CCHFORMNAME - 1] of BYTE;
- dmLogPixels: WORD;
- dmBitsPerPel: DWORD;
- dmPelsWidth: DWORD;
- dmPelsHeight: DWORD;
- dmDisplayFlags: TDmDisplayFlagsUnion;
- dmDisplayFrequency: DWORD;
- {$IFDEF WINVER_0400_GREATER}
- dmICMMethod: DWORD;
- dmICMIntent: DWORD;
- dmMediaType: DWORD;
- dmDitherType: DWORD;
- dmReserved1: DWORD;
- dmReserved2: DWORD;
- {$IFDEF WINVER_0500_OR_WIN32_WINNT_0400}
- dmPanningWidth: DWORD;
- dmPanningHeight: DWORD;
- {$ENDIF}
- {$ENDIF}
- 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: Smallint;
- dmPaperSize: Smallint;
- dmPaperLength: Smallint;
- dmPaperWidth: Smallint;
- dmScale: Smallint;
- dmCopies: Smallint;
- dmDefaultSource: Smallint;
- dmPrintQuality: Smallint);
- // display only fields
- 1: (
- dmPosition: POINTL;
- dmDisplayOrientation: DWORD;
- dmDisplayFixedOutput: DWORD);
- end;
- dmColor: Shortint;
- dmDuplex: Shortint;
- dmYResolution: Shortint;
- dmTTOption: Shortint;
- dmCollate: Shortint;
- dmFormName: array [0..CCHFORMNAME - 1] of WCHAR;
- dmLogPixels: WORD;
- dmBitsPerPel: DWORD;
- dmPelsWidth: DWORD;
- dmPelsHeight: DWORD;
- dmDiusplayFlags: TDmDisplayFlagsUnion;
- dmDisplayFrequency: DWORD;
- {$IFDEF WINVER_0400_GREATER}
- dmICMMethod: DWORD;
- dmICMIntent: DWORD;
- dmMediaType: DWORD;
- dmDitherType: DWORD;
- dmReserved1: DWORD;
- dmReserved2: DWORD;
- {$IFDEF WINVER_0500_OR_WIN32_WINNT_0400}
- dmPanningWidth: DWORD;
- dmPanningHeight: DWORD;
- {$ENDIF}
- {$ENDIF}
- 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}
- // current version of specification
- const
- {$IFDEF WINVER_0500_OR_WIN32_WINNT_0400}
- DM_SPECVERSION = $0401;
- {$EXTERNALSYM DM_SPECVERSION}
- {$ELSE}
- {$IFDEF WINVER_0400_GREATER}
- DM_SPECVERSION = $0400;
- {$EXTERNALSYM DM_SPECVERSION}
- {$ELSE}
- DM_SPECVERSION = $0320;
- {$EXTERNALSYM DM_SPECVERSION}
- {$ENDIF}
- {$ENDIF}
- {$UNDEF WINVER_0500_OR_WIN32_WINNT_0400}
- // 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 9275 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 WINVER_0500_GREATER}
- DMPAPER_LAST = DMPAPER_PENV_10_ROTATED;
- {$EXTERNALSYM DMPAPER_LAST}
- {$ELSE}
- {$IFDEF WINVER_0400_GREATER}
- DMPAPER_LAST = DMPAPER_A3_EXTRA_TRANSVERSE;
- {$EXTERNALSYM DMPAPER_LAST}
- {$ELSE}
- DMPAPER_LAST = DMPAPER_FANFOLD_LGL_GERMAN;
- {$EXTERNALSYM DMPAPER_LAST}
- {$ENDIF}
- {$ENDIF}
- 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}
- 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}