2 * This file has no copyright assigned and is placed in the Public Domain.
3 * This file is part of the w64 mingw-runtime package.
4 * No warranty is given; refer to the file DISCLAIMER within this package.
9 #define WINGDIAPI DECLSPEC_IMPORT
10 #define WINSPOOLAPI DECLSPEC_IMPORT
23 #define R2_NOTMERGEPEN 2
24 #define R2_MASKNOTPEN 3
25 #define R2_NOTCOPYPEN 4
26 #define R2_MASKPENNOT 5
29 #define R2_NOTMASKPEN 8
31 #define R2_NOTXORPEN 10
33 #define R2_MERGENOTPEN 12
35 #define R2_MERGEPENNOT 14
36 #define R2_MERGEPEN 15
40 #define SRCCOPY (DWORD)0x00CC0020
41 #define SRCPAINT (DWORD)0x00EE0086
42 #define SRCAND (DWORD)0x008800C6
43 #define SRCINVERT (DWORD)0x00660046
44 #define SRCERASE (DWORD)0x00440328
45 #define NOTSRCCOPY (DWORD)0x00330008
46 #define NOTSRCERASE (DWORD)0x001100A6
47 #define MERGECOPY (DWORD)0x00C000CA
48 #define MERGEPAINT (DWORD)0x00BB0226
49 #define PATCOPY (DWORD)0x00F00021
50 #define PATPAINT (DWORD)0x00FB0A09
51 #define PATINVERT (DWORD)0x005A0049
52 #define DSTINVERT (DWORD)0x00550009
53 #define BLACKNESS (DWORD)0x00000042
54 #define WHITENESS (DWORD)0x00FF0062
55 #define NOMIRRORBITMAP (DWORD)0x80000000
56 #define CAPTUREBLT (DWORD)0x40000000
57 #define MAKEROP4(fore,back) (DWORD)((((back) << 8) & 0xFF000000) | (fore))
60 #define GDI_ERROR (0xFFFFFFFFL)
61 #define HGDI_ERROR (LongToHandle(0xFFFFFFFFL))
65 #define SIMPLEREGION 2
66 #define COMPLEXREGION 3
67 #define RGN_ERROR ERROR
74 #define RGN_MIN RGN_AND
75 #define RGN_MAX RGN_COPY
77 #define BLACKONWHITE 1
78 #define WHITEONBLACK 2
79 #define COLORONCOLOR 3
81 #define MAXSTRETCHBLTMODE 4
83 #define STRETCH_ANDSCANS BLACKONWHITE
84 #define STRETCH_ORSCANS WHITEONBLACK
85 #define STRETCH_DELETESCANS COLORONCOLOR
86 #define STRETCH_HALFTONE HALFTONE
90 #define POLYFILL_LAST 2
92 #define LAYOUT_RTL 0x00000001
93 #define LAYOUT_BTT 0x00000002
94 #define LAYOUT_VBH 0x00000004
95 #define LAYOUT_ORIENTATIONMASK (LAYOUT_RTL | LAYOUT_BTT | LAYOUT_VBH)
96 #define LAYOUT_BITMAPORIENTATIONPRESERVED 0x00000008
98 #define TA_NOUPDATECP 0
107 #define TA_BASELINE 24
108 #define TA_RTLREADING 256
109 #define TA_MASK (TA_BASELINE+TA_CENTER+TA_UPDATECP+TA_RTLREADING)
111 #define VTA_BASELINE TA_BASELINE
112 #define VTA_LEFT TA_BOTTOM
113 #define VTA_RIGHT TA_TOP
114 #define VTA_CENTER TA_CENTER
115 #define VTA_BOTTOM TA_RIGHT
116 #define VTA_TOP TA_LEFT
118 #define ETO_OPAQUE 0x0002
119 #define ETO_CLIPPED 0x0004
120 #define ETO_GLYPH_INDEX 0x0010
121 #define ETO_RTLREADING 0x0080
122 #define ETO_NUMERICSLOCAL 0x0400
123 #define ETO_NUMERICSLATIN 0x0800
124 #define ETO_IGNORELANGUAGE 0x1000
125 #define ETO_PDY 0x2000
127 #define ASPECT_FILTERING 0x0001
129 #define DCB_RESET 0x0001
130 #define DCB_ACCUMULATE 0x0002
131 #define DCB_DIRTY DCB_ACCUMULATE
132 #define DCB_SET (DCB_RESET | DCB_ACCUMULATE)
133 #define DCB_ENABLE 0x0004
134 #define DCB_DISABLE 0x0008
138 #define META_SETBKCOLOR 0x0201
139 #define META_SETBKMODE 0x0102
140 #define META_SETMAPMODE 0x0103
141 #define META_SETROP2 0x0104
142 #define META_SETRELABS 0x0105
143 #define META_SETPOLYFILLMODE 0x0106
144 #define META_SETSTRETCHBLTMODE 0x0107
145 #define META_SETTEXTCHAREXTRA 0x0108
146 #define META_SETTEXTCOLOR 0x0209
147 #define META_SETTEXTJUSTIFICATION 0x020A
148 #define META_SETWINDOWORG 0x020B
149 #define META_SETWINDOWEXT 0x020C
150 #define META_SETVIEWPORTORG 0x020D
151 #define META_SETVIEWPORTEXT 0x020E
152 #define META_OFFSETWINDOWORG 0x020F
153 #define META_SCALEWINDOWEXT 0x0410
154 #define META_OFFSETVIEWPORTORG 0x0211
155 #define META_SCALEVIEWPORTEXT 0x0412
156 #define META_LINETO 0x0213
157 #define META_MOVETO 0x0214
158 #define META_EXCLUDECLIPRECT 0x0415
159 #define META_INTERSECTCLIPRECT 0x0416
160 #define META_ARC 0x0817
161 #define META_ELLIPSE 0x0418
162 #define META_FLOODFILL 0x0419
163 #define META_PIE 0x081A
164 #define META_RECTANGLE 0x041B
165 #define META_ROUNDRECT 0x061C
166 #define META_PATBLT 0x061D
167 #define META_SAVEDC 0x001E
168 #define META_SETPIXEL 0x041F
169 #define META_OFFSETCLIPRGN 0x0220
170 #define META_TEXTOUT 0x0521
171 #define META_BITBLT 0x0922
172 #define META_STRETCHBLT 0x0B23
173 #define META_POLYGON 0x0324
174 #define META_POLYLINE 0x0325
175 #define META_ESCAPE 0x0626
176 #define META_RESTOREDC 0x0127
177 #define META_FILLREGION 0x0228
178 #define META_FRAMEREGION 0x0429
179 #define META_INVERTREGION 0x012A
180 #define META_PAINTREGION 0x012B
181 #define META_SELECTCLIPREGION 0x012C
182 #define META_SELECTOBJECT 0x012D
183 #define META_SETTEXTALIGN 0x012E
184 #define META_CHORD 0x0830
185 #define META_SETMAPPERFLAGS 0x0231
186 #define META_EXTTEXTOUT 0x0a32
187 #define META_SETDIBTODEV 0x0d33
188 #define META_SELECTPALETTE 0x0234
189 #define META_REALIZEPALETTE 0x0035
190 #define META_ANIMATEPALETTE 0x0436
191 #define META_SETPALENTRIES 0x0037
192 #define META_POLYPOLYGON 0x0538
193 #define META_RESIZEPALETTE 0x0139
194 #define META_DIBBITBLT 0x0940
195 #define META_DIBSTRETCHBLT 0x0b41
196 #define META_DIBCREATEPATTERNBRUSH 0x0142
197 #define META_STRETCHDIB 0x0f43
198 #define META_EXTFLOODFILL 0x0548
199 #define META_SETLAYOUT 0x0149
200 #define META_DELETEOBJECT 0x01f0
201 #define META_CREATEPALETTE 0x00f7
202 #define META_CREATEPATTERNBRUSH 0x01F9
203 #define META_CREATEPENINDIRECT 0x02FA
204 #define META_CREATEFONTINDIRECT 0x02FB
205 #define META_CREATEBRUSHINDIRECT 0x02FC
206 #define META_CREATEREGION 0x06FF
208 typedef struct _DRAWPATRECT
{
213 } DRAWPATRECT
,*PDRAWPATRECT
;
219 #define SETCOLORTABLE 4
220 #define GETCOLORTABLE 5
221 #define FLUSHOUTPUT 6
223 #define QUERYESCSUPPORT 8
224 #define SETABORTPROC 9
227 #define GETPHYSPAGESIZE 12
228 #define GETPRINTINGOFFSET 13
229 #define GETSCALINGFACTOR 14
231 #define GETPENWIDTH 16
232 #define SETCOPYCOUNT 17
233 #define SELECTPAPERSOURCE 18
234 #define DEVICEDATA 19
235 #define PASSTHROUGH 19
236 #define GETTECHNOLGY 20
237 #define GETTECHNOLOGY 20
238 #define SETLINECAP 21
239 #define SETLINEJOIN 22
240 #define SETMITERLIMIT 23
242 #define DRAWPATTERNRECT 25
243 #define GETVECTORPENSIZE 26
244 #define GETVECTORBRUSHSIZE 27
245 #define ENABLEDUPLEX 28
246 #define GETSETPAPERBINS 29
247 #define GETSETPRINTORIENT 30
248 #define ENUMPAPERBINS 31
249 #define SETDIBSCALING 32
250 #define EPSPRINTING 33
251 #define ENUMPAPERMETRICS 34
252 #define GETSETPAPERMETRICS 35
253 #define POSTSCRIPT_DATA 37
254 #define POSTSCRIPT_IGNORE 38
255 #define MOUSETRAILS 39
256 #define GETDEVICEUNITS 42
258 #define GETEXTENDEDTEXTMETRICS 256
259 #define GETEXTENTTABLE 257
260 #define GETPAIRKERNTABLE 258
261 #define GETTRACKKERNTABLE 259
262 #define EXTTEXTOUT 512
263 #define GETFACENAME 513
264 #define DOWNLOADFACE 514
265 #define ENABLERELATIVEWIDTHS 768
266 #define ENABLEPAIRKERNING 769
267 #define SETKERNTRACK 770
268 #define SETALLJUSTVALUES 771
269 #define SETCHARSET 772
271 #define STRETCHBLT 2048
272 #define METAFILE_DRIVER 2049
273 #define GETSETSCREENPARAMS 3072
274 #define QUERYDIBSUPPORT 3073
275 #define BEGIN_PATH 4096
276 #define CLIP_TO_PATH 4097
277 #define END_PATH 4098
278 #define EXT_DEVICE_CAPS 4099
279 #define RESTORE_CTM 4100
280 #define SAVE_CTM 4101
281 #define SET_ARC_DIRECTION 4102
282 #define SET_BACKGROUND_COLOR 4103
283 #define SET_POLY_MODE 4104
284 #define SET_SCREEN_ANGLE 4105
285 #define SET_SPREAD 4106
286 #define TRANSFORM_CTM 4107
287 #define SET_CLIP_BOX 4108
288 #define SET_BOUNDS 4109
289 #define SET_MIRROR_MODE 4110
290 #define OPENCHANNEL 4110
291 #define DOWNLOADHEADER 4111
292 #define CLOSECHANNEL 4112
293 #define POSTSCRIPT_PASSTHROUGH 4115
294 #define ENCAPSULATED_POSTSCRIPT 4116
296 #define POSTSCRIPT_IDENTIFY 4117
297 #define POSTSCRIPT_INJECTION 4118
299 #define CHECKJPEGFORMAT 4119
300 #define CHECKPNGFORMAT 4120
302 #define GET_PS_FEATURESETTING 4121
304 #define SPCLPASSTHROUGH2 4568
306 #define PSIDENT_GDICENTRIC 0
307 #define PSIDENT_PSCENTRIC 1
309 typedef struct _PSINJECTDATA
{
313 } PSINJECTDATA
,*PPSINJECTDATA
;
315 #define PSINJECT_BEGINSTREAM 1
316 #define PSINJECT_PSADOBE 2
317 #define PSINJECT_PAGESATEND 3
318 #define PSINJECT_PAGES 4
320 #define PSINJECT_DOCNEEDEDRES 5
321 #define PSINJECT_DOCSUPPLIEDRES 6
322 #define PSINJECT_PAGEORDER 7
323 #define PSINJECT_ORIENTATION 8
324 #define PSINJECT_BOUNDINGBOX 9
325 #define PSINJECT_DOCUMENTPROCESSCOLORS 10
327 #define PSINJECT_COMMENTS 11
328 #define PSINJECT_BEGINDEFAULTS 12
329 #define PSINJECT_ENDDEFAULTS 13
330 #define PSINJECT_BEGINPROLOG 14
331 #define PSINJECT_ENDPROLOG 15
332 #define PSINJECT_BEGINSETUP 16
333 #define PSINJECT_ENDSETUP 17
334 #define PSINJECT_TRAILER 18
335 #define PSINJECT_EOF 19
336 #define PSINJECT_ENDSTREAM 20
337 #define PSINJECT_DOCUMENTPROCESSCOLORSATEND 21
339 #define PSINJECT_PAGENUMBER 100
340 #define PSINJECT_BEGINPAGESETUP 101
341 #define PSINJECT_ENDPAGESETUP 102
342 #define PSINJECT_PAGETRAILER 103
343 #define PSINJECT_PLATECOLOR 104
345 #define PSINJECT_SHOWPAGE 105
346 #define PSINJECT_PAGEBBOX 106
347 #define PSINJECT_ENDPAGECOMMENTS 107
349 #define PSINJECT_VMSAVE 200
350 #define PSINJECT_VMRESTORE 201
352 #define FEATURESETTING_NUP 0
353 #define FEATURESETTING_OUTPUT 1
354 #define FEATURESETTING_PSLEVEL 2
355 #define FEATURESETTING_CUSTPAPER 3
356 #define FEATURESETTING_MIRROR 4
357 #define FEATURESETTING_NEGATIVE 5
358 #define FEATURESETTING_PROTOCOL 6
360 #define FEATURESETTING_PRIVATE_BEGIN 0x1000
361 #define FEATURESETTING_PRIVATE_END 0x1FFF
363 typedef struct _PSFEATURE_OUTPUT
{
364 WINBOOL bPageIndependent
;
365 WINBOOL bSetPageDevice
;
366 } PSFEATURE_OUTPUT
,*PPSFEATURE_OUTPUT
;
368 typedef struct _PSFEATURE_CUSTPAPER
{
374 } PSFEATURE_CUSTPAPER
,*PPSFEATURE_CUSTPAPER
;
376 #define PSPROTOCOL_ASCII 0
377 #define PSPROTOCOL_BCP 1
378 #define PSPROTOCOL_TBCP 2
379 #define PSPROTOCOL_BINARY 3
381 #define QDI_SETDIBITS 1
382 #define QDI_GETDIBITS 2
383 #define QDI_DIBTOSCREEN 4
384 #define QDI_STRETCHDIB 8
386 #define SP_NOTREPORTED 0x4000
387 #define SP_ERROR (-1)
388 #define SP_APPABORT (-2)
389 #define SP_USERABORT (-3)
390 #define SP_OUTOFDISK (-4)
391 #define SP_OUTOFMEMORY (-5)
393 #define PR_JOBSTATUS 0x0000
403 #define OBJ_METAFILE 9
405 #define OBJ_EXTPEN 11
406 #define OBJ_ENHMETADC 12
407 #define OBJ_ENHMETAFILE 13
408 #define OBJ_COLORSPACE 14
410 #define MWT_IDENTITY 1
411 #define MWT_LEFTMULTIPLY 2
412 #define MWT_RIGHTMULTIPLY 3
414 #define MWT_MIN MWT_IDENTITY
415 #define MWT_MAX MWT_RIGHTMULTIPLY
418 typedef struct tagXFORM
{
425 } XFORM
,*PXFORM
,*LPXFORM
;
427 typedef struct tagBITMAP
{
435 } BITMAP
,*PBITMAP
,*NPBITMAP
,*LPBITMAP
;
437 #include <pshpack1.h>
438 typedef struct tagRGBTRIPLE
{
445 typedef struct tagRGBQUAD
{
451 typedef RGBQUAD
*LPRGBQUAD
;
453 #define CS_ENABLE 0x00000001L
454 #define CS_DISABLE 0x00000002L
455 #define CS_DELETE_TRANSFORM 0x00000003L
457 //!__TINYC__: #define LCS_SIGNATURE 'PSOC'
458 //!__TINYC__: #define LCS_sRGB 'sRGB'
459 //!__TINYC__: #define LCS_WINDOWS_COLOR_SPACE 'Win '
461 typedef LONG LCSCSTYPE
;
462 #define LCS_CALIBRATED_RGB 0x00000000L
464 typedef LONG LCSGAMUTMATCH
;
465 #define LCS_GM_BUSINESS 0x00000001L
466 #define LCS_GM_GRAPHICS 0x00000002L
467 #define LCS_GM_IMAGES 0x00000004L
468 #define LCS_GM_ABS_COLORIMETRIC 0x00000008L
470 #define CM_OUT_OF_GAMUT 255
471 #define CM_IN_GAMUT 0
473 #define ICM_ADDPROFILE 1
474 #define ICM_DELETEPROFILE 2
475 #define ICM_QUERYPROFILE 3
476 #define ICM_SETDEFAULTPROFILE 4
477 #define ICM_REGISTERICMATCHER 5
478 #define ICM_UNREGISTERICMATCHER 6
479 #define ICM_QUERYMATCH 7
481 #define GetKValue(cmyk) ((BYTE)(cmyk))
482 #define GetYValue(cmyk) ((BYTE)((cmyk)>> 8))
483 #define GetMValue(cmyk) ((BYTE)((cmyk)>>16))
484 #define GetCValue(cmyk) ((BYTE)((cmyk)>>24))
486 #define CMYK(c,m,y,k) ((COLORREF)((((BYTE)(k)|((WORD)((BYTE)(y))<<8))|(((DWORD)(BYTE)(m))<<16))|(((DWORD)(BYTE)(c))<<24)))
488 typedef long FXPT16DOT16
,*LPFXPT16DOT16
;
489 typedef long FXPT2DOT30
,*LPFXPT2DOT30
;
491 typedef struct tagCIEXYZ
{
496 typedef CIEXYZ
*LPCIEXYZ
;
498 typedef struct tagICEXYZTRIPLE
{
504 typedef CIEXYZTRIPLE
*LPCIEXYZTRIPLE
;
506 typedef struct tagLOGCOLORSPACEA
{
511 LCSGAMUTMATCH lcsIntent
;
512 CIEXYZTRIPLE lcsEndpoints
;
516 CHAR lcsFilename
[MAX_PATH
];
517 } LOGCOLORSPACEA
,*LPLOGCOLORSPACEA
;
519 typedef struct tagLOGCOLORSPACEW
{
524 LCSGAMUTMATCH lcsIntent
;
525 CIEXYZTRIPLE lcsEndpoints
;
529 WCHAR lcsFilename
[MAX_PATH
];
530 } LOGCOLORSPACEW
,*LPLOGCOLORSPACEW
;
533 typedef LOGCOLORSPACEW LOGCOLORSPACE
;
534 typedef LPLOGCOLORSPACEW LPLOGCOLORSPACE
;
536 typedef LOGCOLORSPACEA LOGCOLORSPACE
;
537 typedef LPLOGCOLORSPACEA LPLOGCOLORSPACE
;
540 typedef struct tagBITMAPCOREHEADER
{
546 } BITMAPCOREHEADER
,*LPBITMAPCOREHEADER
,*PBITMAPCOREHEADER
;
548 typedef struct tagBITMAPINFOHEADER
{
556 LONG biXPelsPerMeter
;
557 LONG biYPelsPerMeter
;
559 DWORD biClrImportant
;
560 } BITMAPINFOHEADER
,*LPBITMAPINFOHEADER
,*PBITMAPINFOHEADER
;
568 DWORD bV4V4Compression
;
570 LONG bV4XPelsPerMeter
;
571 LONG bV4YPelsPerMeter
;
573 DWORD bV4ClrImportant
;
579 CIEXYZTRIPLE bV4Endpoints
;
583 } BITMAPV4HEADER
,*LPBITMAPV4HEADER
,*PBITMAPV4HEADER
;
591 DWORD bV5Compression
;
593 LONG bV5XPelsPerMeter
;
594 LONG bV5YPelsPerMeter
;
596 DWORD bV5ClrImportant
;
602 CIEXYZTRIPLE bV5Endpoints
;
607 DWORD bV5ProfileData
;
608 DWORD bV5ProfileSize
;
610 } BITMAPV5HEADER
,*LPBITMAPV5HEADER
,*PBITMAPV5HEADER
;
612 //!__TINYC__: #define PROFILE_LINKED 'LINK'
613 //!__TINYC__: #define PROFILE_EMBEDDED 'MBED'
618 #define BI_BITFIELDS 3L
622 typedef struct tagBITMAPINFO
{
623 BITMAPINFOHEADER bmiHeader
;
624 RGBQUAD bmiColors
[1];
625 } BITMAPINFO
,*LPBITMAPINFO
,*PBITMAPINFO
;
627 typedef struct tagBITMAPCOREINFO
{
628 BITMAPCOREHEADER bmciHeader
;
629 RGBTRIPLE bmciColors
[1];
630 } BITMAPCOREINFO
,*LPBITMAPCOREINFO
,*PBITMAPCOREINFO
;
632 #include <pshpack2.h>
633 typedef struct tagBITMAPFILEHEADER
{
639 } BITMAPFILEHEADER
,*LPBITMAPFILEHEADER
,*PBITMAPFILEHEADER
;
642 #define MAKEPOINTS(l) (*((POINTS *)&(l)))
645 typedef struct tagFONTSIGNATURE
{
648 } FONTSIGNATURE
,*PFONTSIGNATURE
,*LPFONTSIGNATURE
;
650 typedef struct tagCHARSETINFO
{
654 } CHARSETINFO
,*PCHARSETINFO
,*NPCHARSETINFO
,*LPCHARSETINFO
;
656 #define TCI_SRCCHARSET 1
657 #define TCI_SRCCODEPAGE 2
658 #define TCI_SRCFONTSIG 3
659 #define TCI_SRCLOCALE 0x1000
661 typedef struct tagLOCALESIGNATURE
{
663 DWORD lsCsbDefault
[2];
664 DWORD lsCsbSupported
[2];
665 } LOCALESIGNATURE
,*PLOCALESIGNATURE
,*LPLOCALESIGNATURE
;
670 typedef struct tagHANDLETABLE
{
671 HGDIOBJ objectHandle
[1];
672 } HANDLETABLE
,*PHANDLETABLE
,*LPHANDLETABLE
;
674 typedef struct tagMETARECORD
{
679 typedef struct tagMETARECORD UNALIGNED
*PMETARECORD
;
680 typedef struct tagMETARECORD UNALIGNED
*LPMETARECORD
;
682 typedef struct tagMETAFILEPICT
{
687 } METAFILEPICT
,*LPMETAFILEPICT
;
689 #include <pshpack2.h>
690 typedef struct tagMETAHEADER
{
699 typedef struct tagMETAHEADER UNALIGNED
*PMETAHEADER
;
700 typedef struct tagMETAHEADER UNALIGNED
*LPMETAHEADER
;
704 typedef struct tagENHMETARECORD
{
708 } ENHMETARECORD
,*PENHMETARECORD
,*LPENHMETARECORD
;
710 typedef struct tagENHMETAHEADER
{
722 DWORD offDescription
;
725 SIZEL szlMillimeters
;
727 DWORD offPixelFormat
;
729 SIZEL szlMicrometers
;
730 } ENHMETAHEADER
,*PENHMETAHEADER
,*LPENHMETAHEADER
;
734 #define TMPF_FIXED_PITCH 0x01
735 #define TMPF_VECTOR 0x02
736 #define TMPF_DEVICE 0x08
737 #define TMPF_TRUETYPE 0x04
745 #ifndef _TEXTMETRIC_DEFINED
746 #define _TEXTMETRIC_DEFINED
747 typedef struct tagTEXTMETRICA
{
751 LONG tmInternalLeading
;
752 LONG tmExternalLeading
;
757 LONG tmDigitizedAspectX
;
758 LONG tmDigitizedAspectY
;
766 BYTE tmPitchAndFamily
;
768 } TEXTMETRICA
,*PTEXTMETRICA
,*NPTEXTMETRICA
,*LPTEXTMETRICA
;
770 typedef struct tagTEXTMETRICW
{
774 LONG tmInternalLeading
;
775 LONG tmExternalLeading
;
780 LONG tmDigitizedAspectX
;
781 LONG tmDigitizedAspectY
;
789 BYTE tmPitchAndFamily
;
791 } TEXTMETRICW
,*PTEXTMETRICW
,*NPTEXTMETRICW
,*LPTEXTMETRICW
;
793 typedef TEXTMETRICW TEXTMETRIC
;
794 typedef PTEXTMETRICW PTEXTMETRIC
;
795 typedef NPTEXTMETRICW NPTEXTMETRIC
;
796 typedef LPTEXTMETRICW LPTEXTMETRIC
;
798 typedef TEXTMETRICA TEXTMETRIC
;
799 typedef PTEXTMETRICA PTEXTMETRIC
;
800 typedef NPTEXTMETRICA NPTEXTMETRIC
;
801 typedef LPTEXTMETRICA LPTEXTMETRIC
;
805 #define NTM_REGULAR 0x00000040L
806 #define NTM_BOLD 0x00000020L
807 #define NTM_ITALIC 0x00000001L
809 #define NTM_NONNEGATIVE_AC 0x00010000
810 #define NTM_PS_OPENTYPE 0x00020000
811 #define NTM_TT_OPENTYPE 0x00040000
812 #define NTM_MULTIPLEMASTER 0x00080000
813 #define NTM_TYPE1 0x00100000
814 #define NTM_DSIG 0x00200000
816 #include <pshpack4.h>
817 typedef struct tagNEWTEXTMETRICA
{
821 LONG tmInternalLeading
;
822 LONG tmExternalLeading
;
827 LONG tmDigitizedAspectX
;
828 LONG tmDigitizedAspectY
;
836 BYTE tmPitchAndFamily
;
842 } NEWTEXTMETRICA
,*PNEWTEXTMETRICA
,*NPNEWTEXTMETRICA
,*LPNEWTEXTMETRICA
;
844 typedef struct tagNEWTEXTMETRICW
{
848 LONG tmInternalLeading
;
849 LONG tmExternalLeading
;
854 LONG tmDigitizedAspectX
;
855 LONG tmDigitizedAspectY
;
863 BYTE tmPitchAndFamily
;
869 } NEWTEXTMETRICW
,*PNEWTEXTMETRICW
,*NPNEWTEXTMETRICW
,*LPNEWTEXTMETRICW
;
871 typedef NEWTEXTMETRICW NEWTEXTMETRIC
;
872 typedef PNEWTEXTMETRICW PNEWTEXTMETRIC
;
873 typedef NPNEWTEXTMETRICW NPNEWTEXTMETRIC
;
874 typedef LPNEWTEXTMETRICW LPNEWTEXTMETRIC
;
876 typedef NEWTEXTMETRICA NEWTEXTMETRIC
;
877 typedef PNEWTEXTMETRICA PNEWTEXTMETRIC
;
878 typedef NPNEWTEXTMETRICA NPNEWTEXTMETRIC
;
879 typedef LPNEWTEXTMETRICA LPNEWTEXTMETRIC
;
883 typedef struct tagNEWTEXTMETRICEXA
{
884 NEWTEXTMETRICA ntmTm
;
885 FONTSIGNATURE ntmFontSig
;
888 typedef struct tagNEWTEXTMETRICEXW
{
889 NEWTEXTMETRICW ntmTm
;
890 FONTSIGNATURE ntmFontSig
;
893 typedef NEWTEXTMETRICEXW NEWTEXTMETRICEX
;
895 typedef NEWTEXTMETRICEXA NEWTEXTMETRICEX
;
899 typedef struct tagPELARRAY
{
905 } PELARRAY
,*PPELARRAY
,*NPPELARRAY
,*LPPELARRAY
;
907 typedef struct tagLOGBRUSH
{
911 } LOGBRUSH
,*PLOGBRUSH
,*NPLOGBRUSH
,*LPLOGBRUSH
;
913 typedef struct tagLOGBRUSH32
{
917 } LOGBRUSH32
,*PLOGBRUSH32
,*NPLOGBRUSH32
,*LPLOGBRUSH32
;
919 typedef LOGBRUSH PATTERN
;
920 typedef PATTERN
*PPATTERN
;
921 typedef PATTERN
*NPPATTERN
;
922 typedef PATTERN
*LPPATTERN
;
924 typedef struct tagLOGPEN
{
928 } LOGPEN
,*PLOGPEN
,*NPLOGPEN
,*LPLOGPEN
;
930 typedef struct tagEXTLOGPEN
{
937 DWORD elpStyleEntry
[1];
938 } EXTLOGPEN
,*PEXTLOGPEN
,*NPEXTLOGPEN
,*LPEXTLOGPEN
;
940 #ifndef _PALETTEENTRY_DEFINED
941 #define _PALETTEENTRY_DEFINED
942 typedef struct tagPALETTEENTRY
{
947 } PALETTEENTRY
,*PPALETTEENTRY
,*LPPALETTEENTRY
;
950 #ifndef _LOGPALETTE_DEFINED
951 #define _LOGPALETTE_DEFINED
953 typedef struct tagLOGPALETTE
{
956 PALETTEENTRY palPalEntry
[1];
957 } LOGPALETTE
,*PLOGPALETTE
,*NPLOGPALETTE
,*LPLOGPALETTE
;
960 #define LF_FACESIZE 32
962 typedef struct tagLOGFONTA
{
973 BYTE lfClipPrecision
;
975 BYTE lfPitchAndFamily
;
976 CHAR lfFaceName
[LF_FACESIZE
];
977 } LOGFONTA
,*PLOGFONTA
,*NPLOGFONTA
,*LPLOGFONTA
;
979 typedef struct tagLOGFONTW
{
990 BYTE lfClipPrecision
;
992 BYTE lfPitchAndFamily
;
993 WCHAR lfFaceName
[LF_FACESIZE
];
994 } LOGFONTW
,*PLOGFONTW
,*NPLOGFONTW
,*LPLOGFONTW
;
996 typedef LOGFONTW LOGFONT
;
997 typedef PLOGFONTW PLOGFONT
;
998 typedef NPLOGFONTW NPLOGFONT
;
999 typedef LPLOGFONTW LPLOGFONT
;
1001 typedef LOGFONTA LOGFONT
;
1002 typedef PLOGFONTA PLOGFONT
;
1003 typedef NPLOGFONTA NPLOGFONT
;
1004 typedef LPLOGFONTA LPLOGFONT
;
1007 #define LF_FULLFACESIZE 64
1009 typedef struct tagENUMLOGFONTA
{
1010 LOGFONTA elfLogFont
;
1011 BYTE elfFullName
[LF_FULLFACESIZE
];
1012 BYTE elfStyle
[LF_FACESIZE
];
1013 } ENUMLOGFONTA
,*LPENUMLOGFONTA
;
1015 typedef struct tagENUMLOGFONTW
{
1016 LOGFONTW elfLogFont
;
1017 WCHAR elfFullName
[LF_FULLFACESIZE
];
1018 WCHAR elfStyle
[LF_FACESIZE
];
1019 } ENUMLOGFONTW
,*LPENUMLOGFONTW
;
1021 typedef ENUMLOGFONTW ENUMLOGFONT
;
1022 typedef LPENUMLOGFONTW LPENUMLOGFONT
;
1024 typedef ENUMLOGFONTA ENUMLOGFONT
;
1025 typedef LPENUMLOGFONTA LPENUMLOGFONT
;
1028 typedef struct tagENUMLOGFONTEXA
{
1029 LOGFONTA elfLogFont
;
1030 BYTE elfFullName
[LF_FULLFACESIZE
];
1031 BYTE elfStyle
[LF_FACESIZE
];
1032 BYTE elfScript
[LF_FACESIZE
];
1033 } ENUMLOGFONTEXA
,*LPENUMLOGFONTEXA
;
1035 typedef struct tagENUMLOGFONTEXW
{
1036 LOGFONTW elfLogFont
;
1037 WCHAR elfFullName
[LF_FULLFACESIZE
];
1038 WCHAR elfStyle
[LF_FACESIZE
];
1039 WCHAR elfScript
[LF_FACESIZE
];
1040 } ENUMLOGFONTEXW
,*LPENUMLOGFONTEXW
;
1042 typedef ENUMLOGFONTEXW ENUMLOGFONTEX
;
1043 typedef LPENUMLOGFONTEXW LPENUMLOGFONTEX
;
1045 typedef ENUMLOGFONTEXA ENUMLOGFONTEX
;
1046 typedef LPENUMLOGFONTEXA LPENUMLOGFONTEX
;
1049 #define OUT_DEFAULT_PRECIS 0
1050 #define OUT_STRING_PRECIS 1
1051 #define OUT_CHARACTER_PRECIS 2
1052 #define OUT_STROKE_PRECIS 3
1053 #define OUT_TT_PRECIS 4
1054 #define OUT_DEVICE_PRECIS 5
1055 #define OUT_RASTER_PRECIS 6
1056 #define OUT_TT_ONLY_PRECIS 7
1057 #define OUT_OUTLINE_PRECIS 8
1058 #define OUT_SCREEN_OUTLINE_PRECIS 9
1059 #define OUT_PS_ONLY_PRECIS 10
1061 #define CLIP_DEFAULT_PRECIS 0
1062 #define CLIP_CHARACTER_PRECIS 1
1063 #define CLIP_STROKE_PRECIS 2
1064 #define CLIP_MASK 0xf
1065 #define CLIP_LH_ANGLES (1<<4)
1066 #define CLIP_TT_ALWAYS (2<<4)
1067 #define CLIP_DFA_DISABLE (4<<4)
1068 #define CLIP_EMBEDDED (8<<4)
1070 #define DEFAULT_QUALITY 0
1071 #define DRAFT_QUALITY 1
1072 #define PROOF_QUALITY 2
1073 #define NONANTIALIASED_QUALITY 3
1074 #define ANTIALIASED_QUALITY 4
1076 #define CLEARTYPE_QUALITY 5
1077 #define CLEARTYPE_NATURAL_QUALITY 6
1079 #define DEFAULT_PITCH 0
1080 #define FIXED_PITCH 1
1081 #define VARIABLE_PITCH 2
1084 #define ANSI_CHARSET 0
1085 #define DEFAULT_CHARSET 1
1086 #define SYMBOL_CHARSET 2
1087 #define SHIFTJIS_CHARSET 128
1088 #define HANGEUL_CHARSET 129
1089 #define HANGUL_CHARSET 129
1090 #define GB2312_CHARSET 134
1091 #define CHINESEBIG5_CHARSET 136
1092 #define OEM_CHARSET 255
1093 #define JOHAB_CHARSET 130
1094 #define HEBREW_CHARSET 177
1095 #define ARABIC_CHARSET 178
1096 #define GREEK_CHARSET 161
1097 #define TURKISH_CHARSET 162
1098 #define VIETNAMESE_CHARSET 163
1099 #define THAI_CHARSET 222
1100 #define EASTEUROPE_CHARSET 238
1101 #define RUSSIAN_CHARSET 204
1103 #define MAC_CHARSET 77
1104 #define BALTIC_CHARSET 186
1106 #define FS_LATIN1 0x00000001L
1107 #define FS_LATIN2 0x00000002L
1108 #define FS_CYRILLIC 0x00000004L
1109 #define FS_GREEK 0x00000008L
1110 #define FS_TURKISH 0x00000010L
1111 #define FS_HEBREW 0x00000020L
1112 #define FS_ARABIC 0x00000040L
1113 #define FS_BALTIC 0x00000080L
1114 #define FS_VIETNAMESE 0x00000100L
1115 #define FS_THAI 0x00010000L
1116 #define FS_JISJAPAN 0x00020000L
1117 #define FS_CHINESESIMP 0x00040000L
1118 #define FS_WANSUNG 0x00080000L
1119 #define FS_CHINESETRAD 0x00100000L
1120 #define FS_JOHAB 0x00200000L
1121 #define FS_SYMBOL 0x80000000L
1123 #define FF_DONTCARE (0<<4)
1124 #define FF_ROMAN (1<<4)
1126 #define FF_SWISS (2<<4)
1128 #define FF_MODERN (3<<4)
1130 #define FF_SCRIPT (4<<4)
1131 #define FF_DECORATIVE (5<<4)
1133 #define FW_DONTCARE 0
1135 #define FW_EXTRALIGHT 200
1136 #define FW_LIGHT 300
1137 #define FW_NORMAL 400
1138 #define FW_MEDIUM 500
1139 #define FW_SEMIBOLD 600
1141 #define FW_EXTRABOLD 800
1142 #define FW_HEAVY 900
1144 #define FW_ULTRALIGHT FW_EXTRALIGHT
1145 #define FW_REGULAR FW_NORMAL
1146 #define FW_DEMIBOLD FW_SEMIBOLD
1147 #define FW_ULTRABOLD FW_EXTRABOLD
1148 #define FW_BLACK FW_HEAVY
1150 #define PANOSE_COUNT 10
1151 #define PAN_FAMILYTYPE_INDEX 0
1152 #define PAN_SERIFSTYLE_INDEX 1
1153 #define PAN_WEIGHT_INDEX 2
1154 #define PAN_PROPORTION_INDEX 3
1155 #define PAN_CONTRAST_INDEX 4
1156 #define PAN_STROKEVARIATION_INDEX 5
1157 #define PAN_ARMSTYLE_INDEX 6
1158 #define PAN_LETTERFORM_INDEX 7
1159 #define PAN_MIDLINE_INDEX 8
1160 #define PAN_XHEIGHT_INDEX 9
1162 #define PAN_CULTURE_LATIN 0
1164 typedef struct tagPANOSE
{
1170 BYTE bStrokeVariation
;
1178 #define PAN_NO_FIT 1
1180 #define PAN_FAMILY_TEXT_DISPLAY 2
1181 #define PAN_FAMILY_SCRIPT 3
1182 #define PAN_FAMILY_DECORATIVE 4
1183 #define PAN_FAMILY_PICTORIAL 5
1185 #define PAN_SERIF_COVE 2
1186 #define PAN_SERIF_OBTUSE_COVE 3
1187 #define PAN_SERIF_SQUARE_COVE 4
1188 #define PAN_SERIF_OBTUSE_SQUARE_COVE 5
1189 #define PAN_SERIF_SQUARE 6
1190 #define PAN_SERIF_THIN 7
1191 #define PAN_SERIF_BONE 8
1192 #define PAN_SERIF_EXAGGERATED 9
1193 #define PAN_SERIF_TRIANGLE 10
1194 #define PAN_SERIF_NORMAL_SANS 11
1195 #define PAN_SERIF_OBTUSE_SANS 12
1196 #define PAN_SERIF_PERP_SANS 13
1197 #define PAN_SERIF_FLARED 14
1198 #define PAN_SERIF_ROUNDED 15
1200 #define PAN_WEIGHT_VERY_LIGHT 2
1201 #define PAN_WEIGHT_LIGHT 3
1202 #define PAN_WEIGHT_THIN 4
1203 #define PAN_WEIGHT_BOOK 5
1204 #define PAN_WEIGHT_MEDIUM 6
1205 #define PAN_WEIGHT_DEMI 7
1206 #define PAN_WEIGHT_BOLD 8
1207 #define PAN_WEIGHT_HEAVY 9
1208 #define PAN_WEIGHT_BLACK 10
1209 #define PAN_WEIGHT_NORD 11
1211 #define PAN_PROP_OLD_STYLE 2
1212 #define PAN_PROP_MODERN 3
1213 #define PAN_PROP_EVEN_WIDTH 4
1214 #define PAN_PROP_EXPANDED 5
1215 #define PAN_PROP_CONDENSED 6
1216 #define PAN_PROP_VERY_EXPANDED 7
1217 #define PAN_PROP_VERY_CONDENSED 8
1218 #define PAN_PROP_MONOSPACED 9
1220 #define PAN_CONTRAST_NONE 2
1221 #define PAN_CONTRAST_VERY_LOW 3
1222 #define PAN_CONTRAST_LOW 4
1223 #define PAN_CONTRAST_MEDIUM_LOW 5
1224 #define PAN_CONTRAST_MEDIUM 6
1225 #define PAN_CONTRAST_MEDIUM_HIGH 7
1226 #define PAN_CONTRAST_HIGH 8
1227 #define PAN_CONTRAST_VERY_HIGH 9
1229 #define PAN_STROKE_GRADUAL_DIAG 2
1230 #define PAN_STROKE_GRADUAL_TRAN 3
1231 #define PAN_STROKE_GRADUAL_VERT 4
1232 #define PAN_STROKE_GRADUAL_HORZ 5
1233 #define PAN_STROKE_RAPID_VERT 6
1234 #define PAN_STROKE_RAPID_HORZ 7
1235 #define PAN_STROKE_INSTANT_VERT 8
1237 #define PAN_STRAIGHT_ARMS_HORZ 2
1238 #define PAN_STRAIGHT_ARMS_WEDGE 3
1239 #define PAN_STRAIGHT_ARMS_VERT 4
1240 #define PAN_STRAIGHT_ARMS_SINGLE_SERIF 5
1241 #define PAN_STRAIGHT_ARMS_DOUBLE_SERIF 6
1242 #define PAN_BENT_ARMS_HORZ 7
1243 #define PAN_BENT_ARMS_WEDGE 8
1244 #define PAN_BENT_ARMS_VERT 9
1245 #define PAN_BENT_ARMS_SINGLE_SERIF 10
1246 #define PAN_BENT_ARMS_DOUBLE_SERIF 11
1248 #define PAN_LETT_NORMAL_CONTACT 2
1249 #define PAN_LETT_NORMAL_WEIGHTED 3
1250 #define PAN_LETT_NORMAL_BOXED 4
1251 #define PAN_LETT_NORMAL_FLATTENED 5
1252 #define PAN_LETT_NORMAL_ROUNDED 6
1253 #define PAN_LETT_NORMAL_OFF_CENTER 7
1254 #define PAN_LETT_NORMAL_SQUARE 8
1255 #define PAN_LETT_OBLIQUE_CONTACT 9
1256 #define PAN_LETT_OBLIQUE_WEIGHTED 10
1257 #define PAN_LETT_OBLIQUE_BOXED 11
1258 #define PAN_LETT_OBLIQUE_FLATTENED 12
1259 #define PAN_LETT_OBLIQUE_ROUNDED 13
1260 #define PAN_LETT_OBLIQUE_OFF_CENTER 14
1261 #define PAN_LETT_OBLIQUE_SQUARE 15
1263 #define PAN_MIDLINE_STANDARD_TRIMMED 2
1264 #define PAN_MIDLINE_STANDARD_POINTED 3
1265 #define PAN_MIDLINE_STANDARD_SERIFED 4
1266 #define PAN_MIDLINE_HIGH_TRIMMED 5
1267 #define PAN_MIDLINE_HIGH_POINTED 6
1268 #define PAN_MIDLINE_HIGH_SERIFED 7
1269 #define PAN_MIDLINE_CONSTANT_TRIMMED 8
1270 #define PAN_MIDLINE_CONSTANT_POINTED 9
1271 #define PAN_MIDLINE_CONSTANT_SERIFED 10
1272 #define PAN_MIDLINE_LOW_TRIMMED 11
1273 #define PAN_MIDLINE_LOW_POINTED 12
1274 #define PAN_MIDLINE_LOW_SERIFED 13
1276 #define PAN_XHEIGHT_CONSTANT_SMALL 2
1277 #define PAN_XHEIGHT_CONSTANT_STD 3
1278 #define PAN_XHEIGHT_CONSTANT_LARGE 4
1279 #define PAN_XHEIGHT_DUCKING_SMALL 5
1280 #define PAN_XHEIGHT_DUCKING_STD 6
1281 #define PAN_XHEIGHT_DUCKING_LARGE 7
1283 #define ELF_VENDOR_SIZE 4
1285 typedef struct tagEXTLOGFONTA
{
1286 LOGFONTA elfLogFont
;
1287 BYTE elfFullName
[LF_FULLFACESIZE
];
1288 BYTE elfStyle
[LF_FACESIZE
];
1293 BYTE elfVendorId
[ELF_VENDOR_SIZE
];
1296 } EXTLOGFONTA
,*PEXTLOGFONTA
,*NPEXTLOGFONTA
,*LPEXTLOGFONTA
;
1298 typedef struct tagEXTLOGFONTW
{
1299 LOGFONTW elfLogFont
;
1300 WCHAR elfFullName
[LF_FULLFACESIZE
];
1301 WCHAR elfStyle
[LF_FACESIZE
];
1306 BYTE elfVendorId
[ELF_VENDOR_SIZE
];
1309 } EXTLOGFONTW
,*PEXTLOGFONTW
,*NPEXTLOGFONTW
,*LPEXTLOGFONTW
;
1311 typedef EXTLOGFONTW EXTLOGFONT
;
1312 typedef PEXTLOGFONTW PEXTLOGFONT
;
1313 typedef NPEXTLOGFONTW NPEXTLOGFONT
;
1314 typedef LPEXTLOGFONTW LPEXTLOGFONT
;
1316 typedef EXTLOGFONTA EXTLOGFONT
;
1317 typedef PEXTLOGFONTA PEXTLOGFONT
;
1318 typedef NPEXTLOGFONTA NPEXTLOGFONT
;
1319 typedef LPEXTLOGFONTA LPEXTLOGFONT
;
1322 #define ELF_VERSION 0
1323 #define ELF_CULTURE_LATIN 0
1325 #define RASTER_FONTTYPE 0x0001
1326 #define DEVICE_FONTTYPE 0x002
1327 #define TRUETYPE_FONTTYPE 0x004
1329 #define RGB(r,g,b) ((COLORREF)(((BYTE)(r)|((WORD)((BYTE)(g))<<8))|(((DWORD)(BYTE)(b))<<16)))
1330 #define PALETTERGB(r,g,b) (0x02000000 | RGB(r,g,b))
1331 #define PALETTEINDEX(i) ((COLORREF)(0x01000000 | (DWORD)(WORD)(i)))
1333 #define PC_RESERVED 0x01
1334 #define PC_EXPLICIT 0x02
1335 #define PC_NOCOLLAPSE 0x04
1337 #define GetRValue(rgb) (LOBYTE(rgb))
1338 #define GetGValue(rgb) (LOBYTE(((WORD)(rgb)) >> 8))
1339 #define GetBValue(rgb) (LOBYTE((rgb)>>16))
1341 #define TRANSPARENT 1
1343 #define BKMODE_LAST 2
1345 #define GM_COMPATIBLE 1
1346 #define GM_ADVANCED 2
1349 #define PT_CLOSEFIGURE 0x01
1350 #define PT_LINETO 0x02
1351 #define PT_BEZIERTO 0x04
1352 #define PT_MOVETO 0x06
1355 #define MM_LOMETRIC 2
1356 #define MM_HIMETRIC 3
1357 #define MM_LOENGLISH 4
1358 #define MM_HIENGLISH 5
1360 #define MM_ISOTROPIC 7
1361 #define MM_ANISOTROPIC 8
1363 #define MM_MIN MM_TEXT
1364 #define MM_MAX MM_ANISOTROPIC
1365 #define MM_MAX_FIXEDSCALE MM_TWIPS
1370 #define WHITE_BRUSH 0
1371 #define LTGRAY_BRUSH 1
1372 #define GRAY_BRUSH 2
1373 #define DKGRAY_BRUSH 3
1374 #define BLACK_BRUSH 4
1375 #define NULL_BRUSH 5
1376 #define HOLLOW_BRUSH NULL_BRUSH
1380 #define OEM_FIXED_FONT 10
1381 #define ANSI_FIXED_FONT 11
1382 #define ANSI_VAR_FONT 12
1383 #define SYSTEM_FONT 13
1384 #define DEVICE_DEFAULT_FONT 14
1385 #define DEFAULT_PALETTE 15
1386 #define SYSTEM_FIXED_FONT 16
1388 #define DEFAULT_GUI_FONT 17
1393 #define STOCK_LAST 19
1395 #define CLR_INVALID 0xFFFFFFFF
1399 #define BS_HOLLOW BS_NULL
1400 #define BS_HATCHED 2
1401 #define BS_PATTERN 3
1402 #define BS_INDEXED 4
1403 #define BS_DIBPATTERN 5
1404 #define BS_DIBPATTERNPT 6
1405 #define BS_PATTERN8X8 7
1406 #define BS_DIBPATTERN8X8 8
1407 #define BS_MONOPATTERN 9
1409 #define HS_HORIZONTAL 0
1410 #define HS_VERTICAL 1
1411 #define HS_FDIAGONAL 2
1412 #define HS_BDIAGONAL 3
1414 #define HS_DIAGCROSS 5
1419 #define PS_DASHDOT 3
1420 #define PS_DASHDOTDOT 4
1422 #define PS_INSIDEFRAME 6
1423 #define PS_USERSTYLE 7
1424 #define PS_ALTERNATE 8
1425 #define PS_STYLE_MASK 0x0000000F
1427 #define PS_ENDCAP_ROUND 0x00000000
1428 #define PS_ENDCAP_SQUARE 0x00000100
1429 #define PS_ENDCAP_FLAT 0x00000200
1430 #define PS_ENDCAP_MASK 0x00000F00
1432 #define PS_JOIN_ROUND 0x00000000
1433 #define PS_JOIN_BEVEL 0x00001000
1434 #define PS_JOIN_MITER 0x00002000
1435 #define PS_JOIN_MASK 0x0000F000
1437 #define PS_COSMETIC 0x00000000
1438 #define PS_GEOMETRIC 0x00010000
1439 #define PS_TYPE_MASK 0x000F0000
1441 #define AD_COUNTERCLOCKWISE 1
1442 #define AD_CLOCKWISE 2
1444 #define DRIVERVERSION 0
1445 #define TECHNOLOGY 2
1450 #define BITSPIXEL 12
1452 #define NUMBRUSHES 16
1454 #define NUMMARKERS 20
1456 #define NUMCOLORS 24
1457 #define PDEVICESIZE 26
1458 #define CURVECAPS 28
1460 #define POLYGONALCAPS 32
1463 #define RASTERCAPS 38
1468 #define LOGPIXELSX 88
1469 #define LOGPIXELSY 90
1471 #define SIZEPALETTE 104
1472 #define NUMRESERVED 106
1473 #define COLORRES 108
1475 #define PHYSICALWIDTH 110
1476 #define PHYSICALHEIGHT 111
1477 #define PHYSICALOFFSETX 112
1478 #define PHYSICALOFFSETY 113
1479 #define SCALINGFACTORX 114
1480 #define SCALINGFACTORY 115
1482 #define VREFRESH 116
1484 #define DESKTOPVERTRES 117
1486 #define DESKTOPHORZRES 118
1488 #define BLTALIGNMENT 119
1490 #define SHADEBLENDCAPS 120
1491 #define COLORMGMTCAPS 121
1493 #ifndef NOGDICAPMASKS
1494 #define DT_PLOTTER 0
1495 #define DT_RASDISPLAY 1
1496 #define DT_RASPRINTER 2
1497 #define DT_RASCAMERA 3
1498 #define DT_CHARSTREAM 4
1499 #define DT_METAFILE 5
1500 #define DT_DISPFILE 6
1503 #define CC_CIRCLES 1
1506 #define CC_ELLIPSES 8
1508 #define CC_STYLED 32
1509 #define CC_WIDESTYLED 64
1510 #define CC_INTERIORS 128
1511 #define CC_ROUNDRECT 256
1514 #define LC_POLYLINE 2
1516 #define LC_POLYMARKER 8
1518 #define LC_STYLED 32
1519 #define LC_WIDESTYLED 64
1520 #define LC_INTERIORS 128
1523 #define PC_POLYGON 1
1524 #define PC_RECTANGLE 2
1525 #define PC_WINDPOLYGON 4
1526 #define PC_TRAPEZOID 4
1527 #define PC_SCANLINE 8
1529 #define PC_STYLED 32
1530 #define PC_WIDESTYLED 64
1531 #define PC_INTERIORS 128
1532 #define PC_POLYPOLYGON 256
1533 #define PC_PATHS 512
1536 #define CP_RECTANGLE 1
1539 #define TC_OP_CHARACTER 0x00000001
1540 #define TC_OP_STROKE 0x00000002
1541 #define TC_CP_STROKE 0x00000004
1542 #define TC_CR_90 0x00000008
1543 #define TC_CR_ANY 0x00000010
1544 #define TC_SF_X_YINDEP 0x00000020
1545 #define TC_SA_DOUBLE 0x00000040
1546 #define TC_SA_INTEGER 0x00000080
1547 #define TC_SA_CONTIN 0x00000100
1548 #define TC_EA_DOUBLE 0x00000200
1549 #define TC_IA_ABLE 0x00000400
1550 #define TC_UA_ABLE 0x00000800
1551 #define TC_SO_ABLE 0x00001000
1552 #define TC_RA_ABLE 0x00002000
1553 #define TC_VA_ABLE 0x00004000
1554 #define TC_RESERVED 0x00008000
1555 #define TC_SCROLLBLT 0x00010000
1560 #define RC_BANDING 2
1561 #define RC_SCALING 4
1562 #define RC_BITMAP64 8
1563 #define RC_GDI20_OUTPUT 0x0010
1564 #define RC_GDI20_STATE 0x0020
1565 #define RC_SAVEBITMAP 0x0040
1566 #define RC_DI_BITMAP 0x0080
1567 #define RC_PALETTE 0x0100
1568 #define RC_DIBTODEV 0x0200
1569 #define RC_BIGFONT 0x0400
1570 #define RC_STRETCHBLT 0x0800
1571 #define RC_FLOODFILL 0x1000
1572 #define RC_STRETCHDIB 0x2000
1573 #define RC_OP_DX_OUTPUT 0x4000
1574 #define RC_DEVBITS 0x8000
1576 #define SB_NONE 0x00000000
1577 #define SB_CONST_ALPHA 0x00000001
1578 #define SB_PIXEL_ALPHA 0x00000002
1579 #define SB_PREMULT_ALPHA 0x00000004
1581 #define SB_GRAD_RECT 0x00000010
1582 #define SB_GRAD_TRI 0x00000020
1584 #define CM_NONE 0x00000000
1585 #define CM_DEVICE_ICM 0x00000001
1586 #define CM_GAMMA_RAMP 0x00000002
1587 #define CM_CMYK_COLOR 0x00000004
1589 #define DIB_RGB_COLORS 0
1590 #define DIB_PAL_COLORS 1
1592 #define SYSPAL_ERROR 0
1593 #define SYSPAL_STATIC 1
1594 #define SYSPAL_NOSTATIC 2
1595 #define SYSPAL_NOSTATIC256 3
1597 #define CBM_INIT 0x04L
1599 #define FLOODFILLBORDER 0
1600 #define FLOODFILLSURFACE 1
1602 #define CCHDEVICENAME 32
1604 #define CCHFORMNAME 32
1606 typedef struct _devicemodeA
{
1607 BYTE dmDeviceName
[CCHDEVICENAME
];
1609 WORD dmDriverVersion
;
1615 short dmOrientation
;
1617 short dmPaperLength
;
1621 short dmDefaultSource
;
1622 short dmPrintQuality
;
1626 DWORD dmDisplayOrientation
;
1627 DWORD dmDisplayFixedOutput
;
1632 short dmYResolution
;
1635 BYTE dmFormName
[CCHFORMNAME
];
1641 DWORD dmDisplayFlags
;
1644 DWORD dmDisplayFrequency
;
1651 DWORD dmPanningWidth
;
1652 DWORD dmPanningHeight
;
1653 } DEVMODEA
,*PDEVMODEA
,*NPDEVMODEA
,*LPDEVMODEA
;
1655 typedef struct _devicemodeW
{
1656 WCHAR dmDeviceName
[CCHDEVICENAME
];
1658 WORD dmDriverVersion
;
1664 short dmOrientation
;
1666 short dmPaperLength
;
1670 short dmDefaultSource
;
1671 short dmPrintQuality
;
1675 DWORD dmDisplayOrientation
;
1676 DWORD dmDisplayFixedOutput
;
1681 short dmYResolution
;
1684 WCHAR dmFormName
[CCHFORMNAME
];
1690 DWORD dmDisplayFlags
;
1693 DWORD dmDisplayFrequency
;
1700 DWORD dmPanningWidth
;
1701 DWORD dmPanningHeight
;
1702 } DEVMODEW
,*PDEVMODEW
,*NPDEVMODEW
,*LPDEVMODEW
;
1704 typedef DEVMODEW DEVMODE
;
1705 typedef PDEVMODEW PDEVMODE
;
1706 typedef NPDEVMODEW NPDEVMODE
;
1707 typedef LPDEVMODEW LPDEVMODE
;
1709 typedef DEVMODEA DEVMODE
;
1710 typedef PDEVMODEA PDEVMODE
;
1711 typedef NPDEVMODEA NPDEVMODE
;
1712 typedef LPDEVMODEA LPDEVMODE
;
1715 #define DM_SPECVERSION 0x0401
1717 #define DM_ORIENTATION 0x00000001L
1718 #define DM_PAPERSIZE 0x00000002L
1719 #define DM_PAPERLENGTH 0x00000004L
1720 #define DM_PAPERWIDTH 0x00000008L
1721 #define DM_SCALE 0x00000010L
1722 #define DM_POSITION 0x00000020L
1723 #define DM_NUP 0x00000040L
1724 #define DM_DISPLAYORIENTATION 0x00000080L
1725 #define DM_COPIES 0x00000100L
1726 #define DM_DEFAULTSOURCE 0x00000200L
1727 #define DM_PRINTQUALITY 0x00000400L
1728 #define DM_COLOR 0x00000800L
1729 #define DM_DUPLEX 0x00001000L
1730 #define DM_YRESOLUTION 0x00002000L
1731 #define DM_TTOPTION 0x00004000L
1732 #define DM_COLLATE 0x00008000L
1733 #define DM_FORMNAME 0x00010000L
1734 #define DM_LOGPIXELS 0x00020000L
1735 #define DM_BITSPERPEL 0x00040000L
1736 #define DM_PELSWIDTH 0x00080000L
1737 #define DM_PELSHEIGHT 0x00100000L
1738 #define DM_DISPLAYFLAGS 0x00200000L
1739 #define DM_DISPLAYFREQUENCY 0x00400000L
1740 #define DM_ICMMETHOD 0x00800000L
1741 #define DM_ICMINTENT 0x01000000L
1742 #define DM_MEDIATYPE 0x02000000L
1743 #define DM_DITHERTYPE 0x04000000L
1744 #define DM_PANNINGWIDTH 0x08000000L
1745 #define DM_PANNINGHEIGHT 0x10000000L
1746 #define DM_DISPLAYFIXEDOUTPUT 0x20000000L
1748 #define DMORIENT_PORTRAIT 1
1749 #define DMORIENT_LANDSCAPE 2
1751 #define DMPAPER_FIRST DMPAPER_LETTER
1752 #define DMPAPER_LETTER 1
1753 #define DMPAPER_LETTERSMALL 2
1754 #define DMPAPER_TABLOID 3
1755 #define DMPAPER_LEDGER 4
1756 #define DMPAPER_LEGAL 5
1757 #define DMPAPER_STATEMENT 6
1758 #define DMPAPER_EXECUTIVE 7
1759 #define DMPAPER_A3 8
1760 #define DMPAPER_A4 9
1761 #define DMPAPER_A4SMALL 10
1762 #define DMPAPER_A5 11
1763 #define DMPAPER_B4 12
1764 #define DMPAPER_B5 13
1765 #define DMPAPER_FOLIO 14
1766 #define DMPAPER_QUARTO 15
1767 #define DMPAPER_10X14 16
1768 #define DMPAPER_11X17 17
1769 #define DMPAPER_NOTE 18
1770 #define DMPAPER_ENV_9 19
1771 #define DMPAPER_ENV_10 20
1772 #define DMPAPER_ENV_11 21
1773 #define DMPAPER_ENV_12 22
1774 #define DMPAPER_ENV_14 23
1775 #define DMPAPER_CSHEET 24
1776 #define DMPAPER_DSHEET 25
1777 #define DMPAPER_ESHEET 26
1778 #define DMPAPER_ENV_DL 27
1779 #define DMPAPER_ENV_C5 28
1780 #define DMPAPER_ENV_C3 29
1781 #define DMPAPER_ENV_C4 30
1782 #define DMPAPER_ENV_C6 31
1783 #define DMPAPER_ENV_C65 32
1784 #define DMPAPER_ENV_B4 33
1785 #define DMPAPER_ENV_B5 34
1786 #define DMPAPER_ENV_B6 35
1787 #define DMPAPER_ENV_ITALY 36
1788 #define DMPAPER_ENV_MONARCH 37
1789 #define DMPAPER_ENV_PERSONAL 38
1790 #define DMPAPER_FANFOLD_US 39
1791 #define DMPAPER_FANFOLD_STD_GERMAN 40
1792 #define DMPAPER_FANFOLD_LGL_GERMAN 41
1793 #define DMPAPER_ISO_B4 42
1794 #define DMPAPER_JAPANESE_POSTCARD 43
1795 #define DMPAPER_9X11 44
1796 #define DMPAPER_10X11 45
1797 #define DMPAPER_15X11 46
1798 #define DMPAPER_ENV_INVITE 47
1799 #define DMPAPER_RESERVED_48 48
1800 #define DMPAPER_RESERVED_49 49
1801 #define DMPAPER_LETTER_EXTRA 50
1802 #define DMPAPER_LEGAL_EXTRA 51
1803 #define DMPAPER_TABLOID_EXTRA 52
1804 #define DMPAPER_A4_EXTRA 53
1805 #define DMPAPER_LETTER_TRANSVERSE 54
1806 #define DMPAPER_A4_TRANSVERSE 55
1807 #define DMPAPER_LETTER_EXTRA_TRANSVERSE 56
1808 #define DMPAPER_A_PLUS 57
1809 #define DMPAPER_B_PLUS 58
1810 #define DMPAPER_LETTER_PLUS 59
1811 #define DMPAPER_A4_PLUS 60
1812 #define DMPAPER_A5_TRANSVERSE 61
1813 #define DMPAPER_B5_TRANSVERSE 62
1814 #define DMPAPER_A3_EXTRA 63
1815 #define DMPAPER_A5_EXTRA 64
1816 #define DMPAPER_B5_EXTRA 65
1817 #define DMPAPER_A2 66
1818 #define DMPAPER_A3_TRANSVERSE 67
1819 #define DMPAPER_A3_EXTRA_TRANSVERSE 68
1820 #define DMPAPER_DBL_JAPANESE_POSTCARD 69
1821 #define DMPAPER_A6 70
1822 #define DMPAPER_JENV_KAKU2 71
1823 #define DMPAPER_JENV_KAKU3 72
1824 #define DMPAPER_JENV_CHOU3 73
1825 #define DMPAPER_JENV_CHOU4 74
1826 #define DMPAPER_LETTER_ROTATED 75
1827 #define DMPAPER_A3_ROTATED 76
1828 #define DMPAPER_A4_ROTATED 77
1829 #define DMPAPER_A5_ROTATED 78
1830 #define DMPAPER_B4_JIS_ROTATED 79
1831 #define DMPAPER_B5_JIS_ROTATED 80
1832 #define DMPAPER_JAPANESE_POSTCARD_ROTATED 81
1833 #define DMPAPER_DBL_JAPANESE_POSTCARD_ROTATED 82
1834 #define DMPAPER_A6_ROTATED 83
1835 #define DMPAPER_JENV_KAKU2_ROTATED 84
1836 #define DMPAPER_JENV_KAKU3_ROTATED 85
1837 #define DMPAPER_JENV_CHOU3_ROTATED 86
1838 #define DMPAPER_JENV_CHOU4_ROTATED 87
1839 #define DMPAPER_B6_JIS 88
1840 #define DMPAPER_B6_JIS_ROTATED 89
1841 #define DMPAPER_12X11 90
1842 #define DMPAPER_JENV_YOU4 91
1843 #define DMPAPER_JENV_YOU4_ROTATED 92
1844 #define DMPAPER_P16K 93
1845 #define DMPAPER_P32K 94
1846 #define DMPAPER_P32KBIG 95
1847 #define DMPAPER_PENV_1 96
1848 #define DMPAPER_PENV_2 97
1849 #define DMPAPER_PENV_3 98
1850 #define DMPAPER_PENV_4 99
1851 #define DMPAPER_PENV_5 100
1852 #define DMPAPER_PENV_6 101
1853 #define DMPAPER_PENV_7 102
1854 #define DMPAPER_PENV_8 103
1855 #define DMPAPER_PENV_9 104
1856 #define DMPAPER_PENV_10 105
1857 #define DMPAPER_P16K_ROTATED 106
1858 #define DMPAPER_P32K_ROTATED 107
1859 #define DMPAPER_P32KBIG_ROTATED 108
1860 #define DMPAPER_PENV_1_ROTATED 109
1861 #define DMPAPER_PENV_2_ROTATED 110
1862 #define DMPAPER_PENV_3_ROTATED 111
1863 #define DMPAPER_PENV_4_ROTATED 112
1864 #define DMPAPER_PENV_5_ROTATED 113
1865 #define DMPAPER_PENV_6_ROTATED 114
1866 #define DMPAPER_PENV_7_ROTATED 115
1867 #define DMPAPER_PENV_8_ROTATED 116
1868 #define DMPAPER_PENV_9_ROTATED 117
1869 #define DMPAPER_PENV_10_ROTATED 118
1871 #define DMPAPER_LAST DMPAPER_PENV_10_ROTATED
1873 #define DMPAPER_USER 256
1875 #define DMBIN_FIRST DMBIN_UPPER
1876 #define DMBIN_UPPER 1
1877 #define DMBIN_ONLYONE 1
1878 #define DMBIN_LOWER 2
1879 #define DMBIN_MIDDLE 3
1880 #define DMBIN_MANUAL 4
1881 #define DMBIN_ENVELOPE 5
1882 #define DMBIN_ENVMANUAL 6
1883 #define DMBIN_AUTO 7
1884 #define DMBIN_TRACTOR 8
1885 #define DMBIN_SMALLFMT 9
1886 #define DMBIN_LARGEFMT 10
1887 #define DMBIN_LARGECAPACITY 11
1888 #define DMBIN_CASSETTE 14
1889 #define DMBIN_FORMSOURCE 15
1890 #define DMBIN_LAST DMBIN_FORMSOURCE
1892 #define DMBIN_USER 256
1894 #define DMRES_DRAFT (-1)
1895 #define DMRES_LOW (-2)
1896 #define DMRES_MEDIUM (-3)
1897 #define DMRES_HIGH (-4)
1899 #define DMCOLOR_MONOCHROME 1
1900 #define DMCOLOR_COLOR 2
1902 #define DMDUP_SIMPLEX 1
1903 #define DMDUP_VERTICAL 2
1904 #define DMDUP_HORIZONTAL 3
1906 #define DMTT_BITMAP 1
1907 #define DMTT_DOWNLOAD 2
1908 #define DMTT_SUBDEV 3
1909 #define DMTT_DOWNLOAD_OUTLINE 4
1911 #define DMCOLLATE_FALSE 0
1912 #define DMCOLLATE_TRUE 1
1914 #define DMDO_DEFAULT 0
1919 #define DMDFO_DEFAULT 0
1920 #define DMDFO_STRETCH 1
1921 #define DMDFO_CENTER 2
1923 #define DMDISPLAYFLAGS_TEXTMODE 0x00000004
1925 #define DMNUP_SYSTEM 1
1926 #define DMNUP_ONEUP 2
1928 #define DMICMMETHOD_NONE 1
1929 #define DMICMMETHOD_SYSTEM 2
1930 #define DMICMMETHOD_DRIVER 3
1931 #define DMICMMETHOD_DEVICE 4
1933 #define DMICMMETHOD_USER 256
1935 #define DMICM_SATURATE 1
1936 #define DMICM_CONTRAST 2
1937 #define DMICM_COLORIMETRIC 3
1938 #define DMICM_ABS_COLORIMETRIC 4
1940 #define DMICM_USER 256
1942 #define DMMEDIA_STANDARD 1
1943 #define DMMEDIA_TRANSPARENCY 2
1944 #define DMMEDIA_GLOSSY 3
1946 #define DMMEDIA_USER 256
1948 #define DMDITHER_NONE 1
1949 #define DMDITHER_COARSE 2
1950 #define DMDITHER_FINE 3
1951 #define DMDITHER_LINEART 4
1952 #define DMDITHER_ERRORDIFFUSION 5
1953 #define DMDITHER_RESERVED6 6
1954 #define DMDITHER_RESERVED7 7
1955 #define DMDITHER_RESERVED8 8
1956 #define DMDITHER_RESERVED9 9
1957 #define DMDITHER_GRAYSCALE 10
1959 #define DMDITHER_USER 256
1961 typedef struct _DISPLAY_DEVICEA
{
1963 CHAR DeviceName
[32];
1964 CHAR DeviceString
[128];
1967 CHAR DeviceKey
[128];
1968 } DISPLAY_DEVICEA
,*PDISPLAY_DEVICEA
,*LPDISPLAY_DEVICEA
;
1969 typedef struct _DISPLAY_DEVICEW
{
1971 WCHAR DeviceName
[32];
1972 WCHAR DeviceString
[128];
1974 WCHAR DeviceID
[128];
1975 WCHAR DeviceKey
[128];
1976 } DISPLAY_DEVICEW
,*PDISPLAY_DEVICEW
,*LPDISPLAY_DEVICEW
;
1978 typedef DISPLAY_DEVICEW DISPLAY_DEVICE
;
1979 typedef PDISPLAY_DEVICEW PDISPLAY_DEVICE
;
1980 typedef LPDISPLAY_DEVICEW LPDISPLAY_DEVICE
;
1982 typedef DISPLAY_DEVICEA DISPLAY_DEVICE
;
1983 typedef PDISPLAY_DEVICEA PDISPLAY_DEVICE
;
1984 typedef LPDISPLAY_DEVICEA LPDISPLAY_DEVICE
;
1987 #define DISPLAY_DEVICE_ATTACHED_TO_DESKTOP 0x00000001
1988 #define DISPLAY_DEVICE_MULTI_DRIVER 0x00000002
1989 #define DISPLAY_DEVICE_PRIMARY_DEVICE 0x00000004
1990 #define DISPLAY_DEVICE_MIRRORING_DRIVER 0x00000008
1991 #define DISPLAY_DEVICE_VGA_COMPATIBLE 0x00000010
1992 #define DISPLAY_DEVICE_REMOVABLE 0x00000020
1993 #define DISPLAY_DEVICE_MODESPRUNED 0x08000000
1994 #define DISPLAY_DEVICE_REMOTE 0x04000000
1995 #define DISPLAY_DEVICE_DISCONNECT 0x02000000
1997 #define DISPLAY_DEVICE_ACTIVE 0x00000001
1998 #define DISPLAY_DEVICE_ATTACHED 0x00000002
2000 #define RDH_RECTANGLES 1
2002 typedef struct _RGNDATAHEADER
{
2008 } RGNDATAHEADER
,*PRGNDATAHEADER
;
2010 typedef struct _RGNDATA
{
2013 } RGNDATA
,*PRGNDATA
,*NPRGNDATA
,*LPRGNDATA
;
2017 typedef struct _ABC
{
2021 } ABC
,*PABC
,*NPABC
,*LPABC
;
2023 typedef struct _ABCFLOAT
{
2027 } ABCFLOAT
,*PABCFLOAT
,*NPABCFLOAT
,*LPABCFLOAT
;
2029 #ifndef NOTEXTMETRIC
2031 typedef struct _OUTLINETEXTMETRICA
{
2033 TEXTMETRICA otmTextMetrics
;
2035 PANOSE otmPanoseNumber
;
2036 UINT otmfsSelection
;
2038 int otmsCharSlopeRise
;
2039 int otmsCharSlopeRun
;
2045 UINT otmsCapEmHeight
;
2051 UINT otmusMinimumPPEM
;
2052 POINT otmptSubscriptSize
;
2053 POINT otmptSubscriptOffset
;
2054 POINT otmptSuperscriptSize
;
2055 POINT otmptSuperscriptOffset
;
2056 UINT otmsStrikeoutSize
;
2057 int otmsStrikeoutPosition
;
2058 int otmsUnderscoreSize
;
2059 int otmsUnderscorePosition
;
2060 PSTR otmpFamilyName
;
2064 } OUTLINETEXTMETRICA
,*POUTLINETEXTMETRICA
,*NPOUTLINETEXTMETRICA
,*LPOUTLINETEXTMETRICA
;
2066 typedef struct _OUTLINETEXTMETRICW
{
2068 TEXTMETRICW otmTextMetrics
;
2070 PANOSE otmPanoseNumber
;
2071 UINT otmfsSelection
;
2073 int otmsCharSlopeRise
;
2074 int otmsCharSlopeRun
;
2080 UINT otmsCapEmHeight
;
2086 UINT otmusMinimumPPEM
;
2087 POINT otmptSubscriptSize
;
2088 POINT otmptSubscriptOffset
;
2089 POINT otmptSuperscriptSize
;
2090 POINT otmptSuperscriptOffset
;
2091 UINT otmsStrikeoutSize
;
2092 int otmsStrikeoutPosition
;
2093 int otmsUnderscoreSize
;
2094 int otmsUnderscorePosition
;
2095 PSTR otmpFamilyName
;
2099 } OUTLINETEXTMETRICW
,*POUTLINETEXTMETRICW
,*NPOUTLINETEXTMETRICW
,*LPOUTLINETEXTMETRICW
;
2101 typedef OUTLINETEXTMETRICW OUTLINETEXTMETRIC
;
2102 typedef POUTLINETEXTMETRICW POUTLINETEXTMETRIC
;
2103 typedef NPOUTLINETEXTMETRICW NPOUTLINETEXTMETRIC
;
2104 typedef LPOUTLINETEXTMETRICW LPOUTLINETEXTMETRIC
;
2106 typedef OUTLINETEXTMETRICA OUTLINETEXTMETRIC
;
2107 typedef POUTLINETEXTMETRICA POUTLINETEXTMETRIC
;
2108 typedef NPOUTLINETEXTMETRICA NPOUTLINETEXTMETRIC
;
2109 typedef LPOUTLINETEXTMETRICA LPOUTLINETEXTMETRIC
;
2113 typedef struct tagPOLYTEXTA
{
2121 } POLYTEXTA
,*PPOLYTEXTA
,*NPPOLYTEXTA
,*LPPOLYTEXTA
;
2123 typedef struct tagPOLYTEXTW
{
2131 } POLYTEXTW
,*PPOLYTEXTW
,*NPPOLYTEXTW
,*LPPOLYTEXTW
;
2133 typedef POLYTEXTW POLYTEXT
;
2134 typedef PPOLYTEXTW PPOLYTEXT
;
2135 typedef NPPOLYTEXTW NPPOLYTEXT
;
2136 typedef LPPOLYTEXTW LPPOLYTEXT
;
2138 typedef POLYTEXTA POLYTEXT
;
2139 typedef PPOLYTEXTA PPOLYTEXT
;
2140 typedef NPPOLYTEXTA NPPOLYTEXT
;
2141 typedef LPPOLYTEXTA LPPOLYTEXT
;
2144 typedef struct _FIXED
{
2149 typedef struct _MAT2
{
2156 typedef struct _GLYPHMETRICS
{
2159 POINT gmptGlyphOrigin
;
2162 } GLYPHMETRICS
,*LPGLYPHMETRICS
;
2164 #define GGO_METRICS 0
2165 #define GGO_BITMAP 1
2166 #define GGO_NATIVE 2
2167 #define GGO_BEZIER 3
2169 #define GGO_GRAY2_BITMAP 4
2170 #define GGO_GRAY4_BITMAP 5
2171 #define GGO_GRAY8_BITMAP 6
2172 #define GGO_GLYPH_INDEX 0x0080
2173 #define GGO_UNHINTED 0x0100
2175 #define TT_POLYGON_TYPE 24
2177 #define TT_PRIM_LINE 1
2178 #define TT_PRIM_QSPLINE 2
2179 #define TT_PRIM_CSPLINE 3
2181 typedef struct tagPOINTFX
{
2184 } POINTFX
,*LPPOINTFX
;
2186 typedef struct tagTTPOLYCURVE
{
2190 } TTPOLYCURVE
,*LPTTPOLYCURVE
;
2192 typedef struct tagTTPOLYGONHEADER
{
2196 } TTPOLYGONHEADER
,*LPTTPOLYGONHEADER
;
2198 #define GCP_DBCS 0x0001
2199 #define GCP_REORDER 0x0002
2200 #define GCP_USEKERNING 0x0008
2201 #define GCP_GLYPHSHAPE 0x0010
2202 #define GCP_LIGATE 0x0020
2204 #define GCP_DIACRITIC 0x0100
2205 #define GCP_KASHIDA 0x0400
2206 #define GCP_ERROR 0x8000
2207 #define FLI_MASK 0x103B
2209 #define GCP_JUSTIFY 0x00010000L
2211 #define FLI_GLYPHS 0x00040000L
2212 #define GCP_CLASSIN 0x00080000L
2213 #define GCP_MAXEXTENT 0x00100000L
2214 #define GCP_JUSTIFYIN 0x00200000L
2215 #define GCP_DISPLAYZWG 0x00400000L
2216 #define GCP_SYMSWAPOFF 0x00800000L
2217 #define GCP_NUMERICOVERRIDE 0x01000000L
2218 #define GCP_NEUTRALOVERRIDE 0x02000000L
2219 #define GCP_NUMERICSLATIN 0x04000000L
2220 #define GCP_NUMERICSLOCAL 0x08000000L
2222 #define GCPCLASS_LATIN 1
2223 #define GCPCLASS_HEBREW 2
2224 #define GCPCLASS_ARABIC 2
2225 #define GCPCLASS_NEUTRAL 3
2226 #define GCPCLASS_LOCALNUMBER 4
2227 #define GCPCLASS_LATINNUMBER 5
2228 #define GCPCLASS_LATINNUMERICTERMINATOR 6
2229 #define GCPCLASS_LATINNUMERICSEPARATOR 7
2230 #define GCPCLASS_NUMERICSEPARATOR 8
2231 #define GCPCLASS_PREBOUNDLTR 0x80
2232 #define GCPCLASS_PREBOUNDRTL 0x40
2233 #define GCPCLASS_POSTBOUNDLTR 0x20
2234 #define GCPCLASS_POSTBOUNDRTL 0x10
2236 #define GCPGLYPH_LINKBEFORE 0x8000
2237 #define GCPGLYPH_LINKAFTER 0x4000
2239 typedef struct tagGCP_RESULTSA
{
2249 } GCP_RESULTSA
,*LPGCP_RESULTSA
;
2250 typedef struct tagGCP_RESULTSW
{
2260 } GCP_RESULTSW
,*LPGCP_RESULTSW
;
2262 typedef GCP_RESULTSW GCP_RESULTS
;
2263 typedef LPGCP_RESULTSW LPGCP_RESULTS
;
2265 typedef GCP_RESULTSA GCP_RESULTS
;
2266 typedef LPGCP_RESULTSA LPGCP_RESULTS
;
2269 typedef struct _RASTERIZER_STATUS
{
2273 } RASTERIZER_STATUS
,*LPRASTERIZER_STATUS
;
2275 #define TT_AVAILABLE 0x0001
2276 #define TT_ENABLED 0x0002
2278 typedef struct tagPIXELFORMATDESCRIPTOR
{
2294 BYTE cAccumGreenBits
;
2295 BYTE cAccumBlueBits
;
2296 BYTE cAccumAlphaBits
;
2303 DWORD dwVisibleMask
;
2305 } PIXELFORMATDESCRIPTOR
,*PPIXELFORMATDESCRIPTOR
,*LPPIXELFORMATDESCRIPTOR
;
2307 #define PFD_TYPE_RGBA 0
2308 #define PFD_TYPE_COLORINDEX 1
2310 #define PFD_MAIN_PLANE 0
2311 #define PFD_OVERLAY_PLANE 1
2312 #define PFD_UNDERLAY_PLANE (-1)
2314 #define PFD_DOUBLEBUFFER 0x00000001
2315 #define PFD_STEREO 0x00000002
2316 #define PFD_DRAW_TO_WINDOW 0x00000004
2317 #define PFD_DRAW_TO_BITMAP 0x00000008
2318 #define PFD_SUPPORT_GDI 0x00000010
2319 #define PFD_SUPPORT_OPENGL 0x00000020
2320 #define PFD_GENERIC_FORMAT 0x00000040
2321 #define PFD_NEED_PALETTE 0x00000080
2322 #define PFD_NEED_SYSTEM_PALETTE 0x00000100
2323 #define PFD_SWAP_EXCHANGE 0x00000200
2324 #define PFD_SWAP_COPY 0x00000400
2325 #define PFD_SWAP_LAYER_BUFFERS 0x00000800
2326 #define PFD_GENERIC_ACCELERATED 0x00001000
2327 #define PFD_SUPPORT_DIRECTDRAW 0x00002000
2329 #define PFD_DEPTH_DONTCARE 0x20000000
2330 #define PFD_DOUBLEBUFFER_DONTCARE 0x40000000
2331 #define PFD_STEREO_DONTCARE 0x80000000
2333 #ifndef NOTEXTMETRIC
2334 typedef int (CALLBACK
*OLDFONTENUMPROCA
)(CONST LOGFONTA
*,CONST TEXTMETRICA
*,DWORD
,LPARAM
);
2335 typedef int (CALLBACK
*OLDFONTENUMPROCW
)(CONST LOGFONTW
*,CONST TEXTMETRICW
*,DWORD
,LPARAM
);
2337 #define OLDFONTENUMPROC OLDFONTENUMPROCW
2339 #define OLDFONTENUMPROC OLDFONTENUMPROCA
2342 typedef int (CALLBACK
*OLDFONTENUMPROCA
)(CONST LOGFONTA
*,CONST VOID
*,DWORD
,LPARAM
);
2343 typedef int (CALLBACK
*OLDFONTENUMPROCW
)(CONST LOGFONTW
*,CONST VOID
*,DWORD
,LPARAM
);
2345 #define OLDFONTENUMPROC OLDFONTENUMPROCW
2347 #define OLDFONTENUMPROC OLDFONTENUMPROCA
2351 typedef OLDFONTENUMPROCA FONTENUMPROCA
;
2352 typedef OLDFONTENUMPROCW FONTENUMPROCW
;
2354 typedef FONTENUMPROCW FONTENUMPROC
;
2356 typedef FONTENUMPROCA FONTENUMPROC
;
2359 typedef int (CALLBACK
*GOBJENUMPROC
)(LPVOID
,LPARAM
);
2360 typedef VOID (CALLBACK
*LINEDDAPROC
)(int,int,LPARAM
);
2363 #define AddFontResource AddFontResourceW
2364 #define CopyMetaFile CopyMetaFileW
2365 #define CreateDC CreateDCW
2366 #define CreateFontIndirect CreateFontIndirectW
2367 #define CreateFont CreateFontW
2368 #define CreateIC CreateICW
2369 #define CreateMetaFile CreateMetaFileW
2370 #define CreateScalableFontResource CreateScalableFontResourceW
2372 #define AddFontResource AddFontResourceA
2373 #define CopyMetaFile CopyMetaFileA
2374 #define CreateDC CreateDCA
2375 #define CreateFontIndirect CreateFontIndirectA
2376 #define CreateFont CreateFontA
2377 #define CreateIC CreateICA
2378 #define CreateMetaFile CreateMetaFileA
2379 #define CreateScalableFontResource CreateScalableFontResourceA
2382 WINGDIAPI
int WINAPI
AddFontResourceA(LPCSTR
);
2383 WINGDIAPI
int WINAPI
AddFontResourceW(LPCWSTR
);
2384 WINGDIAPI WINBOOL WINAPI
AnimatePalette(HPALETTE hPal
,UINT iStartIndex
,UINT cEntries
,CONST PALETTEENTRY
*ppe
);
2385 WINGDIAPI WINBOOL WINAPI
Arc(HDC hdc
,int x1
,int y1
,int x2
,int y2
,int x3
,int y3
,int x4
,int y4
);
2386 WINGDIAPI WINBOOL WINAPI
BitBlt(HDC hdc
,int x
,int y
,int cx
,int cy
,HDC hdcSrc
,int x1
,int y1
,DWORD rop
);
2387 WINGDIAPI WINBOOL WINAPI
CancelDC(HDC hdc
);
2388 WINGDIAPI WINBOOL WINAPI
Chord(HDC hdc
,int x1
,int y1
,int x2
,int y2
,int x3
,int y3
,int x4
,int y4
);
2389 WINGDIAPI
int WINAPI
ChoosePixelFormat(HDC hdc
,CONST PIXELFORMATDESCRIPTOR
*ppfd
);
2390 WINGDIAPI HMETAFILE WINAPI
CloseMetaFile(HDC hdc
);
2391 WINGDIAPI
int WINAPI
CombineRgn(HRGN hrgnDst
,HRGN hrgnSrc1
,HRGN hrgnSrc2
,int iMode
);
2392 WINGDIAPI HMETAFILE WINAPI
CopyMetaFileA(HMETAFILE
,LPCSTR
);
2393 WINGDIAPI HMETAFILE WINAPI
CopyMetaFileW(HMETAFILE
,LPCWSTR
);
2394 WINGDIAPI HBITMAP WINAPI
CreateBitmap(int nWidth
,int nHeight
,UINT nPlanes
,UINT nBitCount
,CONST VOID
*lpBits
);
2395 WINGDIAPI HBITMAP WINAPI
CreateBitmapIndirect(CONST BITMAP
*pbm
);
2396 WINGDIAPI HBRUSH WINAPI
CreateBrushIndirect(CONST LOGBRUSH
*plbrush
);
2397 WINGDIAPI HBITMAP WINAPI
CreateCompatibleBitmap(HDC hdc
,int cx
,int cy
);
2398 WINGDIAPI HBITMAP WINAPI
CreateDiscardableBitmap(HDC hdc
,int cx
,int cy
);
2399 WINGDIAPI HDC WINAPI
CreateCompatibleDC(HDC hdc
);
2400 WINGDIAPI HDC WINAPI
CreateDCA(LPCSTR pwszDriver
,LPCSTR pwszDevice
,LPCSTR pszPort
,CONST DEVMODEA
*pdm
);
2401 WINGDIAPI HDC WINAPI
CreateDCW(LPCWSTR pwszDriver
,LPCWSTR pwszDevice
,LPCWSTR pszPort
,CONST DEVMODEW
*pdm
);
2402 WINGDIAPI HBITMAP WINAPI
CreateDIBitmap(HDC hdc
,CONST BITMAPINFOHEADER
*pbmih
,DWORD flInit
,CONST VOID
*pjBits
,CONST BITMAPINFO
*pbmi
,UINT iUsage
);
2403 WINGDIAPI HBRUSH WINAPI
CreateDIBPatternBrush(HGLOBAL h
,UINT iUsage
);
2404 WINGDIAPI HBRUSH WINAPI
CreateDIBPatternBrushPt(CONST VOID
*lpPackedDIB
,UINT iUsage
);
2405 WINGDIAPI HRGN WINAPI
CreateEllipticRgn(int x1
,int y1
,int x2
,int y2
);
2406 WINGDIAPI HRGN WINAPI
CreateEllipticRgnIndirect(CONST RECT
*lprect
);
2407 WINGDIAPI HFONT WINAPI
CreateFontIndirectA(CONST LOGFONTA
*lplf
);
2408 WINGDIAPI HFONT WINAPI
CreateFontIndirectW(CONST LOGFONTW
*lplf
);
2409 WINGDIAPI HFONT WINAPI
CreateFontA(int cHeight
,int cWidth
,int cEscapement
,int cOrientation
,int cWeight
,DWORD bItalic
,DWORD bUnderline
,DWORD bStrikeOut
,DWORD iCharSet
,DWORD iOutPrecision
,DWORD iClipPrecision
,DWORD iQuality
,DWORD iPitchAndFamily
,LPCSTR pszFaceName
);
2410 WINGDIAPI HFONT WINAPI
CreateFontW(int cHeight
,int cWidth
,int cEscapement
,int cOrientation
,int cWeight
,DWORD bItalic
,DWORD bUnderline
,DWORD bStrikeOut
,DWORD iCharSet
,DWORD iOutPrecision
,DWORD iClipPrecision
,DWORD iQuality
,DWORD iPitchAndFamily
,LPCWSTR pszFaceName
);
2411 WINGDIAPI HBRUSH WINAPI
CreateHatchBrush(int iHatch
,COLORREF color
);
2412 WINGDIAPI HDC WINAPI
CreateICA(LPCSTR pszDriver
,LPCSTR pszDevice
,LPCSTR pszPort
,CONST DEVMODEA
*pdm
);
2413 WINGDIAPI HDC WINAPI
CreateICW(LPCWSTR pszDriver
,LPCWSTR pszDevice
,LPCWSTR pszPort
,CONST DEVMODEW
*pdm
);
2414 WINGDIAPI HDC WINAPI
CreateMetaFileA(LPCSTR pszFile
);
2415 WINGDIAPI HDC WINAPI
CreateMetaFileW(LPCWSTR pszFile
);
2416 WINGDIAPI HPALETTE WINAPI
CreatePalette(CONST LOGPALETTE
*plpal
);
2417 WINGDIAPI HPEN WINAPI
CreatePen(int iStyle
,int cWidth
,COLORREF color
);
2418 WINGDIAPI HPEN WINAPI
CreatePenIndirect(CONST LOGPEN
*plpen
);
2419 WINGDIAPI HRGN WINAPI
CreatePolyPolygonRgn(CONST POINT
*pptl
,CONST INT
*pc
,int cPoly
,int iMode
);
2420 WINGDIAPI HBRUSH WINAPI
CreatePatternBrush(HBITMAP hbm
);
2421 WINGDIAPI HRGN WINAPI
CreateRectRgn(int x1
,int y1
,int x2
,int y2
);
2422 WINGDIAPI HRGN WINAPI
CreateRectRgnIndirect(CONST RECT
*lprect
);
2423 WINGDIAPI HRGN WINAPI
CreateRoundRectRgn(int x1
,int y1
,int x2
,int y2
,int w
,int h
);
2424 WINGDIAPI WINBOOL WINAPI
CreateScalableFontResourceA(DWORD fdwHidden
,LPCSTR lpszFont
,LPCSTR lpszFile
,LPCSTR lpszPath
);
2425 WINGDIAPI WINBOOL WINAPI
CreateScalableFontResourceW(DWORD fdwHidden
,LPCWSTR lpszFont
,LPCWSTR lpszFile
,LPCWSTR lpszPath
);
2426 WINGDIAPI HBRUSH WINAPI
CreateSolidBrush(COLORREF color
);
2427 WINGDIAPI WINBOOL WINAPI
DeleteDC(HDC hdc
);
2428 WINGDIAPI WINBOOL WINAPI
DeleteMetaFile(HMETAFILE hmf
);
2429 WINGDIAPI WINBOOL WINAPI
DeleteObject(HGDIOBJ ho
);
2430 WINGDIAPI
int WINAPI
DescribePixelFormat(HDC hdc
,int iPixelFormat
,UINT nBytes
,LPPIXELFORMATDESCRIPTOR ppfd
);
2432 typedef UINT (CALLBACK
*LPFNDEVMODE
)(HWND
,HMODULE
,LPDEVMODE
,LPSTR
,LPSTR
,LPDEVMODE
,LPSTR
,UINT
);
2433 typedef DWORD (CALLBACK
*LPFNDEVCAPS
)(LPSTR
,LPSTR
,UINT
,LPSTR
,LPDEVMODE
);
2440 #define DM_IN_BUFFER DM_MODIFY
2441 #define DM_IN_PROMPT DM_PROMPT
2442 #define DM_OUT_BUFFER DM_COPY
2443 #define DM_OUT_DEFAULT DM_UPDATE
2447 #define DC_PAPERSIZE 3
2448 #define DC_MINEXTENT 4
2449 #define DC_MAXEXTENT 5
2454 #define DC_VERSION 10
2455 #define DC_DRIVER 11
2456 #define DC_BINNAMES 12
2457 #define DC_ENUMRESOLUTIONS 13
2458 #define DC_FILEDEPENDENCIES 14
2459 #define DC_TRUETYPE 15
2460 #define DC_PAPERNAMES 16
2461 #define DC_ORIENTATION 17
2462 #define DC_COPIES 18
2463 #define DC_BINADJUST 19
2464 #define DC_EMF_COMPLIANT 20
2465 #define DC_DATATYPE_PRODUCED 21
2466 #define DC_COLLATE 22
2467 #define DC_MANUFACTURER 23
2469 #define DC_PERSONALITY 25
2470 #define DC_PRINTRATE 26
2471 #define DC_PRINTRATEUNIT 27
2472 #define PRINTRATEUNIT_PPM 1
2473 #define PRINTRATEUNIT_CPS 2
2474 #define PRINTRATEUNIT_LPM 3
2475 #define PRINTRATEUNIT_IPM 4
2476 #define DC_PRINTERMEM 28
2477 #define DC_MEDIAREADY 29
2478 #define DC_STAPLE 30
2479 #define DC_PRINTRATEPPM 31
2480 #define DC_COLORDEVICE 32
2482 #define DC_MEDIATYPENAMES 34
2483 #define DC_MEDIATYPES 35
2485 #define DCTT_BITMAP 0x0000001L
2486 #define DCTT_DOWNLOAD 0x0000002L
2487 #define DCTT_SUBDEV 0x0000004L
2488 #define DCTT_DOWNLOAD_OUTLINE 0x0000008L
2490 #define DCBA_FACEUPNONE 0x0000
2491 #define DCBA_FACEUPCENTER 0x0001
2492 #define DCBA_FACEUPLEFT 0x0002
2493 #define DCBA_FACEUPRIGHT 0x0003
2494 #define DCBA_FACEDOWNNONE 0x0100
2495 #define DCBA_FACEDOWNCENTER 0x0101
2496 #define DCBA_FACEDOWNLEFT 0x0102
2497 #define DCBA_FACEDOWNRIGHT 0x0103
2500 #define DeviceCapabilities DeviceCapabilitiesW
2501 #define EnumFontFamiliesEx EnumFontFamiliesExW
2502 #define EnumFontFamilies EnumFontFamiliesW
2503 #define EnumFonts EnumFontsW
2504 #define GetCharWidth GetCharWidthW
2505 #define GetCharWidth32 GetCharWidth32W
2506 #define GetCharWidthFloat GetCharWidthFloatW
2507 #define GetCharABCWidths GetCharABCWidthsW
2508 #define GetCharABCWidthsFloat GetCharABCWidthsFloatW
2509 #define GetGlyphOutline GetGlyphOutlineW
2510 #define GetMetaFile GetMetaFileW
2512 #define DeviceCapabilities DeviceCapabilitiesA
2513 #define EnumFontFamiliesEx EnumFontFamiliesExA
2514 #define EnumFontFamilies EnumFontFamiliesA
2515 #define EnumFonts EnumFontsA
2516 #define GetCharWidth GetCharWidthA
2517 #define GetCharWidth32 GetCharWidth32A
2518 #define GetCharWidthFloat GetCharWidthFloatA
2519 #define GetCharABCWidths GetCharABCWidthsA
2520 #define GetCharABCWidthsFloat GetCharABCWidthsFloatA
2521 #define GetGlyphOutline GetGlyphOutlineA
2522 #define GetMetaFile GetMetaFileA
2525 WINSPOOLAPI
int WINAPI
DeviceCapabilitiesA(LPCSTR pDevice
,LPCSTR pPort
,WORD fwCapability
,LPSTR pOutput
,CONST DEVMODEA
*pDevMode
);
2526 WINSPOOLAPI
int WINAPI
DeviceCapabilitiesW(LPCWSTR pDevice
,LPCWSTR pPort
,WORD fwCapability
,LPWSTR pOutput
,CONST DEVMODEW
*pDevMode
);
2527 WINGDIAPI
int WINAPI
DrawEscape(HDC hdc
,int iEscape
,int cjIn
,LPCSTR lpIn
);
2528 WINGDIAPI WINBOOL WINAPI
Ellipse(HDC hdc
,int left
,int top
,int right
,int bottom
);
2529 WINGDIAPI
int WINAPI
EnumFontFamiliesExA(HDC hdc
,LPLOGFONTA lpLogfont
,FONTENUMPROCA lpProc
,LPARAM lParam
,DWORD dwFlags
);
2530 WINGDIAPI
int WINAPI
EnumFontFamiliesExW(HDC hdc
,LPLOGFONTW lpLogfont
,FONTENUMPROCW lpProc
,LPARAM lParam
,DWORD dwFlags
);
2531 WINGDIAPI
int WINAPI
EnumFontFamiliesA(HDC hdc
,LPCSTR lpLogfont
,FONTENUMPROCA lpProc
,LPARAM lParam
);
2532 WINGDIAPI
int WINAPI
EnumFontFamiliesW(HDC hdc
,LPCWSTR lpLogfont
,FONTENUMPROCW lpProc
,LPARAM lParam
);
2533 WINGDIAPI
int WINAPI
EnumFontsA(HDC hdc
,LPCSTR lpLogfont
,FONTENUMPROCA lpProc
,LPARAM lParam
);
2534 WINGDIAPI
int WINAPI
EnumFontsW(HDC hdc
,LPCWSTR lpLogfont
,FONTENUMPROCW lpProc
,LPARAM lParam
);
2535 WINGDIAPI
int WINAPI
EnumObjects(HDC hdc
,int nType
,GOBJENUMPROC lpFunc
,LPARAM lParam
);
2536 WINGDIAPI WINBOOL WINAPI
EqualRgn(HRGN hrgn1
,HRGN hrgn2
);
2537 WINGDIAPI
int WINAPI
Escape(HDC hdc
,int iEscape
,int cjIn
,LPCSTR pvIn
,LPVOID pvOut
);
2538 WINGDIAPI
int WINAPI
ExtEscape(HDC hdc
,int iEscape
,int cjInput
,LPCSTR lpInData
,int cjOutput
,LPSTR lpOutData
);
2539 WINGDIAPI
int WINAPI
ExcludeClipRect(HDC hdc
,int left
,int top
,int right
,int bottom
);
2540 WINGDIAPI HRGN WINAPI
ExtCreateRegion(CONST XFORM
*lpx
,DWORD nCount
,CONST RGNDATA
*lpData
);
2541 WINGDIAPI WINBOOL WINAPI
ExtFloodFill(HDC hdc
,int x
,int y
,COLORREF color
,UINT type
);
2542 WINGDIAPI WINBOOL WINAPI
FillRgn(HDC hdc
,HRGN hrgn
,HBRUSH hbr
);
2543 WINGDIAPI WINBOOL WINAPI
FloodFill(HDC hdc
,int x
,int y
,COLORREF color
);
2544 WINGDIAPI WINBOOL WINAPI
FrameRgn(HDC hdc
,HRGN hrgn
,HBRUSH hbr
,int w
,int h
);
2545 WINGDIAPI
int WINAPI
GetROP2(HDC hdc
);
2546 WINGDIAPI WINBOOL WINAPI
GetAspectRatioFilterEx(HDC hdc
,LPSIZE lpsize
);
2547 WINGDIAPI COLORREF WINAPI
GetBkColor(HDC hdc
);
2548 WINGDIAPI COLORREF WINAPI
GetDCBrushColor(HDC hdc
);
2549 WINGDIAPI COLORREF WINAPI
GetDCPenColor(HDC hdc
);
2550 WINGDIAPI
int WINAPI
GetBkMode(HDC hdc
);
2551 WINGDIAPI LONG WINAPI
GetBitmapBits(HBITMAP hbit
,LONG cb
,LPVOID lpvBits
);
2552 WINGDIAPI WINBOOL WINAPI
GetBitmapDimensionEx(HBITMAP hbit
,LPSIZE lpsize
);
2553 WINGDIAPI UINT WINAPI
GetBoundsRect(HDC hdc
,LPRECT lprect
,UINT flags
);
2554 WINGDIAPI WINBOOL WINAPI
GetBrushOrgEx(HDC hdc
,LPPOINT lppt
);
2555 WINGDIAPI WINBOOL WINAPI
GetCharWidthA(HDC hdc
,UINT iFirst
,UINT iLast
,LPINT lpBuffer
);
2556 WINGDIAPI WINBOOL WINAPI
GetCharWidthW(HDC hdc
,UINT iFirst
,UINT iLast
,LPINT lpBuffer
);
2557 WINGDIAPI WINBOOL WINAPI
GetCharWidth32A(HDC hdc
,UINT iFirst
,UINT iLast
,LPINT lpBuffer
);
2558 WINGDIAPI WINBOOL WINAPI
GetCharWidth32W(HDC hdc
,UINT iFirst
,UINT iLast
,LPINT lpBuffer
);
2559 WINGDIAPI WINBOOL WINAPI
GetCharWidthFloatA(HDC hdc
,UINT iFirst
,UINT iLast
,PFLOAT lpBuffer
);
2560 WINGDIAPI WINBOOL WINAPI
GetCharWidthFloatW(HDC hdc
,UINT iFirst
,UINT iLast
,PFLOAT lpBuffer
);
2561 WINGDIAPI WINBOOL WINAPI
GetCharABCWidthsA(HDC hdc
,UINT wFirst
,UINT wLast
,LPABC lpABC
);
2562 WINGDIAPI WINBOOL WINAPI
GetCharABCWidthsW(HDC hdc
,UINT wFirst
,UINT wLast
,LPABC lpABC
);
2563 WINGDIAPI WINBOOL WINAPI
GetCharABCWidthsFloatA(HDC hdc
,UINT iFirst
,UINT iLast
,LPABCFLOAT lpABC
);
2564 WINGDIAPI WINBOOL WINAPI
GetCharABCWidthsFloatW(HDC hdc
,UINT iFirst
,UINT iLast
,LPABCFLOAT lpABC
);
2565 WINGDIAPI
int WINAPI
GetClipBox(HDC hdc
,LPRECT lprect
);
2566 WINGDIAPI
int WINAPI
GetClipRgn(HDC hdc
,HRGN hrgn
);
2567 WINGDIAPI
int WINAPI
GetMetaRgn(HDC hdc
,HRGN hrgn
);
2568 WINGDIAPI HGDIOBJ WINAPI
GetCurrentObject(HDC hdc
,UINT type
);
2569 WINGDIAPI WINBOOL WINAPI
GetCurrentPositionEx(HDC hdc
,LPPOINT lppt
);
2570 WINGDIAPI
int WINAPI
GetDeviceCaps(HDC hdc
,int index
);
2571 WINGDIAPI
int WINAPI
GetDIBits(HDC hdc
,HBITMAP hbm
,UINT start
,UINT cLines
,LPVOID lpvBits
,LPBITMAPINFO lpbmi
,UINT usage
);
2572 WINGDIAPI DWORD WINAPI
GetFontData (HDC hdc
,DWORD dwTable
,DWORD dwOffset
,PVOID pvBuffer
,DWORD cjBuffer
);
2573 WINGDIAPI DWORD WINAPI
GetGlyphOutlineA(HDC hdc
,UINT uChar
,UINT fuFormat
,LPGLYPHMETRICS lpgm
,DWORD cjBuffer
,LPVOID pvBuffer
,CONST MAT2
*lpmat2
);
2574 WINGDIAPI DWORD WINAPI
GetGlyphOutlineW(HDC hdc
,UINT uChar
,UINT fuFormat
,LPGLYPHMETRICS lpgm
,DWORD cjBuffer
,LPVOID pvBuffer
,CONST MAT2
*lpmat2
);
2575 WINGDIAPI
int WINAPI
GetGraphicsMode(HDC hdc
);
2576 WINGDIAPI
int WINAPI
GetMapMode(HDC hdc
);
2577 WINGDIAPI UINT WINAPI
GetMetaFileBitsEx(HMETAFILE hMF
,UINT cbBuffer
,LPVOID lpData
);
2578 WINGDIAPI HMETAFILE WINAPI
GetMetaFileA(LPCSTR lpName
);
2579 WINGDIAPI HMETAFILE WINAPI
GetMetaFileW(LPCWSTR lpName
);
2580 WINGDIAPI COLORREF WINAPI
GetNearestColor(HDC hdc
,COLORREF color
);
2581 WINGDIAPI UINT WINAPI
GetNearestPaletteIndex(HPALETTE h
,COLORREF color
);
2582 WINGDIAPI DWORD WINAPI
GetObjectType(HGDIOBJ h
);
2584 #ifndef NOTEXTMETRIC
2586 #define GetOutlineTextMetrics GetOutlineTextMetricsW
2588 #define GetOutlineTextMetrics GetOutlineTextMetricsA
2591 WINGDIAPI UINT WINAPI
GetOutlineTextMetricsA(HDC hdc
,UINT cjCopy
,LPOUTLINETEXTMETRICA potm
);
2592 WINGDIAPI UINT WINAPI
GetOutlineTextMetricsW(HDC hdc
,UINT cjCopy
,LPOUTLINETEXTMETRICW potm
);
2596 #define GetTextExtentPoint GetTextExtentPointW
2597 #define GetTextExtentPoint32 GetTextExtentPoint32W
2598 #define GetTextExtentExPoint GetTextExtentExPointW
2599 #define GetCharacterPlacement GetCharacterPlacementW
2601 #define GetTextExtentPoint GetTextExtentPointA
2602 #define GetTextExtentPoint32 GetTextExtentPoint32A
2603 #define GetTextExtentExPoint GetTextExtentExPointA
2604 #define GetCharacterPlacement GetCharacterPlacementA
2607 WINGDIAPI UINT WINAPI
GetPaletteEntries(HPALETTE hpal
,UINT iStart
,UINT cEntries
,LPPALETTEENTRY pPalEntries
);
2608 WINGDIAPI COLORREF WINAPI
GetPixel(HDC hdc
,int x
,int y
);
2609 WINGDIAPI
int WINAPI
GetPixelFormat(HDC hdc
);
2610 WINGDIAPI
int WINAPI
GetPolyFillMode(HDC hdc
);
2611 WINGDIAPI WINBOOL WINAPI
GetRasterizerCaps(LPRASTERIZER_STATUS lpraststat
,UINT cjBytes
);
2612 WINGDIAPI
int WINAPI
GetRandomRgn (HDC hdc
,HRGN hrgn
,INT i
);
2613 WINGDIAPI DWORD WINAPI
GetRegionData(HRGN hrgn
,DWORD nCount
,LPRGNDATA lpRgnData
);
2614 WINGDIAPI
int WINAPI
GetRgnBox(HRGN hrgn
,LPRECT lprc
);
2615 WINGDIAPI HGDIOBJ WINAPI
GetStockObject(int i
);
2616 WINGDIAPI
int WINAPI
GetStretchBltMode(HDC hdc
);
2617 WINGDIAPI UINT WINAPI
GetSystemPaletteEntries(HDC hdc
,UINT iStart
,UINT cEntries
,LPPALETTEENTRY pPalEntries
);
2618 WINGDIAPI UINT WINAPI
GetSystemPaletteUse(HDC hdc
);
2619 WINGDIAPI
int WINAPI
GetTextCharacterExtra(HDC hdc
);
2620 WINGDIAPI UINT WINAPI
GetTextAlign(HDC hdc
);
2621 WINGDIAPI COLORREF WINAPI
GetTextColor(HDC hdc
);
2622 WINGDIAPI WINBOOL WINAPI
GetTextExtentPointA(HDC hdc
,LPCSTR lpString
,int c
,LPSIZE lpsz
);
2623 WINGDIAPI WINBOOL WINAPI
GetTextExtentPointW(HDC hdc
,LPCWSTR lpString
,int c
,LPSIZE lpsz
);
2624 WINGDIAPI WINBOOL WINAPI
GetTextExtentPoint32A(HDC hdc
,LPCSTR lpString
,int c
,LPSIZE psizl
);
2625 WINGDIAPI WINBOOL WINAPI
GetTextExtentPoint32W(HDC hdc
,LPCWSTR lpString
,int c
,LPSIZE psizl
);
2626 WINGDIAPI WINBOOL WINAPI
GetTextExtentExPointA(HDC hdc
,LPCSTR lpszString
,int cchString
,int nMaxExtent
,LPINT lpnFit
,LPINT lpnDx
,LPSIZE lpSize
);
2627 WINGDIAPI WINBOOL WINAPI
GetTextExtentExPointW(HDC hdc
,LPCWSTR lpszString
,int cchString
,int nMaxExtent
,LPINT lpnFit
,LPINT lpnDx
,LPSIZE lpSize
);
2628 WINGDIAPI
int WINAPI
GetTextCharset(HDC hdc
);
2629 WINGDIAPI
int WINAPI
GetTextCharsetInfo(HDC hdc
,LPFONTSIGNATURE lpSig
,DWORD dwFlags
);
2630 WINGDIAPI WINBOOL WINAPI
TranslateCharsetInfo(DWORD
*lpSrc
,LPCHARSETINFO lpCs
,DWORD dwFlags
);
2631 WINGDIAPI DWORD WINAPI
GetFontLanguageInfo(HDC hdc
);
2632 WINGDIAPI DWORD WINAPI
GetCharacterPlacementA(HDC hdc
,LPCSTR lpString
,int nCount
,int nMexExtent
,LPGCP_RESULTSA lpResults
,DWORD dwFlags
);
2633 WINGDIAPI DWORD WINAPI
GetCharacterPlacementW(HDC hdc
,LPCWSTR lpString
,int nCount
,int nMexExtent
,LPGCP_RESULTSW lpResults
,DWORD dwFlags
);
2635 typedef struct tagWCRANGE
{
2638 } WCRANGE
,*PWCRANGE
,*LPWCRANGE
;
2640 typedef struct tagGLYPHSET
{
2643 DWORD cGlyphsSupported
;
2646 } GLYPHSET
,*PGLYPHSET
,*LPGLYPHSET
;
2648 #define GS_8BIT_INDICES 0x00000001
2650 #define GGI_MARK_NONEXISTING_GLYPHS 0X0001
2653 #define GetGlyphIndices GetGlyphIndicesW
2655 #define GetGlyphIndices GetGlyphIndicesA
2658 WINGDIAPI DWORD WINAPI
GetFontUnicodeRanges(HDC hdc
,LPGLYPHSET lpgs
);
2659 WINGDIAPI DWORD WINAPI
GetGlyphIndicesA(HDC hdc
,LPCSTR lpstr
,int c
,LPWORD pgi
,DWORD fl
);
2660 WINGDIAPI DWORD WINAPI
GetGlyphIndicesW(HDC hdc
,LPCWSTR lpstr
,int c
,LPWORD pgi
,DWORD fl
);
2661 WINGDIAPI WINBOOL WINAPI
GetTextExtentPointI(HDC hdc
,LPWORD pgiIn
,int cgi
,LPSIZE psize
);
2662 WINGDIAPI WINBOOL WINAPI
GetTextExtentExPointI (HDC hdc
,LPWORD lpwszString
,int cwchString
,int nMaxExtent
,LPINT lpnFit
,LPINT lpnDx
,LPSIZE lpSize
);
2663 WINGDIAPI WINBOOL WINAPI
GetCharWidthI(HDC hdc
,UINT giFirst
,UINT cgi
,LPWORD pgi
,LPINT piWidths
);
2664 WINGDIAPI WINBOOL WINAPI
GetCharABCWidthsI(HDC hdc
,UINT giFirst
,UINT cgi
,LPWORD pgi
,LPABC pabc
);
2666 #define STAMP_DESIGNVECTOR (0x8000000 + 'd' + ('v' << 8))
2667 #define STAMP_AXESLIST (0x8000000 + 'a' + ('l' << 8))
2668 #define MM_MAX_NUMAXES 16
2670 typedef struct tagDESIGNVECTOR
{
2673 LONG dvValues
[MM_MAX_NUMAXES
];
2674 } DESIGNVECTOR
,*PDESIGNVECTOR
,*LPDESIGNVECTOR
;
2677 #define AddFontResourceEx AddFontResourceExW
2678 #define RemoveFontResourceEx RemoveFontResourceExW
2680 #define AddFontResourceEx AddFontResourceExA
2681 #define RemoveFontResourceEx RemoveFontResourceExA
2684 WINGDIAPI
int WINAPI
AddFontResourceExA(LPCSTR name
,DWORD fl
,PVOID res
);
2685 WINGDIAPI
int WINAPI
AddFontResourceExW(LPCWSTR name
,DWORD fl
,PVOID res
);
2686 WINGDIAPI WINBOOL WINAPI
RemoveFontResourceExA(LPCSTR name
,DWORD fl
,PVOID pdv
);
2687 WINGDIAPI WINBOOL WINAPI
RemoveFontResourceExW(LPCWSTR name
,DWORD fl
,PVOID pdv
);
2688 WINGDIAPI HANDLE WINAPI
AddFontMemResourceEx(PVOID pFileView
,DWORD cjSize
,PVOID pvResrved
,DWORD
*pNumFonts
);
2689 WINGDIAPI WINBOOL WINAPI
RemoveFontMemResourceEx(HANDLE h
);
2691 #define FR_PRIVATE 0x10
2692 #define FR_NOT_ENUM 0x20
2694 #define MM_MAX_AXES_NAMELEN 16
2696 typedef struct tagAXISINFOA
{
2699 BYTE axAxisName
[MM_MAX_AXES_NAMELEN
];
2700 } AXISINFOA
,*PAXISINFOA
,*LPAXISINFOA
;
2702 typedef struct tagAXISINFOW
{
2705 WCHAR axAxisName
[MM_MAX_AXES_NAMELEN
];
2706 } AXISINFOW
,*PAXISINFOW
,*LPAXISINFOW
;
2708 typedef AXISINFOW AXISINFO
;
2709 typedef PAXISINFOW PAXISINFO
;
2710 typedef LPAXISINFOW LPAXISINFO
;
2712 typedef AXISINFOA AXISINFO
;
2713 typedef PAXISINFOA PAXISINFO
;
2714 typedef LPAXISINFOA LPAXISINFO
;
2717 typedef struct tagAXESLISTA
{
2720 AXISINFOA axlAxisInfo
[MM_MAX_NUMAXES
];
2721 } AXESLISTA
,*PAXESLISTA
,*LPAXESLISTA
;
2723 typedef struct tagAXESLISTW
{
2726 AXISINFOW axlAxisInfo
[MM_MAX_NUMAXES
];
2727 } AXESLISTW
,*PAXESLISTW
,*LPAXESLISTW
;
2729 typedef AXESLISTW AXESLIST
;
2730 typedef PAXESLISTW PAXESLIST
;
2731 typedef LPAXESLISTW LPAXESLIST
;
2733 typedef AXESLISTA AXESLIST
;
2734 typedef PAXESLISTA PAXESLIST
;
2735 typedef LPAXESLISTA LPAXESLIST
;
2738 typedef struct tagENUMLOGFONTEXDVA
{
2739 ENUMLOGFONTEXA elfEnumLogfontEx
;
2740 DESIGNVECTOR elfDesignVector
;
2741 } ENUMLOGFONTEXDVA
,*PENUMLOGFONTEXDVA
,*LPENUMLOGFONTEXDVA
;
2743 typedef struct tagENUMLOGFONTEXDVW
{
2744 ENUMLOGFONTEXW elfEnumLogfontEx
;
2745 DESIGNVECTOR elfDesignVector
;
2746 } ENUMLOGFONTEXDVW
,*PENUMLOGFONTEXDVW
,*LPENUMLOGFONTEXDVW
;
2748 typedef ENUMLOGFONTEXDVW ENUMLOGFONTEXDV
;
2749 typedef PENUMLOGFONTEXDVW PENUMLOGFONTEXDV
;
2750 typedef LPENUMLOGFONTEXDVW LPENUMLOGFONTEXDV
;
2752 typedef ENUMLOGFONTEXDVA ENUMLOGFONTEXDV
;
2753 typedef PENUMLOGFONTEXDVA PENUMLOGFONTEXDV
;
2754 typedef LPENUMLOGFONTEXDVA LPENUMLOGFONTEXDV
;
2758 #define CreateFontIndirectEx CreateFontIndirectExW
2760 #define CreateFontIndirectEx CreateFontIndirectExA
2763 WINGDIAPI HFONT WINAPI
CreateFontIndirectExA(CONST ENUMLOGFONTEXDVA
*);
2764 WINGDIAPI HFONT WINAPI
CreateFontIndirectExW(CONST ENUMLOGFONTEXDVW
*);
2766 #ifndef NOTEXTMETRIC
2767 typedef struct tagENUMTEXTMETRICA
{
2768 NEWTEXTMETRICEXA etmNewTextMetricEx
;
2769 AXESLISTA etmAxesList
;
2770 } ENUMTEXTMETRICA
,*PENUMTEXTMETRICA
,*LPENUMTEXTMETRICA
;
2771 typedef struct tagENUMTEXTMETRICW
2773 NEWTEXTMETRICEXW etmNewTextMetricEx
;
2774 AXESLISTW etmAxesList
;
2775 } ENUMTEXTMETRICW
,*PENUMTEXTMETRICW
,*LPENUMTEXTMETRICW
;
2777 typedef ENUMTEXTMETRICW ENUMTEXTMETRIC
;
2778 typedef PENUMTEXTMETRICW PENUMTEXTMETRIC
;
2779 typedef LPENUMTEXTMETRICW LPENUMTEXTMETRIC
;
2781 typedef ENUMTEXTMETRICA ENUMTEXTMETRIC
;
2782 typedef PENUMTEXTMETRICA PENUMTEXTMETRIC
;
2783 typedef LPENUMTEXTMETRICA LPENUMTEXTMETRIC
;
2788 #define ResetDC ResetDCW
2789 #define RemoveFontResource RemoveFontResourceW
2791 #define ResetDC ResetDCA
2792 #define RemoveFontResource RemoveFontResourceA
2795 WINGDIAPI WINBOOL WINAPI
GetViewportExtEx(HDC hdc
,LPSIZE lpsize
);
2796 WINGDIAPI WINBOOL WINAPI
GetViewportOrgEx(HDC hdc
,LPPOINT lppoint
);
2797 WINGDIAPI WINBOOL WINAPI
GetWindowExtEx(HDC hdc
,LPSIZE lpsize
);
2798 WINGDIAPI WINBOOL WINAPI
GetWindowOrgEx(HDC hdc
,LPPOINT lppoint
);
2799 WINGDIAPI
int WINAPI
IntersectClipRect(HDC hdc
,int left
,int top
,int right
,int bottom
);
2800 WINGDIAPI WINBOOL WINAPI
InvertRgn(HDC hdc
,HRGN hrgn
);
2801 WINGDIAPI WINBOOL WINAPI
LineDDA(int xStart
,int yStart
,int xEnd
,int yEnd
,LINEDDAPROC lpProc
,LPARAM data
);
2802 WINGDIAPI WINBOOL WINAPI
LineTo(HDC hdc
,int x
,int y
);
2803 WINGDIAPI WINBOOL WINAPI
MaskBlt(HDC hdcDest
,int xDest
,int yDest
,int width
,int height
,HDC hdcSrc
,int xSrc
,int ySrc
,HBITMAP hbmMask
,int xMask
,int yMask
,DWORD rop
);
2804 WINGDIAPI WINBOOL WINAPI
PlgBlt(HDC hdcDest
,CONST POINT
*lpPoint
,HDC hdcSrc
,int xSrc
,int ySrc
,int width
,int height
,HBITMAP hbmMask
,int xMask
,int yMask
);
2805 WINGDIAPI
int WINAPI
OffsetClipRgn(HDC hdc
,int x
,int y
);
2806 WINGDIAPI
int WINAPI
OffsetRgn(HRGN hrgn
,int x
,int y
);
2807 WINGDIAPI WINBOOL WINAPI
PatBlt(HDC hdc
,int x
,int y
,int w
,int h
,DWORD rop
);
2808 WINGDIAPI WINBOOL WINAPI
Pie(HDC hdc
,int left
,int top
,int right
,int bottom
,int xr1
,int yr1
,int xr2
,int yr2
);
2809 WINGDIAPI WINBOOL WINAPI
PlayMetaFile(HDC hdc
,HMETAFILE hmf
);
2810 WINGDIAPI WINBOOL WINAPI
PaintRgn(HDC hdc
,HRGN hrgn
);
2811 WINGDIAPI WINBOOL WINAPI
PolyPolygon(HDC hdc
,CONST POINT
*apt
,CONST INT
*asz
,int csz
);
2812 WINGDIAPI WINBOOL WINAPI
PtInRegion(HRGN hrgn
,int x
,int y
);
2813 WINGDIAPI WINBOOL WINAPI
PtVisible(HDC hdc
,int x
,int y
);
2814 WINGDIAPI WINBOOL WINAPI
RectInRegion(HRGN hrgn
,CONST RECT
*lprect
);
2815 WINGDIAPI WINBOOL WINAPI
RectVisible(HDC hdc
,CONST RECT
*lprect
);
2816 WINGDIAPI WINBOOL WINAPI
Rectangle(HDC hdc
,int left
,int top
,int right
,int bottom
);
2817 WINGDIAPI WINBOOL WINAPI
RestoreDC(HDC hdc
,int nSavedDC
);
2818 WINGDIAPI HDC WINAPI
ResetDCA(HDC hdc
,CONST DEVMODEA
*lpdm
);
2819 WINGDIAPI HDC WINAPI
ResetDCW(HDC hdc
,CONST DEVMODEW
*lpdm
);
2820 WINGDIAPI UINT WINAPI
RealizePalette(HDC hdc
);
2821 WINGDIAPI WINBOOL WINAPI
RemoveFontResourceA(LPCSTR lpFileName
);
2822 WINGDIAPI WINBOOL WINAPI
RemoveFontResourceW(LPCWSTR lpFileName
);
2823 WINGDIAPI WINBOOL WINAPI
RoundRect(HDC hdc
,int left
,int top
,int right
,int bottom
,int width
,int height
);
2824 WINGDIAPI WINBOOL WINAPI
ResizePalette(HPALETTE hpal
,UINT n
);
2825 WINGDIAPI
int WINAPI
SaveDC(HDC hdc
);
2826 WINGDIAPI
int WINAPI
SelectClipRgn(HDC hdc
,HRGN hrgn
);
2827 WINGDIAPI
int WINAPI
ExtSelectClipRgn(HDC hdc
,HRGN hrgn
,int mode
);
2828 WINGDIAPI
int WINAPI
SetMetaRgn(HDC hdc
);
2829 WINGDIAPI HGDIOBJ WINAPI
SelectObject(HDC hdc
,HGDIOBJ h
);
2830 WINGDIAPI HPALETTE WINAPI
SelectPalette(HDC hdc
,HPALETTE hPal
,WINBOOL bForceBkgd
);
2831 WINGDIAPI COLORREF WINAPI
SetBkColor(HDC hdc
,COLORREF color
);
2832 WINGDIAPI COLORREF WINAPI
SetDCBrushColor(HDC hdc
,COLORREF color
);
2833 WINGDIAPI COLORREF WINAPI
SetDCPenColor(HDC hdc
,COLORREF color
);
2834 WINGDIAPI
int WINAPI
SetBkMode(HDC hdc
,int mode
);
2835 WINGDIAPI LONG WINAPI
SetBitmapBits(HBITMAP hbm
,DWORD cb
,CONST VOID
*pvBits
);
2836 WINGDIAPI UINT WINAPI
SetBoundsRect(HDC hdc
,CONST RECT
*lprect
,UINT flags
);
2837 WINGDIAPI
int WINAPI
SetDIBits(HDC hdc
,HBITMAP hbm
,UINT start
,UINT cLines
,CONST VOID
*lpBits
,CONST BITMAPINFO
*lpbmi
,UINT ColorUse
);
2838 WINGDIAPI
int WINAPI
SetDIBitsToDevice(HDC hdc
,int xDest
,int yDest
,DWORD w
,DWORD h
,int xSrc
,int ySrc
,UINT StartScan
,UINT cLines
,CONST VOID
*lpvBits
,CONST BITMAPINFO
*lpbmi
,UINT ColorUse
);
2839 WINGDIAPI DWORD WINAPI
SetMapperFlags(HDC hdc
,DWORD flags
);
2840 WINGDIAPI
int WINAPI
SetGraphicsMode(HDC hdc
,int iMode
);
2841 WINGDIAPI
int WINAPI
SetMapMode(HDC hdc
,int iMode
);
2842 WINGDIAPI DWORD WINAPI
SetLayout(HDC hdc
,DWORD l
);
2843 WINGDIAPI DWORD WINAPI
GetLayout(HDC hdc
);
2844 WINGDIAPI HMETAFILE WINAPI
SetMetaFileBitsEx(UINT cbBuffer
,CONST BYTE
*lpData
);
2845 WINGDIAPI UINT WINAPI
SetPaletteEntries(HPALETTE hpal
,UINT iStart
,UINT cEntries
,CONST PALETTEENTRY
*pPalEntries
);
2846 WINGDIAPI COLORREF WINAPI
SetPixel(HDC hdc
,int x
,int y
,COLORREF color
);
2847 WINGDIAPI WINBOOL WINAPI
SetPixelV(HDC hdc
,int x
,int y
,COLORREF color
);
2848 WINGDIAPI WINBOOL WINAPI
SetPixelFormat(HDC hdc
,int format
,CONST PIXELFORMATDESCRIPTOR
*ppfd
);
2849 WINGDIAPI
int WINAPI
SetPolyFillMode(HDC hdc
,int mode
);
2850 WINGDIAPI WINBOOL WINAPI
StretchBlt(HDC hdcDest
,int xDest
,int yDest
,int wDest
,int hDest
,HDC hdcSrc
,int xSrc
,int ySrc
,int wSrc
,int hSrc
,DWORD rop
);
2851 WINGDIAPI WINBOOL WINAPI
SetRectRgn(HRGN hrgn
,int left
,int top
,int right
,int bottom
);
2852 WINGDIAPI
int WINAPI
StretchDIBits(HDC hdc
,int xDest
,int yDest
,int DestWidth
,int DestHeight
,int xSrc
,int ySrc
,int SrcWidth
,int SrcHeight
,CONST VOID
*lpBits
,CONST BITMAPINFO
*lpbmi
,UINT iUsage
,DWORD rop
);
2853 WINGDIAPI
int WINAPI
SetROP2(HDC hdc
,int rop2
);
2854 WINGDIAPI
int WINAPI
SetStretchBltMode(HDC hdc
,int mode
);
2855 WINGDIAPI UINT WINAPI
SetSystemPaletteUse(HDC hdc
,UINT use
);
2856 WINGDIAPI
int WINAPI
SetTextCharacterExtra(HDC hdc
,int extra
);
2857 WINGDIAPI COLORREF WINAPI
SetTextColor(HDC hdc
,COLORREF color
);
2858 WINGDIAPI UINT WINAPI
SetTextAlign(HDC hdc
,UINT align
);
2859 WINGDIAPI WINBOOL WINAPI
SetTextJustification(HDC hdc
,int extra
,int count
);
2860 WINGDIAPI WINBOOL WINAPI
UpdateColors(HDC hdc
);
2862 typedef USHORT COLOR16
;
2864 typedef struct _TRIVERTEX
{
2871 } TRIVERTEX
,*PTRIVERTEX
,*LPTRIVERTEX
;
2873 typedef struct _GRADIENT_TRIANGLE
{
2877 } GRADIENT_TRIANGLE
,*PGRADIENT_TRIANGLE
,*LPGRADIENT_TRIANGLE
;
2879 typedef struct _GRADIENT_RECT
{
2882 } GRADIENT_RECT
,*PGRADIENT_RECT
,*LPGRADIENT_RECT
;
2884 typedef struct _BLENDFUNCTION
{
2887 BYTE SourceConstantAlpha
;
2889 } BLENDFUNCTION
,*PBLENDFUNCTION
;
2891 #define AC_SRC_OVER 0x00
2892 #define AC_SRC_ALPHA 0x01
2894 WINGDIAPI WINBOOL WINAPI
AlphaBlend(HDC hdcDest
,int xoriginDest
,int yoriginDest
,int wDest
,int hDest
,HDC hdcSrc
,int xoriginSrc
,int yoriginSrc
,int wSrc
,int hSrc
,BLENDFUNCTION ftn
);
2895 WINGDIAPI WINBOOL WINAPI
TransparentBlt(HDC hdcDest
,int xoriginDest
,int yoriginDest
,int wDest
,int hDest
,HDC hdcSrc
,int xoriginSrc
,int yoriginSrc
,int wSrc
,int hSrc
,UINT crTransparent
);
2897 #define GRADIENT_FILL_RECT_H 0x00000000
2898 #define GRADIENT_FILL_RECT_V 0x00000001
2899 #define GRADIENT_FILL_TRIANGLE 0x00000002
2900 #define GRADIENT_FILL_OP_FLAG 0x000000ff
2902 WINGDIAPI WINBOOL WINAPI
GradientFill(HDC hdc
,PTRIVERTEX pVertex
,ULONG nVertex
,PVOID pMesh
,ULONG nMesh
,ULONG ulMode
);
2907 #define CopyEnhMetaFile CopyEnhMetaFileW
2908 #define CreateEnhMetaFile CreateEnhMetaFileW
2909 #define GetEnhMetaFile GetEnhMetaFileW
2910 #define GetEnhMetaFileDescription GetEnhMetaFileDescriptionW
2912 #define CopyEnhMetaFile CopyEnhMetaFileA
2913 #define CreateEnhMetaFile CreateEnhMetaFileA
2914 #define GetEnhMetaFile GetEnhMetaFileA
2915 #define GetEnhMetaFileDescription GetEnhMetaFileDescriptionA
2918 WINGDIAPI WINBOOL WINAPI
PlayMetaFileRecord(HDC hdc
,LPHANDLETABLE lpHandleTable
,LPMETARECORD lpMR
,UINT noObjs
);
2920 typedef int (CALLBACK
*MFENUMPROC
)(HDC hdc
,HANDLETABLE
*lpht
,METARECORD
*lpMR
,int nObj
,LPARAM param
);
2922 WINGDIAPI WINBOOL WINAPI
EnumMetaFile(HDC hdc
,HMETAFILE hmf
,MFENUMPROC proc
,LPARAM param
);
2924 typedef int (CALLBACK
*ENHMFENUMPROC
)(HDC hdc
,HANDLETABLE
*lpht
,CONST ENHMETARECORD
*lpmr
,int hHandles
,LPARAM data
);
2926 WINGDIAPI HENHMETAFILE WINAPI
CloseEnhMetaFile(HDC hdc
);
2927 WINGDIAPI HENHMETAFILE WINAPI
CopyEnhMetaFileA(HENHMETAFILE hEnh
,LPCSTR lpFileName
);
2928 WINGDIAPI HENHMETAFILE WINAPI
CopyEnhMetaFileW(HENHMETAFILE hEnh
,LPCWSTR lpFileName
);
2929 WINGDIAPI HDC WINAPI
CreateEnhMetaFileA(HDC hdc
,LPCSTR lpFilename
,CONST RECT
*lprc
,LPCSTR lpDesc
);
2930 WINGDIAPI HDC WINAPI
CreateEnhMetaFileW(HDC hdc
,LPCWSTR lpFilename
,CONST RECT
*lprc
,LPCWSTR lpDesc
);
2931 WINGDIAPI WINBOOL WINAPI
DeleteEnhMetaFile(HENHMETAFILE hmf
);
2932 WINGDIAPI WINBOOL WINAPI
EnumEnhMetaFile(HDC hdc
,HENHMETAFILE hmf
,ENHMFENUMPROC proc
,LPVOID param
,CONST RECT
*lpRect
);
2933 WINGDIAPI HENHMETAFILE WINAPI
GetEnhMetaFileA(LPCSTR lpName
);
2934 WINGDIAPI HENHMETAFILE WINAPI
GetEnhMetaFileW(LPCWSTR lpName
);
2935 WINGDIAPI UINT WINAPI
GetEnhMetaFileBits(HENHMETAFILE hEMF
,UINT nSize
,LPBYTE lpData
);
2936 WINGDIAPI UINT WINAPI
GetEnhMetaFileDescriptionA(HENHMETAFILE hemf
,UINT cchBuffer
,LPSTR lpDescription
);
2937 WINGDIAPI UINT WINAPI
GetEnhMetaFileDescriptionW(HENHMETAFILE hemf
,UINT cchBuffer
,LPWSTR lpDescription
);
2938 WINGDIAPI UINT WINAPI
GetEnhMetaFileHeader(HENHMETAFILE hemf
,UINT nSize
,LPENHMETAHEADER lpEnhMetaHeader
);
2939 WINGDIAPI UINT WINAPI
GetEnhMetaFilePaletteEntries(HENHMETAFILE hemf
,UINT nNumEntries
,LPPALETTEENTRY lpPaletteEntries
);
2940 WINGDIAPI UINT WINAPI
GetEnhMetaFilePixelFormat(HENHMETAFILE hemf
,UINT cbBuffer
,PIXELFORMATDESCRIPTOR
*ppfd
);
2941 WINGDIAPI UINT WINAPI
GetWinMetaFileBits(HENHMETAFILE hemf
,UINT cbData16
,LPBYTE pData16
,INT iMapMode
,HDC hdcRef
);
2942 WINGDIAPI WINBOOL WINAPI
PlayEnhMetaFile(HDC hdc
,HENHMETAFILE hmf
,CONST RECT
*lprect
);
2943 WINGDIAPI WINBOOL WINAPI
PlayEnhMetaFileRecord(HDC hdc
,LPHANDLETABLE pht
,CONST ENHMETARECORD
*pmr
,UINT cht
);
2944 WINGDIAPI HENHMETAFILE WINAPI
SetEnhMetaFileBits(UINT nSize
,CONST BYTE
*pb
);
2945 WINGDIAPI HENHMETAFILE WINAPI
SetWinMetaFileBits(UINT nSize
,CONST BYTE
*lpMeta16Data
,HDC hdcRef
,CONST METAFILEPICT
*lpMFP
);
2946 WINGDIAPI WINBOOL WINAPI
GdiComment(HDC hdc
,UINT nSize
,CONST BYTE
*lpData
);
2949 #ifndef NOTEXTMETRIC
2951 #define GetTextMetrics GetTextMetricsW
2953 #define GetTextMetrics GetTextMetricsA
2956 WINGDIAPI WINBOOL WINAPI
GetTextMetricsA(HDC hdc
,LPTEXTMETRICA lptm
);
2957 WINGDIAPI WINBOOL WINAPI
GetTextMetricsW(HDC hdc
,LPTEXTMETRICW lptm
);
2960 typedef struct tagDIBSECTION
{
2962 BITMAPINFOHEADER dsBmih
;
2963 DWORD dsBitfields
[3];
2966 } DIBSECTION
,*LPDIBSECTION
,*PDIBSECTION
;
2968 WINGDIAPI WINBOOL WINAPI
AngleArc(HDC hdc
,int x
,int y
,DWORD r
,FLOAT StartAngle
,FLOAT SweepAngle
);
2969 WINGDIAPI WINBOOL WINAPI
PolyPolyline(HDC hdc
,CONST POINT
*apt
,CONST DWORD
*asz
,DWORD csz
);
2970 WINGDIAPI WINBOOL WINAPI
GetWorldTransform(HDC hdc
,LPXFORM lpxf
);
2971 WINGDIAPI WINBOOL WINAPI
SetWorldTransform(HDC hdc
,CONST XFORM
*lpxf
);
2972 WINGDIAPI WINBOOL WINAPI
ModifyWorldTransform(HDC hdc
,CONST XFORM
*lpxf
,DWORD mode
);
2973 WINGDIAPI WINBOOL WINAPI
CombineTransform(LPXFORM lpxfOut
,CONST XFORM
*lpxf1
,CONST XFORM
*lpxf2
);
2974 WINGDIAPI HBITMAP WINAPI
CreateDIBSection(HDC hdc
,CONST BITMAPINFO
*lpbmi
,UINT usage
,VOID
**ppvBits
,HANDLE hSection
,DWORD offset
);
2975 WINGDIAPI UINT WINAPI
GetDIBColorTable(HDC hdc
,UINT iStart
,UINT cEntries
,RGBQUAD
*prgbq
);
2976 WINGDIAPI UINT WINAPI
SetDIBColorTable(HDC hdc
,UINT iStart
,UINT cEntries
,CONST RGBQUAD
*prgbq
);
2978 #define CA_NEGATIVE 0x0001
2979 #define CA_LOG_FILTER 0x0002
2981 #define ILLUMINANT_DEVICE_DEFAULT 0
2982 #define ILLUMINANT_A 1
2983 #define ILLUMINANT_B 2
2984 #define ILLUMINANT_C 3
2985 #define ILLUMINANT_D50 4
2986 #define ILLUMINANT_D55 5
2987 #define ILLUMINANT_D65 6
2988 #define ILLUMINANT_D75 7
2989 #define ILLUMINANT_F2 8
2990 #define ILLUMINANT_MAX_INDEX ILLUMINANT_F2
2992 #define ILLUMINANT_TUNGSTEN ILLUMINANT_A
2993 #define ILLUMINANT_DAYLIGHT ILLUMINANT_C
2994 #define ILLUMINANT_FLUORESCENT ILLUMINANT_F2
2995 #define ILLUMINANT_NTSC ILLUMINANT_C
2997 #define RGB_GAMMA_MIN (WORD)02500
2998 #define RGB_GAMMA_MAX (WORD)65000
3000 #define REFERENCE_WHITE_MIN (WORD)6000
3001 #define REFERENCE_WHITE_MAX (WORD)10000
3002 #define REFERENCE_BLACK_MIN (WORD)0
3003 #define REFERENCE_BLACK_MAX (WORD)4000
3005 #define COLOR_ADJ_MIN (SHORT)-100
3006 #define COLOR_ADJ_MAX (SHORT)100
3008 typedef struct tagCOLORADJUSTMENT
{
3011 WORD caIlluminantIndex
;
3015 WORD caReferenceBlack
;
3016 WORD caReferenceWhite
;
3019 SHORT caColorfulness
;
3020 SHORT caRedGreenTint
;
3021 } COLORADJUSTMENT
,*PCOLORADJUSTMENT
,*LPCOLORADJUSTMENT
;
3023 WINGDIAPI WINBOOL WINAPI
SetColorAdjustment(HDC hdc
,CONST COLORADJUSTMENT
*lpca
);
3024 WINGDIAPI WINBOOL WINAPI
GetColorAdjustment(HDC hdc
,LPCOLORADJUSTMENT lpca
);
3025 WINGDIAPI HPALETTE WINAPI
CreateHalftonePalette(HDC hdc
);
3027 typedef WINBOOL (CALLBACK
*ABORTPROC
)(HDC
,int);
3029 typedef struct _DOCINFOA
{
3033 LPCSTR lpszDatatype
;
3035 } DOCINFOA
,*LPDOCINFOA
;
3037 typedef struct _DOCINFOW
{
3039 LPCWSTR lpszDocName
;
3041 LPCWSTR lpszDatatype
;
3043 } DOCINFOW
,*LPDOCINFOW
;
3046 typedef DOCINFOW DOCINFO
;
3047 typedef LPDOCINFOW LPDOCINFO
;
3049 typedef DOCINFOA DOCINFO
;
3050 typedef LPDOCINFOA LPDOCINFO
;
3053 #define DI_APPBANDING 0x00000001
3054 #define DI_ROPS_READ_DESTINATION 0x00000002
3057 #define StartDoc StartDocW
3058 #define GetObject GetObjectW
3059 #define TextOut TextOutW
3060 #define ExtTextOut ExtTextOutW
3061 #define PolyTextOut PolyTextOutW
3062 #define GetTextFace GetTextFaceW
3064 #define StartDoc StartDocA
3065 #define GetObject GetObjectA
3066 #define TextOut TextOutA
3067 #define ExtTextOut ExtTextOutA
3068 #define PolyTextOut PolyTextOutA
3069 #define GetTextFace GetTextFaceA
3072 WINGDIAPI
int WINAPI
StartDocA(HDC hdc
,CONST DOCINFOA
*lpdi
);
3073 WINGDIAPI
int WINAPI
StartDocW(HDC hdc
,CONST DOCINFOW
*lpdi
);
3074 WINGDIAPI
int WINAPI
EndDoc(HDC hdc
);
3075 WINGDIAPI
int WINAPI
StartPage(HDC hdc
);
3076 WINGDIAPI
int WINAPI
EndPage(HDC hdc
);
3077 WINGDIAPI
int WINAPI
AbortDoc(HDC hdc
);
3078 WINGDIAPI
int WINAPI
SetAbortProc(HDC hdc
,ABORTPROC proc
);
3079 WINGDIAPI WINBOOL WINAPI
AbortPath(HDC hdc
);
3080 WINGDIAPI WINBOOL WINAPI
ArcTo(HDC hdc
,int left
,int top
,int right
,int bottom
,int xr1
,int yr1
,int xr2
,int yr2
);
3081 WINGDIAPI WINBOOL WINAPI
BeginPath(HDC hdc
);
3082 WINGDIAPI WINBOOL WINAPI
CloseFigure(HDC hdc
);
3083 WINGDIAPI WINBOOL WINAPI
EndPath(HDC hdc
);
3084 WINGDIAPI WINBOOL WINAPI
FillPath(HDC hdc
);
3085 WINGDIAPI WINBOOL WINAPI
FlattenPath(HDC hdc
);
3086 WINGDIAPI
int WINAPI
GetPath(HDC hdc
,LPPOINT apt
,LPBYTE aj
,int cpt
);
3087 WINGDIAPI HRGN WINAPI
PathToRegion(HDC hdc
);
3088 WINGDIAPI WINBOOL WINAPI
PolyDraw(HDC hdc
,CONST POINT
*apt
,CONST BYTE
*aj
,int cpt
);
3089 WINGDIAPI WINBOOL WINAPI
SelectClipPath(HDC hdc
,int mode
);
3090 WINGDIAPI
int WINAPI
SetArcDirection(HDC hdc
,int dir
);
3091 WINGDIAPI WINBOOL WINAPI
SetMiterLimit(HDC hdc
,FLOAT limit
,PFLOAT old
);
3092 WINGDIAPI WINBOOL WINAPI
StrokeAndFillPath(HDC hdc
);
3093 WINGDIAPI WINBOOL WINAPI
StrokePath(HDC hdc
);
3094 WINGDIAPI WINBOOL WINAPI
WidenPath(HDC hdc
);
3095 WINGDIAPI HPEN WINAPI
ExtCreatePen(DWORD iPenStyle
,DWORD cWidth
,CONST LOGBRUSH
*plbrush
,DWORD cStyle
,CONST DWORD
*pstyle
);
3096 WINGDIAPI WINBOOL WINAPI
GetMiterLimit(HDC hdc
,PFLOAT plimit
);
3097 WINGDIAPI
int WINAPI
GetArcDirection(HDC hdc
);
3098 WINGDIAPI
int WINAPI
GetObjectA(HANDLE h
,int c
,LPVOID pv
);
3099 WINGDIAPI
int WINAPI
GetObjectW(HANDLE h
,int c
,LPVOID pv
);
3100 WINGDIAPI WINBOOL WINAPI
MoveToEx(HDC hdc
,int x
,int y
,LPPOINT lppt
);
3101 WINGDIAPI WINBOOL WINAPI
TextOutA(HDC hdc
,int x
,int y
,LPCSTR lpString
,int c
);
3102 WINGDIAPI WINBOOL WINAPI
TextOutW(HDC hdc
,int x
,int y
,LPCWSTR lpString
,int c
);
3103 WINGDIAPI WINBOOL WINAPI
ExtTextOutA(HDC hdc
,int x
,int y
,UINT options
,CONST RECT
*lprect
,LPCSTR lpString
,UINT c
,CONST INT
*lpDx
);
3104 WINGDIAPI WINBOOL WINAPI
ExtTextOutW(HDC hdc
,int x
,int y
,UINT options
,CONST RECT
*lprect
,LPCWSTR lpString
,UINT c
,CONST INT
*lpDx
);
3105 WINGDIAPI WINBOOL WINAPI
PolyTextOutA(HDC hdc
,CONST POLYTEXTA
*ppt
,int nstrings
);
3106 WINGDIAPI WINBOOL WINAPI
PolyTextOutW(HDC hdc
,CONST POLYTEXTW
*ppt
,int nstrings
);
3107 WINGDIAPI HRGN WINAPI
CreatePolygonRgn(CONST POINT
*pptl
,int cPoint
,int iMode
);
3108 WINGDIAPI WINBOOL WINAPI
DPtoLP(HDC hdc
,LPPOINT lppt
,int c
);
3109 WINGDIAPI WINBOOL WINAPI
LPtoDP(HDC hdc
,LPPOINT lppt
,int c
);
3110 WINGDIAPI WINBOOL WINAPI
Polygon(HDC hdc
,CONST POINT
*apt
,int cpt
);
3111 WINGDIAPI WINBOOL WINAPI
Polyline(HDC hdc
,CONST POINT
*apt
,int cpt
);
3112 WINGDIAPI WINBOOL WINAPI
PolyBezier(HDC hdc
,CONST POINT
*apt
,DWORD cpt
);
3113 WINGDIAPI WINBOOL WINAPI
PolyBezierTo(HDC hdc
,CONST POINT
*apt
,DWORD cpt
);
3114 WINGDIAPI WINBOOL WINAPI
PolylineTo(HDC hdc
,CONST POINT
*apt
,DWORD cpt
);
3115 WINGDIAPI WINBOOL WINAPI
SetViewportExtEx(HDC hdc
,int x
,int y
,LPSIZE lpsz
);
3116 WINGDIAPI WINBOOL WINAPI
SetViewportOrgEx(HDC hdc
,int x
,int y
,LPPOINT lppt
);
3117 WINGDIAPI WINBOOL WINAPI
SetWindowExtEx(HDC hdc
,int x
,int y
,LPSIZE lpsz
);
3118 WINGDIAPI WINBOOL WINAPI
SetWindowOrgEx(HDC hdc
,int x
,int y
,LPPOINT lppt
);
3119 WINGDIAPI WINBOOL WINAPI
OffsetViewportOrgEx(HDC hdc
,int x
,int y
,LPPOINT lppt
);
3120 WINGDIAPI WINBOOL WINAPI
OffsetWindowOrgEx(HDC hdc
,int x
,int y
,LPPOINT lppt
);
3121 WINGDIAPI WINBOOL WINAPI
ScaleViewportExtEx(HDC hdc
,int xn
,int dx
,int yn
,int yd
,LPSIZE lpsz
);
3122 WINGDIAPI WINBOOL WINAPI
ScaleWindowExtEx(HDC hdc
,int xn
,int xd
,int yn
,int yd
,LPSIZE lpsz
);
3123 WINGDIAPI WINBOOL WINAPI
SetBitmapDimensionEx(HBITMAP hbm
,int w
,int h
,LPSIZE lpsz
);
3124 WINGDIAPI WINBOOL WINAPI
SetBrushOrgEx(HDC hdc
,int x
,int y
,LPPOINT lppt
);
3125 WINGDIAPI
int WINAPI
GetTextFaceA(HDC hdc
,int c
,LPSTR lpName
);
3126 WINGDIAPI
int WINAPI
GetTextFaceW(HDC hdc
,int c
,LPWSTR lpName
);
3128 #define FONTMAPPER_MAX 10
3130 typedef struct tagKERNINGPAIR
{
3134 } KERNINGPAIR
,*LPKERNINGPAIR
;
3137 #define GetKerningPairs GetKerningPairsW
3139 #define GetKerningPairs GetKerningPairsA
3142 WINGDIAPI DWORD WINAPI
GetKerningPairsA(HDC hdc
,DWORD nPairs
,LPKERNINGPAIR lpKernPair
);
3143 WINGDIAPI DWORD WINAPI
GetKerningPairsW(HDC hdc
,DWORD nPairs
,LPKERNINGPAIR lpKernPair
);
3144 WINGDIAPI WINBOOL WINAPI
GetDCOrgEx(HDC hdc
,LPPOINT lppt
);
3145 WINGDIAPI WINBOOL WINAPI
FixBrushOrgEx(HDC hdc
,int x
,int y
,LPPOINT ptl
);
3146 WINGDIAPI WINBOOL WINAPI
UnrealizeObject(HGDIOBJ h
);
3147 WINGDIAPI WINBOOL WINAPI
GdiFlush();
3148 WINGDIAPI DWORD WINAPI
GdiSetBatchLimit(DWORD dw
);
3149 WINGDIAPI DWORD WINAPI
GdiGetBatchLimit();
3154 #define ICM_DONE_OUTSIDEDC 4
3156 typedef int (CALLBACK
*ICMENUMPROCA
)(LPSTR
,LPARAM
);
3157 typedef int (CALLBACK
*ICMENUMPROCW
)(LPWSTR
,LPARAM
);
3160 #define ICMENUMPROC ICMENUMPROCW
3161 #define EnumICMProfiles EnumICMProfilesW
3162 #define UpdateICMRegKey UpdateICMRegKeyW
3163 #define GetLogColorSpace GetLogColorSpaceW
3164 #define CreateColorSpace CreateColorSpaceW
3165 #define GetICMProfile GetICMProfileW
3166 #define SetICMProfile SetICMProfileW
3168 #define ICMENUMPROC ICMENUMPROCA
3169 #define EnumICMProfiles EnumICMProfilesA
3170 #define UpdateICMRegKey UpdateICMRegKeyA
3171 #define GetLogColorSpace GetLogColorSpaceA
3172 #define CreateColorSpace CreateColorSpaceA
3173 #define GetICMProfile GetICMProfileA
3174 #define SetICMProfile SetICMProfileA
3177 WINGDIAPI
int WINAPI
SetICMMode(HDC hdc
,int mode
);
3178 WINGDIAPI WINBOOL WINAPI
CheckColorsInGamut(HDC hdc
,LPVOID lpRGBTriple
,LPVOID dlpBuffer
,DWORD nCount
);
3179 WINGDIAPI HCOLORSPACE WINAPI
GetColorSpace(HDC hdc
);
3180 WINGDIAPI WINBOOL WINAPI
GetLogColorSpaceA(HCOLORSPACE hColorSpace
,LPLOGCOLORSPACEA lpBuffer
,DWORD nSize
);
3181 WINGDIAPI WINBOOL WINAPI
GetLogColorSpaceW(HCOLORSPACE hColorSpace
,LPLOGCOLORSPACEW lpBuffer
,DWORD nSize
);
3182 WINGDIAPI HCOLORSPACE WINAPI
CreateColorSpaceA(LPLOGCOLORSPACEA lplcs
);
3183 WINGDIAPI HCOLORSPACE WINAPI
CreateColorSpaceW(LPLOGCOLORSPACEW lplcs
);
3184 WINGDIAPI HCOLORSPACE WINAPI
SetColorSpace(HDC hdc
,HCOLORSPACE hcs
);
3185 WINGDIAPI WINBOOL WINAPI
DeleteColorSpace(HCOLORSPACE hcs
);
3186 WINGDIAPI WINBOOL WINAPI
GetICMProfileA(HDC hdc
,LPDWORD pBufSize
,LPSTR pszFilename
);
3187 WINGDIAPI WINBOOL WINAPI
GetICMProfileW(HDC hdc
,LPDWORD pBufSize
,LPWSTR pszFilename
);
3188 WINGDIAPI WINBOOL WINAPI
SetICMProfileA(HDC hdc
,LPSTR lpFileName
);
3189 WINGDIAPI WINBOOL WINAPI
SetICMProfileW(HDC hdc
,LPWSTR lpFileName
);
3190 WINGDIAPI WINBOOL WINAPI
GetDeviceGammaRamp(HDC hdc
,LPVOID lpRamp
);
3191 WINGDIAPI WINBOOL WINAPI
SetDeviceGammaRamp(HDC hdc
,LPVOID lpRamp
);
3192 WINGDIAPI WINBOOL WINAPI
ColorMatchToTarget(HDC hdc
,HDC hdcTarget
,DWORD action
);
3193 WINGDIAPI
int WINAPI
EnumICMProfilesA(HDC hdc
,ICMENUMPROCA proc
,LPARAM param
);
3194 WINGDIAPI
int WINAPI
EnumICMProfilesW(HDC hdc
,ICMENUMPROCW proc
,LPARAM param
);
3195 WINGDIAPI WINBOOL WINAPI
UpdateICMRegKeyA(DWORD reserved
,LPSTR lpszCMID
,LPSTR lpszFileName
,UINT command
);
3196 WINGDIAPI WINBOOL WINAPI
UpdateICMRegKeyW(DWORD reserved
,LPWSTR lpszCMID
,LPWSTR lpszFileName
,UINT command
);
3197 WINGDIAPI WINBOOL WINAPI
ColorCorrectPalette(HDC hdc
,HPALETTE hPal
,DWORD deFirst
,DWORD num
);
3201 #define ENHMETA_SIGNATURE 0x464D4520
3202 #define ENHMETA_STOCK_OBJECT 0x80000000
3204 #define EMR_HEADER 1
3205 #define EMR_POLYBEZIER 2
3206 #define EMR_POLYGON 3
3207 #define EMR_POLYLINE 4
3208 #define EMR_POLYBEZIERTO 5
3209 #define EMR_POLYLINETO 6
3210 #define EMR_POLYPOLYLINE 7
3211 #define EMR_POLYPOLYGON 8
3212 #define EMR_SETWINDOWEXTEX 9
3213 #define EMR_SETWINDOWORGEX 10
3214 #define EMR_SETVIEWPORTEXTEX 11
3215 #define EMR_SETVIEWPORTORGEX 12
3216 #define EMR_SETBRUSHORGEX 13
3218 #define EMR_SETPIXELV 15
3219 #define EMR_SETMAPPERFLAGS 16
3220 #define EMR_SETMAPMODE 17
3221 #define EMR_SETBKMODE 18
3222 #define EMR_SETPOLYFILLMODE 19
3223 #define EMR_SETROP2 20
3224 #define EMR_SETSTRETCHBLTMODE 21
3225 #define EMR_SETTEXTALIGN 22
3226 #define EMR_SETCOLORADJUSTMENT 23
3227 #define EMR_SETTEXTCOLOR 24
3228 #define EMR_SETBKCOLOR 25
3229 #define EMR_OFFSETCLIPRGN 26
3230 #define EMR_MOVETOEX 27
3231 #define EMR_SETMETARGN 28
3232 #define EMR_EXCLUDECLIPRECT 29
3233 #define EMR_INTERSECTCLIPRECT 30
3234 #define EMR_SCALEVIEWPORTEXTEX 31
3235 #define EMR_SCALEWINDOWEXTEX 32
3236 #define EMR_SAVEDC 33
3237 #define EMR_RESTOREDC 34
3238 #define EMR_SETWORLDTRANSFORM 35
3239 #define EMR_MODIFYWORLDTRANSFORM 36
3240 #define EMR_SELECTOBJECT 37
3241 #define EMR_CREATEPEN 38
3242 #define EMR_CREATEBRUSHINDIRECT 39
3243 #define EMR_DELETEOBJECT 40
3244 #define EMR_ANGLEARC 41
3245 #define EMR_ELLIPSE 42
3246 #define EMR_RECTANGLE 43
3247 #define EMR_ROUNDRECT 44
3249 #define EMR_CHORD 46
3251 #define EMR_SELECTPALETTE 48
3252 #define EMR_CREATEPALETTE 49
3253 #define EMR_SETPALETTEENTRIES 50
3254 #define EMR_RESIZEPALETTE 51
3255 #define EMR_REALIZEPALETTE 52
3256 #define EMR_EXTFLOODFILL 53
3257 #define EMR_LINETO 54
3258 #define EMR_ARCTO 55
3259 #define EMR_POLYDRAW 56
3260 #define EMR_SETARCDIRECTION 57
3261 #define EMR_SETMITERLIMIT 58
3262 #define EMR_BEGINPATH 59
3263 #define EMR_ENDPATH 60
3264 #define EMR_CLOSEFIGURE 61
3265 #define EMR_FILLPATH 62
3266 #define EMR_STROKEANDFILLPATH 63
3267 #define EMR_STROKEPATH 64
3268 #define EMR_FLATTENPATH 65
3269 #define EMR_WIDENPATH 66
3270 #define EMR_SELECTCLIPPATH 67
3271 #define EMR_ABORTPATH 68
3273 #define EMR_GDICOMMENT 70
3274 #define EMR_FILLRGN 71
3275 #define EMR_FRAMERGN 72
3276 #define EMR_INVERTRGN 73
3277 #define EMR_PAINTRGN 74
3278 #define EMR_EXTSELECTCLIPRGN 75
3279 #define EMR_BITBLT 76
3280 #define EMR_STRETCHBLT 77
3281 #define EMR_MASKBLT 78
3282 #define EMR_PLGBLT 79
3283 #define EMR_SETDIBITSTODEVICE 80
3284 #define EMR_STRETCHDIBITS 81
3285 #define EMR_EXTCREATEFONTINDIRECTW 82
3286 #define EMR_EXTTEXTOUTA 83
3287 #define EMR_EXTTEXTOUTW 84
3288 #define EMR_POLYBEZIER16 85
3289 #define EMR_POLYGON16 86
3290 #define EMR_POLYLINE16 87
3291 #define EMR_POLYBEZIERTO16 88
3292 #define EMR_POLYLINETO16 89
3293 #define EMR_POLYPOLYLINE16 90
3294 #define EMR_POLYPOLYGON16 91
3295 #define EMR_POLYDRAW16 92
3296 #define EMR_CREATEMONOBRUSH 93
3297 #define EMR_CREATEDIBPATTERNBRUSHPT 94
3298 #define EMR_EXTCREATEPEN 95
3299 #define EMR_POLYTEXTOUTA 96
3300 #define EMR_POLYTEXTOUTW 97
3302 #define EMR_SETICMMODE 98
3303 #define EMR_CREATECOLORSPACE 99
3304 #define EMR_SETCOLORSPACE 100
3305 #define EMR_DELETECOLORSPACE 101
3306 #define EMR_GLSRECORD 102
3307 #define EMR_GLSBOUNDEDRECORD 103
3308 #define EMR_PIXELFORMAT 104
3309 #define EMR_RESERVED_105 105
3310 #define EMR_RESERVED_106 106
3311 #define EMR_RESERVED_107 107
3312 #define EMR_RESERVED_108 108
3313 #define EMR_RESERVED_109 109
3314 #define EMR_RESERVED_110 110
3315 #define EMR_COLORCORRECTPALETTE 111
3316 #define EMR_SETICMPROFILEA 112
3317 #define EMR_SETICMPROFILEW 113
3318 #define EMR_ALPHABLEND 114
3319 #define EMR_SETLAYOUT 115
3320 #define EMR_TRANSPARENTBLT 116
3321 #define EMR_RESERVED_117 117
3322 #define EMR_GRADIENTFILL 118
3323 #define EMR_RESERVED_119 119
3324 #define EMR_RESERVED_120 120
3325 #define EMR_COLORMATCHTOTARGETW 121
3326 #define EMR_CREATECOLORSPACEW 122
3332 typedef struct tagEMR
{
3337 typedef struct tagEMRTEXT
{
3338 POINTL ptlReference
;
3344 } EMRTEXT
,*PEMRTEXT
;
3346 typedef struct tagABORTPATH
{
3348 } EMRABORTPATH
,*PEMRABORTPATH
,EMRBEGINPATH
,*PEMRBEGINPATH
,EMRENDPATH
,*PEMRENDPATH
,EMRCLOSEFIGURE
,*PEMRCLOSEFIGURE
,EMRFLATTENPATH
,*PEMRFLATTENPATH
,EMRWIDENPATH
,*PEMRWIDENPATH
,EMRSETMETARGN
,*PEMRSETMETARGN
,EMRSAVEDC
,*PEMRSAVEDC
,EMRREALIZEPALETTE
,*PEMRREALIZEPALETTE
;
3350 typedef struct tagEMRSELECTCLIPPATH
{
3353 } EMRSELECTCLIPPATH
,*PEMRSELECTCLIPPATH
,EMRSETBKMODE
,*PEMRSETBKMODE
,EMRSETMAPMODE
,*PEMRSETMAPMODE
,EMRSETLAYOUT
,*PEMRSETLAYOUT
,
3354 EMRSETPOLYFILLMODE
,*PEMRSETPOLYFILLMODE
,EMRSETROP2
,*PEMRSETROP2
,EMRSETSTRETCHBLTMODE
,*PEMRSETSTRETCHBLTMODE
,EMRSETICMMODE
,
3355 *PEMRSETICMMODE
,EMRSETTEXTALIGN
,*PEMRSETTEXTALIGN
;
3357 typedef struct tagEMRSETMITERLIMIT
{
3360 } EMRSETMITERLIMIT
,*PEMRSETMITERLIMIT
;
3362 typedef struct tagEMRRESTOREDC
{
3365 } EMRRESTOREDC
,*PEMRRESTOREDC
;
3367 typedef struct tagEMRSETARCDIRECTION
{
3369 DWORD iArcDirection
;
3371 } EMRSETARCDIRECTION
,*PEMRSETARCDIRECTION
;
3373 typedef struct tagEMRSETMAPPERFLAGS
{
3376 } EMRSETMAPPERFLAGS
,*PEMRSETMAPPERFLAGS
;
3378 typedef struct tagEMRSETTEXTCOLOR
{
3381 } EMRSETBKCOLOR
,*PEMRSETBKCOLOR
,EMRSETTEXTCOLOR
,*PEMRSETTEXTCOLOR
;
3383 typedef struct tagEMRSELECTOBJECT
{
3386 } EMRSELECTOBJECT
,*PEMRSELECTOBJECT
,EMRDELETEOBJECT
,*PEMRDELETEOBJECT
;
3388 typedef struct tagEMRSELECTPALETTE
{
3391 } EMRSELECTPALETTE
,*PEMRSELECTPALETTE
;
3393 typedef struct tagEMRRESIZEPALETTE
{
3397 } EMRRESIZEPALETTE
,*PEMRRESIZEPALETTE
;
3399 typedef struct tagEMRSETPALETTEENTRIES
{
3404 PALETTEENTRY aPalEntries
[1];
3405 } EMRSETPALETTEENTRIES
,*PEMRSETPALETTEENTRIES
;
3407 typedef struct tagEMRSETCOLORADJUSTMENT
{
3409 COLORADJUSTMENT ColorAdjustment
;
3410 } EMRSETCOLORADJUSTMENT
,*PEMRSETCOLORADJUSTMENT
;
3412 typedef struct tagEMRGDICOMMENT
{
3416 } EMRGDICOMMENT
,*PEMRGDICOMMENT
;
3418 typedef struct tagEMREOF
{
3421 DWORD offPalEntries
;
3425 typedef struct tagEMRLINETO
{
3428 } EMRLINETO
,*PEMRLINETO
,EMRMOVETOEX
,*PEMRMOVETOEX
;
3430 typedef struct tagEMROFFSETCLIPRGN
{
3433 } EMROFFSETCLIPRGN
,*PEMROFFSETCLIPRGN
;
3435 typedef struct tagEMRFILLPATH
{
3438 } EMRFILLPATH
,*PEMRFILLPATH
,EMRSTROKEANDFILLPATH
,*PEMRSTROKEANDFILLPATH
,EMRSTROKEPATH
,*PEMRSTROKEPATH
;
3440 typedef struct tagEMREXCLUDECLIPRECT
{
3443 } EMREXCLUDECLIPRECT
,*PEMREXCLUDECLIPRECT
,EMRINTERSECTCLIPRECT
,*PEMRINTERSECTCLIPRECT
;
3445 typedef struct tagEMRSETVIEWPORTORGEX
{
3448 } EMRSETVIEWPORTORGEX
,*PEMRSETVIEWPORTORGEX
,EMRSETWINDOWORGEX
,*PEMRSETWINDOWORGEX
,EMRSETBRUSHORGEX
,*PEMRSETBRUSHORGEX
;
3450 typedef struct tagEMRSETVIEWPORTEXTEX
{
3453 } EMRSETVIEWPORTEXTEX
,*PEMRSETVIEWPORTEXTEX
,EMRSETWINDOWEXTEX
,*PEMRSETWINDOWEXTEX
;
3455 typedef struct tagEMRSCALEVIEWPORTEXTEX
{
3461 } EMRSCALEVIEWPORTEXTEX
,*PEMRSCALEVIEWPORTEXTEX
,EMRSCALEWINDOWEXTEX
,*PEMRSCALEWINDOWEXTEX
;
3463 typedef struct tagEMRSETWORLDTRANSFORM
{
3466 } EMRSETWORLDTRANSFORM
,*PEMRSETWORLDTRANSFORM
;
3468 typedef struct tagEMRMODIFYWORLDTRANSFORM
{
3472 } EMRMODIFYWORLDTRANSFORM
,*PEMRMODIFYWORLDTRANSFORM
;
3474 typedef struct tagEMRSETPIXELV
{
3478 } EMRSETPIXELV
,*PEMRSETPIXELV
;
3480 typedef struct tagEMREXTFLOODFILL
{
3485 } EMREXTFLOODFILL
,*PEMREXTFLOODFILL
;
3487 typedef struct tagEMRELLIPSE
{
3490 } EMRELLIPSE
,*PEMRELLIPSE
,EMRRECTANGLE
,*PEMRRECTANGLE
;
3492 typedef struct tagEMRROUNDRECT
{
3496 } EMRROUNDRECT
,*PEMRROUNDRECT
;
3498 typedef struct tagEMRARC
{
3503 } EMRARC
,*PEMRARC
,EMRARCTO
,*PEMRARCTO
,EMRCHORD
,*PEMRCHORD
,EMRPIE
,*PEMRPIE
;
3505 typedef struct tagEMRANGLEARC
{
3511 } EMRANGLEARC
,*PEMRANGLEARC
;
3513 typedef struct tagEMRPOLYLINE
{
3518 } EMRPOLYLINE
,*PEMRPOLYLINE
,EMRPOLYBEZIER
,*PEMRPOLYBEZIER
,EMRPOLYGON
,*PEMRPOLYGON
,EMRPOLYBEZIERTO
,*PEMRPOLYBEZIERTO
,EMRPOLYLINETO
,*PEMRPOLYLINETO
;
3520 typedef struct tagEMRPOLYLINE16
{
3525 } EMRPOLYLINE16
,*PEMRPOLYLINE16
,EMRPOLYBEZIER16
,*PEMRPOLYBEZIER16
,EMRPOLYGON16
,*PEMRPOLYGON16
,EMRPOLYBEZIERTO16
,*PEMRPOLYBEZIERTO16
,EMRPOLYLINETO16
,*PEMRPOLYLINETO16
;
3527 typedef struct tagEMRPOLYDRAW
{
3533 } EMRPOLYDRAW
,*PEMRPOLYDRAW
;
3535 typedef struct tagEMRPOLYDRAW16
{
3541 } EMRPOLYDRAW16
,*PEMRPOLYDRAW16
;
3543 typedef struct tagEMRPOLYPOLYLINE
{
3548 DWORD aPolyCounts
[1];
3550 } EMRPOLYPOLYLINE
,*PEMRPOLYPOLYLINE
,EMRPOLYPOLYGON
,*PEMRPOLYPOLYGON
;
3552 typedef struct tagEMRPOLYPOLYLINE16
{
3557 DWORD aPolyCounts
[1];
3559 } EMRPOLYPOLYLINE16
,*PEMRPOLYPOLYLINE16
,EMRPOLYPOLYGON16
,*PEMRPOLYPOLYGON16
;
3561 typedef struct tagEMRINVERTRGN
{
3566 } EMRINVERTRGN
,*PEMRINVERTRGN
,EMRPAINTRGN
,*PEMRPAINTRGN
;
3568 typedef struct tagEMRFILLRGN
{
3574 } EMRFILLRGN
,*PEMRFILLRGN
;
3576 typedef struct tagEMRFRAMERGN
{
3583 } EMRFRAMERGN
,*PEMRFRAMERGN
;
3585 typedef struct tagEMREXTSELECTCLIPRGN
{
3590 } EMREXTSELECTCLIPRGN
,*PEMREXTSELECTCLIPRGN
;
3592 typedef struct tagEMREXTTEXTOUTA
{
3595 DWORD iGraphicsMode
;
3599 } EMREXTTEXTOUTA
,*PEMREXTTEXTOUTA
,EMREXTTEXTOUTW
,*PEMREXTTEXTOUTW
;
3601 typedef struct tagEMRPOLYTEXTOUTA
{
3604 DWORD iGraphicsMode
;
3608 EMRTEXT aemrtext
[1];
3609 } EMRPOLYTEXTOUTA
,*PEMRPOLYTEXTOUTA
,EMRPOLYTEXTOUTW
,*PEMRPOLYTEXTOUTW
;
3611 typedef struct tagEMRBITBLT
{
3622 COLORREF crBkColorSrc
;
3628 } EMRBITBLT
,*PEMRBITBLT
;
3630 typedef struct tagEMRSTRETCHBLT
{
3641 COLORREF crBkColorSrc
;
3649 } EMRSTRETCHBLT
,*PEMRSTRETCHBLT
;
3651 typedef struct tagEMRMASKBLT
{
3662 COLORREF crBkColorSrc
;
3675 } EMRMASKBLT
,*PEMRMASKBLT
;
3677 typedef struct tagEMRPLGBLT
{
3686 COLORREF crBkColorSrc
;
3699 } EMRPLGBLT
,*PEMRPLGBLT
;
3701 typedef struct tagEMRSETDIBITSTODEVICE
{
3717 } EMRSETDIBITSTODEVICE
,*PEMRSETDIBITSTODEVICE
;
3719 typedef struct tagEMRSTRETCHDIBITS
{
3736 } EMRSTRETCHDIBITS
,*PEMRSTRETCHDIBITS
;
3738 typedef struct tagEMREXTCREATEFONTINDIRECTW
{
3742 } EMREXTCREATEFONTINDIRECTW
,*PEMREXTCREATEFONTINDIRECTW
;
3744 typedef struct tagEMRCREATEPALETTE
{
3748 } EMRCREATEPALETTE
,*PEMRCREATEPALETTE
;
3750 typedef struct tagEMRCREATEPEN
{
3754 } EMRCREATEPEN
,*PEMRCREATEPEN
;
3756 typedef struct tagEMREXTCREATEPEN
{
3764 } EMREXTCREATEPEN
,*PEMREXTCREATEPEN
;
3766 typedef struct tagEMRCREATEBRUSHINDIRECT
{
3770 } EMRCREATEBRUSHINDIRECT
,*PEMRCREATEBRUSHINDIRECT
;
3772 typedef struct tagEMRCREATEMONOBRUSH
{
3780 } EMRCREATEMONOBRUSH
,*PEMRCREATEMONOBRUSH
;
3782 typedef struct tagEMRCREATEDIBPATTERNBRUSHPT
{
3790 } EMRCREATEDIBPATTERNBRUSHPT
,*PEMRCREATEDIBPATTERNBRUSHPT
;
3792 typedef struct tagEMRFORMAT
{
3797 } EMRFORMAT
,*PEMRFORMAT
;
3799 typedef struct tagEMRGLSRECORD
{
3803 } EMRGLSRECORD
,*PEMRGLSRECORD
;
3805 typedef struct tagEMRGLSBOUNDEDRECORD
{
3810 } EMRGLSBOUNDEDRECORD
,*PEMRGLSBOUNDEDRECORD
;
3812 typedef struct tagEMRPIXELFORMAT
{
3814 PIXELFORMATDESCRIPTOR pfd
;
3815 } EMRPIXELFORMAT
,*PEMRPIXELFORMAT
;
3817 typedef struct tagEMRCREATECOLORSPACE
{
3821 } EMRCREATECOLORSPACE
,*PEMRCREATECOLORSPACE
;
3823 typedef struct tagEMRSETCOLORSPACE
{
3826 } EMRSETCOLORSPACE
,*PEMRSETCOLORSPACE
,EMRSELECTCOLORSPACE
,*PEMRSELECTCOLORSPACE
,EMRDELETECOLORSPACE
,*PEMRDELETECOLORSPACE
;
3828 typedef struct tagEMREXTESCAPE
{
3833 } EMREXTESCAPE
,*PEMREXTESCAPE
,EMRDRAWESCAPE
,*PEMRDRAWESCAPE
;
3835 typedef struct tagEMRNAMEDESCAPE
{
3841 } EMRNAMEDESCAPE
,*PEMRNAMEDESCAPE
;
3843 #define SETICMPROFILE_EMBEDED 0x00000001
3845 typedef struct tagEMRSETICMPROFILE
{
3851 } EMRSETICMPROFILE
,*PEMRSETICMPROFILE
,EMRSETICMPROFILEA
,*PEMRSETICMPROFILEA
,EMRSETICMPROFILEW
,*PEMRSETICMPROFILEW
;
3853 #define CREATECOLORSPACE_EMBEDED 0x00000001
3855 typedef struct tagEMRCREATECOLORSPACEW
{
3862 } EMRCREATECOLORSPACEW
,*PEMRCREATECOLORSPACEW
;
3864 #define COLORMATCHTOTARGET_EMBEDED 0x00000001
3866 typedef struct tagCOLORMATCHTOTARGET
{
3873 } EMRCOLORMATCHTOTARGET
,*PEMRCOLORMATCHTOTARGET
;
3875 typedef struct tagCOLORCORRECTPALETTE
{
3881 } EMRCOLORCORRECTPALETTE
,*PEMRCOLORCORRECTPALETTE
;
3883 typedef struct tagEMRALPHABLEND
{
3894 COLORREF crBkColorSrc
;
3902 } EMRALPHABLEND
,*PEMRALPHABLEND
;
3904 typedef struct tagEMRGRADIENTFILL
{
3911 } EMRGRADIENTFILL
,*PEMRGRADIENTFILL
;
3913 typedef struct tagEMRTRANSPARENTBLT
{
3924 COLORREF crBkColorSrc
;
3932 } EMRTRANSPARENTBLT
,*PEMRTRANSPARENTBLT
;
3934 #define GDICOMMENT_IDENTIFIER 0x43494447
3935 #define GDICOMMENT_WINDOWS_METAFILE 0x80000001
3936 #define GDICOMMENT_BEGINGROUP 0x00000002
3937 #define GDICOMMENT_ENDGROUP 0x00000003
3938 #define GDICOMMENT_MULTIFORMATS 0x40000004
3939 #define EPS_SIGNATURE 0x46535045
3940 #define GDICOMMENT_UNICODE_STRING 0x00000040
3941 #define GDICOMMENT_UNICODE_END 0x00000080
3945 #define wglUseFontBitmaps wglUseFontBitmapsW
3947 #define wglUseFontBitmaps wglUseFontBitmapsA
3950 WINGDIAPI WINBOOL WINAPI
wglCopyContext(HGLRC
,HGLRC
,UINT
);
3951 WINGDIAPI HGLRC WINAPI
wglCreateContext(HDC
);
3952 WINGDIAPI HGLRC WINAPI
wglCreateLayerContext(HDC
,int);
3953 WINGDIAPI WINBOOL WINAPI
wglDeleteContext(HGLRC
);
3954 WINGDIAPI HGLRC WINAPI
wglGetCurrentContext(VOID
);
3955 WINGDIAPI HDC WINAPI
wglGetCurrentDC(VOID
);
3956 WINGDIAPI PROC WINAPI
wglGetProcAddress(LPCSTR
);
3957 WINGDIAPI WINBOOL WINAPI
wglMakeCurrent(HDC
,HGLRC
);
3958 WINGDIAPI WINBOOL WINAPI
wglShareLists(HGLRC
,HGLRC
);
3959 WINGDIAPI WINBOOL WINAPI
wglUseFontBitmapsA(HDC
,DWORD
,DWORD
,DWORD
);
3960 WINGDIAPI WINBOOL WINAPI
wglUseFontBitmapsW(HDC
,DWORD
,DWORD
,DWORD
);
3961 WINGDIAPI WINBOOL WINAPI
SwapBuffers(HDC
);
3963 typedef struct _POINTFLOAT
{
3966 } POINTFLOAT
,*PPOINTFLOAT
;
3968 typedef struct _GLYPHMETRICSFLOAT
{
3971 POINTFLOAT gmfptGlyphOrigin
;
3974 } GLYPHMETRICSFLOAT
,*PGLYPHMETRICSFLOAT
,*LPGLYPHMETRICSFLOAT
;
3976 #define WGL_FONT_LINES 0
3977 #define WGL_FONT_POLYGONS 1
3980 #define wglUseFontOutlines wglUseFontOutlinesW
3982 #define wglUseFontOutlines wglUseFontOutlinesA
3985 WINGDIAPI WINBOOL WINAPI
wglUseFontOutlinesA(HDC
,DWORD
,DWORD
,DWORD
,FLOAT
,FLOAT
,int,LPGLYPHMETRICSFLOAT
);
3986 WINGDIAPI WINBOOL WINAPI
wglUseFontOutlinesW(HDC
,DWORD
,DWORD
,DWORD
,FLOAT
,FLOAT
,int,LPGLYPHMETRICSFLOAT
);
3988 typedef struct tagLAYERPLANEDESCRIPTOR
{
4004 BYTE cAccumGreenBits
;
4005 BYTE cAccumBlueBits
;
4006 BYTE cAccumAlphaBits
;
4012 COLORREF crTransparent
;
4013 } LAYERPLANEDESCRIPTOR
,*PLAYERPLANEDESCRIPTOR
,*LPLAYERPLANEDESCRIPTOR
;
4015 #define LPD_DOUBLEBUFFER 0x00000001
4016 #define LPD_STEREO 0x00000002
4017 #define LPD_SUPPORT_GDI 0x00000010
4018 #define LPD_SUPPORT_OPENGL 0x00000020
4019 #define LPD_SHARE_DEPTH 0x00000040
4020 #define LPD_SHARE_STENCIL 0x00000080
4021 #define LPD_SHARE_ACCUM 0x00000100
4022 #define LPD_SWAP_EXCHANGE 0x00000200
4023 #define LPD_SWAP_COPY 0x00000400
4024 #define LPD_TRANSPARENT 0x00001000
4026 #define LPD_TYPE_RGBA 0
4027 #define LPD_TYPE_COLORINDEX 1
4029 #define WGL_SWAP_MAIN_PLANE 0x00000001
4030 #define WGL_SWAP_OVERLAY1 0x00000002
4031 #define WGL_SWAP_OVERLAY2 0x00000004
4032 #define WGL_SWAP_OVERLAY3 0x00000008
4033 #define WGL_SWAP_OVERLAY4 0x00000010
4034 #define WGL_SWAP_OVERLAY5 0x00000020
4035 #define WGL_SWAP_OVERLAY6 0x00000040
4036 #define WGL_SWAP_OVERLAY7 0x00000080
4037 #define WGL_SWAP_OVERLAY8 0x00000100
4038 #define WGL_SWAP_OVERLAY9 0x00000200
4039 #define WGL_SWAP_OVERLAY10 0x00000400
4040 #define WGL_SWAP_OVERLAY11 0x00000800
4041 #define WGL_SWAP_OVERLAY12 0x00001000
4042 #define WGL_SWAP_OVERLAY13 0x00002000
4043 #define WGL_SWAP_OVERLAY14 0x00004000
4044 #define WGL_SWAP_OVERLAY15 0x00008000
4045 #define WGL_SWAP_UNDERLAY1 0x00010000
4046 #define WGL_SWAP_UNDERLAY2 0x00020000
4047 #define WGL_SWAP_UNDERLAY3 0x00040000
4048 #define WGL_SWAP_UNDERLAY4 0x00080000
4049 #define WGL_SWAP_UNDERLAY5 0x00100000
4050 #define WGL_SWAP_UNDERLAY6 0x00200000
4051 #define WGL_SWAP_UNDERLAY7 0x00400000
4052 #define WGL_SWAP_UNDERLAY8 0x00800000
4053 #define WGL_SWAP_UNDERLAY9 0x01000000
4054 #define WGL_SWAP_UNDERLAY10 0x02000000
4055 #define WGL_SWAP_UNDERLAY11 0x04000000
4056 #define WGL_SWAP_UNDERLAY12 0x08000000
4057 #define WGL_SWAP_UNDERLAY13 0x10000000
4058 #define WGL_SWAP_UNDERLAY14 0x20000000
4059 #define WGL_SWAP_UNDERLAY15 0x40000000
4061 WINGDIAPI WINBOOL WINAPI
wglDescribeLayerPlane(HDC
,int,int,UINT
,LPLAYERPLANEDESCRIPTOR
);
4062 WINGDIAPI
int WINAPI
wglSetLayerPaletteEntries(HDC
,int,int,int,CONST COLORREF
*);
4063 WINGDIAPI
int WINAPI
wglGetLayerPaletteEntries(HDC
,int,int,int,COLORREF
*);
4064 WINGDIAPI WINBOOL WINAPI
wglRealizeLayerPalette(HDC
,int,WINBOOL
);
4065 WINGDIAPI WINBOOL WINAPI
wglSwapLayerBuffers(HDC
,UINT
);
4067 typedef struct _WGLSWAP
{
4070 } WGLSWAP
,*PWGLSWAP
,*LPWGLSWAP
;
4072 #define WGL_SWAPMULTIPLE_MAX 16
4074 WINGDIAPI DWORD WINAPI
wglSwapMultipleBuffers(UINT
,CONST WGLSWAP
*);