4 * Declarations supporting the Windows Graphical Device Interface API.
8 * Written by Anders Norlander <anorland@hem2.passagen.se>
9 * Copyright (C) 1998-2009, 2011, 2012, 2016, 2017, MinGW.org Project
12 * Permission is hereby granted, free of charge, to any person obtaining a
13 * copy of this software and associated documentation files (the "Software"),
14 * to deal in the Software without restriction, including without limitation
15 * the rights to use, copy, modify, merge, publish, distribute, sublicense,
16 * and/or sell copies of the Software, and to permit persons to whom the
17 * Software is furnished to do so, subject to the following conditions:
19 * The above copyright notice and this permission notice (including the next
20 * paragraph) shall be included in all copies or substantial portions of the
23 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
24 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
25 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
26 * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
27 * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
28 * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
29 * DEALINGS IN THE SOFTWARE.
33 #pragma GCC system_header
37 /* For effective self-containment, <wingdi.h> is dependent on the core set
38 * of Windows' custom type definitions...
45 # ifdef __W32API_USE_DLLIMPORT__
46 # define WINGDIAPI DECLSPEC_IMPORT
56 #endif /* ! UNICODE */
61 #define BI_BITFIELDS 3
64 #define BI_ALPHABITFIELDS 6
66 #define BI_CMYKRLE8 12
67 #define BI_CMYKRLE4 13
68 #define LF_FACESIZE 32
69 #define LF_FULLFACESIZE 64
71 #define CA_LOG_FILTER 2
72 #define ILLUMINANT_DEVICE_DEFAULT 0
73 #define ILLUMINANT_A 1
74 #define ILLUMINANT_B 2
75 #define ILLUMINANT_C 3
76 #define ILLUMINANT_D50 4
77 #define ILLUMINANT_D55 5
78 #define ILLUMINANT_D65 6
79 #define ILLUMINANT_D75 7
80 #define ILLUMINANT_F2 8
81 #define ILLUMINANT_MAX_INDEX ILLUMINANT_F2
82 #define ILLUMINANT_TUNGSTEN ILLUMINANT_A
83 #define ILLUMINANT_DAYLIGHT ILLUMINANT_C
84 #define ILLUMINANT_FLUORESCENT ILLUMINANT_F2
85 #define ILLUMINANT_NTSC ILLUMINANT_C
86 #define RGB_GAMMA_MIN 2500
87 #define RGB_GAMMA_MAX 65000
88 #define REFERENCE_WHITE_MIN 6000
89 #define REFERENCE_WHITE_MAX 10000
90 #define REFERENCE_BLACK_MIN 0
91 #define REFERENCE_BLACK_MAX 4000
92 #define COLOR_ADJ_MIN (-100)
93 #define COLOR_ADJ_MAX 100
94 #define CCHDEVICENAME 32
95 #define CCHFORMNAME 32
97 #define DI_DEFAULTSIZE 8
101 #define DI_APPBANDING 1
103 #define EMR_POLYBEZIER 2
104 #define EMR_POLYGON 3
105 #define EMR_POLYLINE 4
106 #define EMR_POLYBEZIERTO 5
107 #define EMR_POLYLINETO 6
108 #define EMR_POLYPOLYLINE 7
109 #define EMR_POLYPOLYGON 8
110 #define EMR_SETWINDOWEXTEX 9
111 #define EMR_SETWINDOWORGEX 10
112 #define EMR_SETVIEWPORTEXTEX 11
113 #define EMR_SETVIEWPORTORGEX 12
114 #define EMR_SETBRUSHORGEX 13
116 #define EMR_SETPIXELV 15
117 #define EMR_SETMAPPERFLAGS 16
118 #define EMR_SETMAPMODE 17
119 #define EMR_SETBKMODE 18
120 #define EMR_SETPOLYFILLMODE 19
121 #define EMR_SETROP2 20
122 #define EMR_SETSTRETCHBLTMODE 21
123 #define EMR_SETTEXTALIGN 22
124 #define EMR_SETCOLORADJUSTMENT 23
125 #define EMR_SETTEXTCOLOR 24
126 #define EMR_SETBKCOLOR 25
127 #define EMR_OFFSETCLIPRGN 26
128 #define EMR_MOVETOEX 27
129 #define EMR_SETMETARGN 28
130 #define EMR_EXCLUDECLIPRECT 29
131 #define EMR_INTERSECTCLIPRECT 30
132 #define EMR_SCALEVIEWPORTEXTEX 31
133 #define EMR_SCALEWINDOWEXTEX 32
134 #define EMR_SAVEDC 33
135 #define EMR_RESTOREDC 34
136 #define EMR_SETWORLDTRANSFORM 35
137 #define EMR_MODIFYWORLDTRANSFORM 36
138 #define EMR_SELECTOBJECT 37
139 #define EMR_CREATEPEN 38
140 #define EMR_CREATEBRUSHINDIRECT 39
141 #define EMR_DELETEOBJECT 40
142 #define EMR_ANGLEARC 41
143 #define EMR_ELLIPSE 42
144 #define EMR_RECTANGLE 43
145 #define EMR_ROUNDRECT 44
149 #define EMR_SELECTPALETTE 48
150 #define EMR_CREATEPALETTE 49
151 #define EMR_SETPALETTEENTRIES 50
152 #define EMR_RESIZEPALETTE 51
153 #define EMR_REALIZEPALETTE 52
154 #define EMR_EXTFLOODFILL 53
155 #define EMR_LINETO 54
157 #define EMR_POLYDRAW 56
158 #define EMR_SETARCDIRECTION 57
159 #define EMR_SETMITERLIMIT 58
160 #define EMR_BEGINPATH 59
161 #define EMR_ENDPATH 60
162 #define EMR_CLOSEFIGURE 61
163 #define EMR_FILLPATH 62
164 #define EMR_STROKEANDFILLPATH 63
165 #define EMR_STROKEPATH 64
166 #define EMR_FLATTENPATH 65
167 #define EMR_WIDENPATH 66
168 #define EMR_SELECTCLIPPATH 67
169 #define EMR_ABORTPATH 68
170 #define EMR_GDICOMMENT 70
171 #define EMR_FILLRGN 71
172 #define EMR_FRAMERGN 72
173 #define EMR_INVERTRGN 73
174 #define EMR_PAINTRGN 74
175 #define EMR_EXTSELECTCLIPRGN 75
176 #define EMR_BITBLT 76
177 #define EMR_STRETCHBLT 77
178 #define EMR_MASKBLT 78
179 #define EMR_PLGBLT 79
180 #define EMR_SETDIBITSTODEVICE 80
181 #define EMR_STRETCHDIBITS 81
182 #define EMR_EXTCREATEFONTINDIRECTW 82
183 #define EMR_EXTTEXTOUTA 83
184 #define EMR_EXTTEXTOUTW 84
185 #define EMR_POLYBEZIER16 85
186 #define EMR_POLYGON16 86
187 #define EMR_POLYLINE16 87
188 #define EMR_POLYBEZIERTO16 88
189 #define EMR_POLYLINETO16 89
190 #define EMR_POLYPOLYLINE16 90
191 #define EMR_POLYPOLYGON16 91
192 #define EMR_POLYDRAW16 92
193 #define EMR_CREATEMONOBRUSH 93
194 #define EMR_CREATEDIBPATTERNBRUSHPT 94
195 #define EMR_EXTCREATEPEN 95
196 #define EMR_POLYTEXTOUTA 96
197 #define EMR_POLYTEXTOUTW 97
198 #define EMR_SETICMMODE 98
199 #define EMR_CREATECOLORSPACE 99
200 #define EMR_SETCOLORSPACE 100
201 #define EMR_DELETECOLORSPACE 101
202 #define EMR_GLSRECORD 102
203 #define EMR_GLSBOUNDEDRECORD 103
204 #define EMR_PIXELFORMAT 104
205 #define ENHMETA_SIGNATURE 1179469088
206 #define EPS_SIGNATURE 0x46535045
208 #define META_SETBKCOLOR 0x201
209 #define META_SETBKMODE 0x102
210 #define META_SETMAPMODE 0x103
211 #define META_SETROP2 0x104
212 #define META_SETRELABS 0x105
213 #define META_SETPOLYFILLMODE 0x106
214 #define META_SETSTRETCHBLTMODE 0x107
215 #define META_SETTEXTCHAREXTRA 0x108
216 #define META_SETTEXTCOLOR 0x209
217 #define META_SETTEXTJUSTIFICATION 0x20A
218 #define META_SETWINDOWORG 0x20B
219 #define META_SETWINDOWEXT 0x20C
220 #define META_SETVIEWPORTORG 0x20D
221 #define META_SETVIEWPORTEXT 0x20E
222 #define META_OFFSETWINDOWORG 0x20F
223 #define META_SCALEWINDOWEXT 0x410
224 #define META_OFFSETVIEWPORTORG 0x211
225 #define META_SCALEVIEWPORTEXT 0x412
226 #define META_LINETO 0x213
227 #define META_MOVETO 0x214
228 #define META_EXCLUDECLIPRECT 0x415
229 #define META_INTERSECTCLIPRECT 0x416
230 #define META_ARC 0x817
231 #define META_ELLIPSE 0x418
232 #define META_FLOODFILL 0x419
233 #define META_PIE 0x81A
234 #define META_RECTANGLE 0x41B
235 #define META_ROUNDRECT 0x61C
236 #define META_PATBLT 0x61D
237 #define META_SAVEDC 0x1E
238 #define META_SETPIXEL 0x41F
239 #define META_OFFSETCLIPRGN 0x220
240 #define META_TEXTOUT 0x521
241 #define META_BITBLT 0x922
242 #define META_STRETCHBLT 0xB23
243 #define META_POLYGON 0x324
244 #define META_POLYLINE 0x325
245 #define META_ESCAPE 0x626
246 #define META_RESTOREDC 0x127
247 #define META_FILLREGION 0x228
248 #define META_FRAMEREGION 0x429
249 #define META_INVERTREGION 0x12A
250 #define META_PAINTREGION 0x12B
251 #define META_SELECTCLIPREGION 0x12C
252 #define META_SELECTOBJECT 0x12D
253 #define META_SETTEXTALIGN 0x12E
254 #define META_CHORD 0x830
255 #define META_SETMAPPERFLAGS 0x231
256 #define META_EXTTEXTOUT 0xA32
257 #define META_SETDIBTODEV 0xD33
258 #define META_SELECTPALETTE 0x234
259 #define META_REALIZEPALETTE 0x35
260 #define META_ANIMATEPALETTE 0x436
261 #define META_SETPALENTRIES 0x37
262 #define META_POLYPOLYGON 0x538
263 #define META_RESIZEPALETTE 0x139
264 #define META_DIBBITBLT 0x940
265 #define META_DIBSTRETCHBLT 0xB41
266 #define META_DIBCREATEPATTERNBRUSH 0x142
267 #define META_STRETCHDIB 0xF43
268 #define META_EXTFLOODFILL 0x548
269 #define META_DELETEOBJECT 0x1F0
270 #define META_CREATEPALETTE 0xF7
271 #define META_CREATEPATTERNBRUSH 0x1F9
272 #define META_CREATEPENINDIRECT 0x2FA
273 #define META_CREATEFONTINDIRECT 0x2FB
274 #define META_CREATEBRUSHINDIRECT 0x2FC
275 #define META_CREATEREGION 0x6FF
278 #define PT_BEZIERTO 4
279 #define PT_CLOSEFIGURE 1
280 #define ELF_VENDOR_SIZE 4
281 #define ELF_VERSION 0
282 #define ELF_CULTURE_LATIN 0
283 #define PFD_TYPE_RGBA 0
284 #define PFD_TYPE_COLORINDEX 1
285 #define PFD_MAIN_PLANE 0
286 #define PFD_OVERLAY_PLANE 1
287 #define PFD_UNDERLAY_PLANE (-1)
288 #define PFD_DOUBLEBUFFER 1
290 #define PFD_DRAW_TO_WINDOW 4
291 #define PFD_DRAW_TO_BITMAP 8
292 #define PFD_SUPPORT_GDI 16
293 #define PFD_SUPPORT_OPENGL 32
294 #define PFD_GENERIC_FORMAT 64
295 #define PFD_NEED_PALETTE 128
296 #define PFD_NEED_SYSTEM_PALETTE 0x00000100
297 #define PFD_SWAP_EXCHANGE 0x00000200
298 #define PFD_SWAP_COPY 0x00000400
299 #define PFD_SWAP_LAYER_BUFFERS 0x00000800
300 #define PFD_GENERIC_ACCELERATED 0x00001000
301 #define PFD_DEPTH_DONTCARE 0x20000000
302 #define PFD_DOUBLEBUFFER_DONTCARE 0x40000000
303 #define PFD_STEREO_DONTCARE 0x80000000
304 #define SP_ERROR (-1)
305 #define SP_OUTOFDISK (-4)
306 #define SP_OUTOFMEMORY (-5)
307 #define SP_USERABORT (-3)
308 #define SP_APPABORT (-2)
309 #define BLACKNESS 0x00000042
310 #define NOTSRCERASE 0x001100A6
311 #define NOTSRCCOPY 0x00330008
312 #define SRCERASE 0x00440328
313 #define DSTINVERT 0x00550009
314 #define PATINVERT 0x005A0049
315 #define SRCINVERT 0x00660046
316 #define SRCAND 0x008800C6
317 #define MERGEPAINT 0x00BB0226
318 #define MERGECOPY 0x00C000CA
319 #define SRCCOPY 0x00CC0020
320 #define SRCPAINT 0x00EE0086
321 #define PATCOPY 0x00F00021
322 #define PATPAINT 0x00FB0A09
323 #define WHITENESS 0x00FF0062
324 #define CAPTUREBLT 0x40000000
325 #define NOMIRRORBITMAP 0x80000000
327 #define R2_COPYPEN 13
328 #define R2_MASKNOTPEN 3
330 #define R2_MASKPENNOT 5
331 #define R2_MERGENOTPEN 12
332 #define R2_MERGEPEN 15
333 #define R2_MERGEPENNOT 14
336 #define R2_NOTCOPYPEN 4
337 #define R2_NOTMASKPEN 8
338 #define R2_NOTMERGEPEN 2
339 #define R2_NOTXORPEN 10
342 #define CM_OUT_OF_GAMUT 255
343 #define CM_IN_GAMUT 0
350 #define SIMPLEREGION 2
351 #define COMPLEXREGION 3
354 #define DIB_RGB_COLORS 0
355 #define DIB_PAL_COLORS 1
356 #define DIB_PAL_INDICES 2
357 #define FW_DONTCARE 0
359 #define FW_EXTRALIGHT 200
360 #define FW_ULTRALIGHT FW_EXTRALIGHT
362 #define FW_NORMAL 400
363 #define FW_REGULAR 400
364 #define FW_MEDIUM 500
365 #define FW_SEMIBOLD 600
366 #define FW_DEMIBOLD FW_SEMIBOLD
368 #define FW_EXTRABOLD 800
369 #define FW_ULTRABOLD FW_EXTRABOLD
371 #define FW_BLACK FW_HEAVY
372 #define ANSI_CHARSET 0
373 #define DEFAULT_CHARSET 1
374 #define SYMBOL_CHARSET 2
375 #define SHIFTJIS_CHARSET 128
376 #define HANGEUL_CHARSET 129
377 #define HANGUL_CHARSET 129
378 #define GB2312_CHARSET 134
379 #define CHINESEBIG5_CHARSET 136
380 #define GREEK_CHARSET 161
381 #define TURKISH_CHARSET 162
382 #define HEBREW_CHARSET 177
383 #define ARABIC_CHARSET 178
384 #define BALTIC_CHARSET 186
385 #define RUSSIAN_CHARSET 204
386 #define THAI_CHARSET 222
387 #define EASTEUROPE_CHARSET 238
388 #define OEM_CHARSET 255
389 #define JOHAB_CHARSET 130
390 #define VIETNAMESE_CHARSET 163
391 #define MAC_CHARSET 77
392 #define OUT_DEFAULT_PRECIS 0
393 #define OUT_STRING_PRECIS 1
394 #define OUT_CHARACTER_PRECIS 2
395 #define OUT_STROKE_PRECIS 3
396 #define OUT_TT_PRECIS 4
397 #define OUT_DEVICE_PRECIS 5
398 #define OUT_RASTER_PRECIS 6
399 #define OUT_TT_ONLY_PRECIS 7
400 #define OUT_OUTLINE_PRECIS 8
401 /* http://www.pinvoke.net/default.aspx/Structures/LOGFONT.html */
402 #define OUT_SCREEN_OUTLINE_PRECIS 9
403 #define OUT_PS_ONLY_PRECIS 10
404 #define CLIP_DEFAULT_PRECIS 0
405 #define CLIP_CHARACTER_PRECIS 1
406 #define CLIP_STROKE_PRECIS 2
408 #define CLIP_LH_ANGLES 16
409 #define CLIP_TT_ALWAYS 32
410 #define CLIP_EMBEDDED 128
411 #define DEFAULT_QUALITY 0
412 #define DRAFT_QUALITY 1
413 #define PROOF_QUALITY 2
414 #define NONANTIALIASED_QUALITY 3
415 #define ANTIALIASED_QUALITY 4
417 #define DEFAULT_PITCH 0
418 #define FIXED_PITCH 1
419 #define VARIABLE_PITCH 2
421 #define FF_DECORATIVE 80
422 #define FF_DONTCARE 0
427 #define PANOSE_COUNT 10
428 #define PAN_FAMILYTYPE_INDEX 0
429 #define PAN_SERIFSTYLE_INDEX 1
430 #define PAN_WEIGHT_INDEX 2
431 #define PAN_PROPORTION_INDEX 3
432 #define PAN_CONTRAST_INDEX 4
433 #define PAN_STROKEVARIATION_INDEX 5
434 #define PAN_ARMSTYLE_INDEX 6
435 #define PAN_LETTERFORM_INDEX 7
436 #define PAN_MIDLINE_INDEX 8
437 #define PAN_XHEIGHT_INDEX 9
438 #define PAN_CULTURE_LATIN 0
441 #define PAN_FAMILY_TEXT_DISPLAY 2
442 #define PAN_FAMILY_SCRIPT 3
443 #define PAN_FAMILY_DECORATIVE 4
444 #define PAN_FAMILY_PICTORIAL 5
445 #define PAN_SERIF_COVE 2
446 #define PAN_SERIF_OBTUSE_COVE 3
447 #define PAN_SERIF_SQUARE_COVE 4
448 #define PAN_SERIF_OBTUSE_SQUARE_COVE 5
449 #define PAN_SERIF_SQUARE 6
450 #define PAN_SERIF_THIN 7
451 #define PAN_SERIF_BONE 8
452 #define PAN_SERIF_EXAGGERATED 9
453 #define PAN_SERIF_TRIANGLE 10
454 #define PAN_SERIF_NORMAL_SANS 11
455 #define PAN_SERIF_OBTUSE_SANS 12
456 #define PAN_SERIF_PERP_SANS 13
457 #define PAN_SERIF_FLARED 14
458 #define PAN_SERIF_ROUNDED 15
459 #define PAN_WEIGHT_VERY_LIGHT 2
460 #define PAN_WEIGHT_LIGHT 3
461 #define PAN_WEIGHT_THIN 4
462 #define PAN_WEIGHT_BOOK 5
463 #define PAN_WEIGHT_MEDIUM 6
464 #define PAN_WEIGHT_DEMI 7
465 #define PAN_WEIGHT_BOLD 8
466 #define PAN_WEIGHT_HEAVY 9
467 #define PAN_WEIGHT_BLACK 10
468 #define PAN_WEIGHT_NORD 11
469 #define PAN_PROP_OLD_STYLE 2
470 #define PAN_PROP_MODERN 3
471 #define PAN_PROP_EVEN_WIDTH 4
472 #define PAN_PROP_EXPANDED 5
473 #define PAN_PROP_CONDENSED 6
474 #define PAN_PROP_VERY_EXPANDED 7
475 #define PAN_PROP_VERY_CONDENSED 8
476 #define PAN_PROP_MONOSPACED 9
477 #define PAN_CONTRAST_NONE 2
478 #define PAN_CONTRAST_VERY_LOW 3
479 #define PAN_CONTRAST_LOW 4
480 #define PAN_CONTRAST_MEDIUM_LOW 5
481 #define PAN_CONTRAST_MEDIUM 6
482 #define PAN_CONTRAST_MEDIUM_HIGH 7
483 #define PAN_CONTRAST_HIGH 8
484 #define PAN_CONTRAST_VERY_HIGH 9
485 #define PAN_STROKE_GRADUAL_DIAG 2
486 #define PAN_STROKE_GRADUAL_TRAN 3
487 #define PAN_STROKE_GRADUAL_VERT 4
488 #define PAN_STROKE_GRADUAL_HORZ 5
489 #define PAN_STROKE_RAPID_VERT 6
490 #define PAN_STROKE_RAPID_HORZ 7
491 #define PAN_STROKE_INSTANT_VERT 8
492 #define PAN_STRAIGHT_ARMS_HORZ 2
493 #define PAN_STRAIGHT_ARMS_WEDGE 3
494 #define PAN_STRAIGHT_ARMS_VERT 4
495 #define PAN_STRAIGHT_ARMS_SINGLE_SERIF 5
496 #define PAN_STRAIGHT_ARMS_DOUBLE_SERIF 6
497 #define PAN_BENT_ARMS_HORZ 7
498 #define PAN_BENT_ARMS_WEDGE 8
499 #define PAN_BENT_ARMS_VERT 9
500 #define PAN_BENT_ARMS_SINGLE_SERIF 10
501 #define PAN_BENT_ARMS_DOUBLE_SERIF 11
502 #define PAN_LETT_NORMAL_CONTACT 2
503 #define PAN_LETT_NORMAL_WEIGHTED 3
504 #define PAN_LETT_NORMAL_BOXED 4
505 #define PAN_LETT_NORMAL_FLATTENED 5
506 #define PAN_LETT_NORMAL_ROUNDED 6
507 #define PAN_LETT_NORMAL_OFF_CENTER 7
508 #define PAN_LETT_NORMAL_SQUARE 8
509 #define PAN_LETT_OBLIQUE_CONTACT 9
510 #define PAN_LETT_OBLIQUE_WEIGHTED 10
511 #define PAN_LETT_OBLIQUE_BOXED 11
512 #define PAN_LETT_OBLIQUE_FLATTENED 12
513 #define PAN_LETT_OBLIQUE_ROUNDED 13
514 #define PAN_LETT_OBLIQUE_OFF_CENTER 14
515 #define PAN_LETT_OBLIQUE_SQUARE 15
516 #define PAN_MIDLINE_STANDARD_TRIMMED 2
517 #define PAN_MIDLINE_STANDARD_POINTED 3
518 #define PAN_MIDLINE_STANDARD_SERIFED 4
519 #define PAN_MIDLINE_HIGH_TRIMMED 5
520 #define PAN_MIDLINE_HIGH_POINTED 6
521 #define PAN_MIDLINE_HIGH_SERIFED 7
522 #define PAN_MIDLINE_CONSTANT_TRIMMED 8
523 #define PAN_MIDLINE_CONSTANT_POINTED 9
524 #define PAN_MIDLINE_CONSTANT_SERIFED 10
525 #define PAN_MIDLINE_LOW_TRIMMED 11
526 #define PAN_MIDLINE_LOW_POINTED 12
527 #define PAN_MIDLINE_LOW_SERIFED 13
528 #define PAN_XHEIGHT_CONSTANT_SMALL 2
529 #define PAN_XHEIGHT_CONSTANT_STD 3
530 #define PAN_XHEIGHT_CONSTANT_LARGE 4
531 #define PAN_XHEIGHT_DUCKING_SMALL 5
532 #define PAN_XHEIGHT_DUCKING_STD 6
533 #define PAN_XHEIGHT_DUCKING_LARGE 7
536 #define FS_CYRILLIC 4
538 #define FS_TURKISH 16
541 #define FS_BALTIC 128
542 #define FS_THAI 0x10000
543 #define FS_JISJAPAN 0x20000
544 #define FS_CHINESESIMP 0x40000
545 #define FS_WANSUNG 0x80000
546 #define FS_CHINESETRAD 0x100000
547 #define FS_JOHAB 0x200000
548 #define FS_SYMBOL 0x80000000
549 #define HS_BDIAGONAL 3
551 #define HS_DIAGCROSS 5
552 #define HS_FDIAGONAL 2
553 #define HS_HORIZONTAL 0
554 #define HS_VERTICAL 1
555 #define PS_GEOMETRIC 65536
556 #define PS_COSMETIC 0
557 #define PS_ALTERNATE 8
562 #define PS_DASHDOTDOT 4
564 #define PS_USERSTYLE 7
565 #define PS_INSIDEFRAME 6
566 #define PS_ENDCAP_ROUND 0
567 #define PS_ENDCAP_SQUARE 256
568 #define PS_ENDCAP_FLAT 512
569 #define PS_JOIN_BEVEL 4096
570 #define PS_JOIN_MITER 8192
571 #define PS_JOIN_ROUND 0
572 #define PS_STYLE_MASK 15
573 #define PS_ENDCAP_MASK 3840
574 #define PS_TYPE_MASK 983040
577 #define DC_BINNAMES 12
581 #define DC_DATATYPE_PRODUCED 21
583 #define DC_EMF_COMPLIANT 20
584 #define DC_ENUMRESOLUTIONS 13
587 #define DC_FILEDEPENDENCIES 14
588 #define DC_MAXEXTENT 5
589 #define DC_MINEXTENT 4
590 #define DC_ORIENTATION 17
591 #define DC_PAPERNAMES 16
593 #define DC_PAPERSIZE 3
595 #define DC_TRUETYPE 15
596 #define DCTT_BITMAP 1
597 #define DCTT_DOWNLOAD 2
598 #define DCTT_SUBDEV 4
599 #define DCTT_DOWNLOAD_OUTLINE 8
600 #define DC_VERSION 10
601 #define DC_BINADJUST 19
602 #define DC_EMF_COMPLIANT 20
603 #define DC_DATATYPE_PRODUCED 21
604 #define DC_MANUFACTURER 23
607 #define DCBA_FACEUPNONE 0
608 #define DCBA_FACEUPCENTER 1
609 #define DCBA_FACEUPLEFT 2
610 #define DCBA_FACEUPRIGHT 3
611 #define DCBA_FACEDOWNNONE 256
612 #define DCBA_FACEDOWNCENTER 257
613 #define DCBA_FACEDOWNLEFT 258
614 #define DCBA_FACEDOWNRIGHT 259
615 #define FLOODFILLBORDER 0
616 #define FLOODFILLSURFACE 1
617 #define ETO_CLIPPED 0x0004
618 #define ETO_GLYPH_INDEX 0x0010
619 #define ETO_OPAQUE 0x0002
620 #define ETO_NUMERICSLATIN 0x0800
621 #define ETO_NUMERICSLOCAL 0x0400
622 #define ETO_RTLREADING 0x0080
624 #define GDICOMMENT_WINDOWS_METAFILE (-2147483647)
625 #define GDICOMMENT_BEGINGROUP 2
626 #define GDICOMMENT_ENDGROUP 3
627 #define GDICOMMENT_MULTIFORMATS 1073741828
628 #define GDICOMMENT_IDENTIFIER 1128875079
629 #define AD_COUNTERCLOCKWISE 1
630 #define AD_CLOCKWISE 2
631 #define RDH_RECTANGLES 1
632 #define GCPCLASS_LATIN 1
633 #define GCPCLASS_HEBREW 2
634 #define GCPCLASS_ARABIC 2
635 #define GCPCLASS_NEUTRAL 3
636 #define GCPCLASS_LOCALNUMBER 4
637 #define GCPCLASS_LATINNUMBER 5
638 #define GCPCLASS_LATINNUMERICTERMINATOR 6
639 #define GCPCLASS_LATINNUMERICSEPARATOR 7
640 #define GCPCLASS_NUMERICSEPARATOR 8
641 #define GCPCLASS_PREBOUNDLTR 128
642 #define GCPCLASS_PREBOUNDRTL 64
643 #define GCPCLASS_POSTBOUNDLTR 32
644 #define GCPCLASS_POSTBOUNDRTL 16
645 #define GCPGLYPH_LINKBEFORE 0x8000
646 #define GCPGLYPH_LINKAFTER 0x4000
647 #define DCB_DISABLE 8
651 #define DCB_ACCUMULATE 2
658 #define OBJ_EXTPEN 11
662 #define OBJ_METAFILE 9
664 #define OBJ_ENHMETAFILE 13
665 #define OBJ_ENHMETADC 12
666 #define DRIVERVERSION 0
669 #define DT_RASDISPLAY 1
670 #define DT_RASPRINTER 2
671 #define DT_RASCAMERA 3
672 #define DT_CHARSTREAM 4
673 #define DT_METAFILE 5
674 #define DT_DISPFILE 6
679 #define LOGPIXELSX 88
680 #define LOGPIXELSY 90
683 #define NUMBRUSHES 16
687 #define NUMMARKERS 20
691 #define PDEVICESIZE 26
693 #define SIZEPALETTE 104
694 #define NUMRESERVED 106
696 #define PHYSICALWIDTH 110
697 #define PHYSICALHEIGHT 111
698 #define PHYSICALOFFSETX 112
699 #define PHYSICALOFFSETY 113
700 #define SCALINGFACTORX 114
701 #define SCALINGFACTORY 115
703 #define DESKTOPHORZRES 118
704 #define DESKTOPVERTRES 117
705 #define BLTALIGNMENT 119
707 #define RASTERCAPS 38
710 #define RC_BITMAP64 8
711 #define RC_DI_BITMAP 128
712 #define RC_DIBTODEV 512
713 #define RC_FLOODFILL 4096
714 #define RC_GDI20_OUTPUT 16
715 #define RC_PALETTE 256
717 #define RC_STRETCHBLT 2048
718 #define RC_STRETCHDIB 8192
719 #define RC_DEVBITS 0x8000
720 #define RC_OP_DX_OUTPUT 0x4000
726 #define CC_ELLIPSES 8
729 #define CC_WIDESTYLED 64
730 #define CC_INTERIORS 128
731 #define CC_ROUNDRECT 256
734 #define LC_POLYLINE 2
736 #define LC_POLYMARKER 8
739 #define LC_WIDESTYLED 64
740 #define LC_INTERIORS 128
741 #define POLYGONALCAPS 32
743 #define RC_BIGFONT 1024
745 #define RC_BITMAP64 8
746 #define RC_DEVBITS 0x8000
747 #define RC_DI_BITMAP 128
748 #define RC_GDI20_OUTPUT 16
749 #define RC_GDI20_STATE 32
751 #define RC_OP_DX_OUTPUT 0x4000
752 #define RC_PALETTE 256
753 #define RC_SAVEBITMAP 64
757 #define PC_POLYPOLYGON 256
759 #define PC_RECTANGLE 2
760 #define PC_WINDPOLYGON 4
761 #define PC_SCANLINE 8
762 #define PC_TRAPEZOID 4
765 #define PC_WIDESTYLED 64
766 #define PC_INTERIORS 128
769 #define TC_OP_CHARACTER 1
770 #define TC_OP_STROKE 2
771 #define TC_CP_STROKE 4
774 #define TC_SF_X_YINDEP 32
775 #define TC_SA_DOUBLE 64
776 #define TC_SA_INTEGER 128
777 #define TC_SA_CONTIN 256
778 #define TC_EA_DOUBLE 512
779 #define TC_IA_ABLE 1024
780 #define TC_UA_ABLE 2048
781 #define TC_SO_ABLE 4096
782 #define TC_RA_ABLE 8192
783 #define TC_VA_ABLE 16384
784 #define TC_RESERVED 32768
785 #define TC_SCROLLBLT 65536
787 #define GCP_ERROR 0x8000
788 #define GCP_CLASSIN 0x80000
789 #define GCP_DIACRITIC 256
790 #define GCP_DISPLAYZWG 0x400000
791 #define GCP_GLYPHSHAPE 16
792 #define GCP_JUSTIFY 0x10000
793 #define GCP_JUSTIFYIN 0x200000
794 #define GCP_KASHIDA 1024
795 #define GCP_LIGATE 32
796 #define GCP_MAXEXTENT 0x100000
797 #define GCP_NEUTRALOVERRIDE 0x2000000
798 #define GCP_NUMERICOVERRIDE 0x1000000
799 #define GCP_NUMERICSLATIN 0x4000000
800 #define GCP_NUMERICSLOCAL 0x8000000
801 #define GCP_REORDER 2
802 #define GCP_SYMSWAPOFF 0x800000
803 #define GCP_USEKERNING 8
804 #define FLI_GLYPHS 0x40000
805 #define FLI_MASK 0x103B
806 #define GGO_METRICS 0
810 #define GGO_GRAY2_BITMAP 4
811 #define GGO_GRAY4_BITMAP 5
812 #define GGO_GRAY8_BITMAP 6
813 #define GGO_GLYPH_INDEX 128
815 #define GM_COMPATIBLE 1
816 #define GM_ADVANCED 2
817 #define MM_ANISOTROPIC 8
818 #define MM_HIENGLISH 5
819 #define MM_HIMETRIC 3
820 #define MM_ISOTROPIC 7
821 #define MM_LOENGLISH 4
822 #define MM_LOMETRIC 2
825 #define MM_MAX_FIXEDSCALE MM_TWIPS
828 #define PC_EXPLICIT 2
829 #define PC_NOCOLLAPSE 4
830 #define PC_RESERVED 1
831 #define CLR_NONE 0xFFFFFFFF
832 #define CLR_INVALID CLR_NONE
833 #define CLR_DEFAULT 0xFF000000
836 #define PT_BEZIERTO 4
837 #define PT_CLOSEFIGURE 1
838 #define TT_AVAILABLE 1
840 #define BLACK_BRUSH 4
841 #define DKGRAY_BRUSH 3
843 #define HOLLOW_BRUSH 5
844 #define LTGRAY_BRUSH 1
846 #define WHITE_BRUSH 0
850 #define ANSI_FIXED_FONT 11
851 #define ANSI_VAR_FONT 12
852 #define DEVICE_DEFAULT_FONT 14
853 #define DEFAULT_GUI_FONT 17
854 #define OEM_FIXED_FONT 10
855 #define SYSTEM_FONT 13
856 #define SYSTEM_FIXED_FONT 16
857 #define DEFAULT_PALETTE 15
859 #define SYSPAL_ERROR 0
860 #define SYSPAL_STATIC 1
861 #define SYSPAL_NOSTATIC 2
862 #define SYSPAL_NOSTATIC256 3
863 #define TA_BASELINE 24
869 #define TA_RTLREADING 256
870 #define TA_NOUPDATECP 0
871 #define TA_UPDATECP 1
873 #define TA_MASK (TA_BASELINE+TA_CENTER+TA_UPDATECP+TA_RTLREADING)
875 #define VTA_BASELINE 24
877 #define VTA_LEFT TA_BOTTOM
878 #define VTA_RIGHT TA_TOP
879 #define VTA_BOTTOM TA_RIGHT
880 #define VTA_TOP TA_LEFT
881 #define MWT_IDENTITY 1
882 #define MWT_LEFTMULTIPLY 2
883 #define MWT_RIGHTMULTIPLY 3
885 #define TRANSPARENT 1
886 #define BLACKONWHITE 1
887 #define WHITEONBLACK 2
888 #define COLORONCOLOR 3
890 #define MAXSTRETCHBLTMODE 4
891 #define STRETCH_ANDSCANS 1
892 #define STRETCH_DELETESCANS 3
893 #define STRETCH_HALFTONE 4
894 #define STRETCH_ORSCANS 2
895 #define TCI_SRCCHARSET 1
896 #define TCI_SRCCODEPAGE 2
897 #define TCI_SRCFONTSIG 3
904 #define SETCOLORTABLE 4
905 #define GETCOLORTABLE 5
906 #define FLUSHOUTPUT 6
908 #define QUERYESCSUPPORT 8
909 #define SETABORTPROC 9
912 #define GETPHYSPAGESIZE 12
913 #define GETPRINTINGOFFSET 13
914 #define GETSCALINGFACTOR 14
916 #define GETPENWIDTH 16
917 #define SETCOPYCOUNT 17
918 #define SELECTPAPERSOURCE 18
919 #define DEVICEDATA 19
920 #define PASSTHROUGH 19
921 #define GETTECHNOLGY 20
922 #define GETTECHNOLOGY 20
923 #define SETLINECAP 21
924 #define SETLINEJOIN 22
925 #define SETMITERLIMIT 23
927 #define DRAWPATTERNRECT 25
928 #define GETVECTORPENSIZE 26
929 #define GETVECTORBRUSHSIZE 27
930 #define ENABLEDUPLEX 28
931 #define GETSETPAPERBINS 29
932 #define GETSETPRINTORIENT 30
933 #define ENUMPAPERBINS 31
934 #define SETDIBSCALING 32
935 #define EPSPRINTING 33
936 #define ENUMPAPERMETRICS 34
937 #define GETSETPAPERMETRICS 35
938 #define POSTSCRIPT_DATA 37
939 #define POSTSCRIPT_IGNORE 38
940 #define MOUSETRAILS 39
941 #define GETDEVICEUNITS 42
942 #define GETEXTENDEDTEXTMETRICS 256
943 #define GETEXTENTTABLE 257
944 #define GETPAIRKERNTABLE 258
945 #define GETTRACKKERNTABLE 259
946 #define EXTTEXTOUT 512
947 #define GETFACENAME 513
948 #define DOWNLOADFACE 514
949 #define ENABLERELATIVEWIDTHS 768
950 #define ENABLEPAIRKERNING 769
951 #define SETKERNTRACK 770
952 #define SETALLJUSTVALUES 771
953 #define SETCHARSET 772
954 #define STRETCHBLT 2048
955 #define GETSETSCREENPARAMS 3072
956 #define QUERYDIBSUPPORT 3073
957 #define BEGIN_PATH 4096
958 #define CLIP_TO_PATH 4097
959 #define END_PATH 4098
960 #define EXT_DEVICE_CAPS 4099
961 #define RESTORE_CTM 4100
962 #define SAVE_CTM 4101
963 #define SET_ARC_DIRECTION 4102
964 #define SET_BACKGROUND_COLOR 4103
965 #define SET_POLY_MODE 4104
966 #define SET_SCREEN_ANGLE 4105
967 #define SET_SPREAD 4106
968 #define TRANSFORM_CTM 4107
969 #define SET_CLIP_BOX 4108
970 #define SET_BOUNDS 4109
971 #define SET_MIRROR_MODE 4110
972 #define OPENCHANNEL 4110
973 #define DOWNLOADHEADER 4111
974 #define CLOSECHANNEL 4112
975 #define POSTSCRIPT_PASSTHROUGH 4115
976 #define ENCAPSULATED_POSTSCRIPT 4116
977 #define QDI_SETDIBITS 1
978 #define QDI_GETDIBITS 2
979 #define QDI_DIBTOSCREEN 4
980 #define QDI_STRETCHDIB 8
981 #define SP_NOTREPORTED 0x4000
982 #define PR_JOBSTATUS 0
983 #define ASPECT_FILTERING 1
990 #define BS_DIBPATTERN 5
991 #define BS_DIBPATTERNPT 6
992 #define BS_PATTERN8X8 7
993 #define BS_DIBPATTERN8X8 8
994 #define BS_MONOPATTERN 9
995 #define LCS_CALIBRATED_RGB 0
996 #define LCS_DEVICE_RGB 1
997 #define LCS_DEVICE_CMYK 2
998 #define LCS_sRGB 0x73524742
999 #define LCS_WINDOWS_COLOR_SPACE 0x57696E20
1000 #define LCS_PROFILE_LINKED 0x4C494E4B
1001 #define LCS_PROFILE_EMBEDDED 0x4D424544
1002 #define PROFILE_LINKED LCS_PROFILE_LINKED
1003 #define PROFILE_EMBEDDED LCS_PROFILE_EMBEDDED
1004 #define LCS_GM_BUSINESS 1
1005 #define LCS_GM_GRAPHICS 2
1006 #define LCS_GM_IMAGES 4
1007 #define LCS_GM_ABS_COLORIMETRIC 8
1008 #define RASTER_FONTTYPE 1
1009 #define DEVICE_FONTTYPE 2
1010 #define TRUETYPE_FONTTYPE 4
1011 #define DMORIENT_PORTRAIT 1
1012 #define DMORIENT_LANDSCAPE 2
1013 #define DMPAPER_FIRST 1
1014 #define DMPAPER_LETTER 1
1015 #define DMPAPER_LETTERSMALL 2
1016 #define DMPAPER_TABLOID 3
1017 #define DMPAPER_LEDGER 4
1018 #define DMPAPER_LEGAL 5
1019 #define DMPAPER_STATEMENT 6
1020 #define DMPAPER_EXECUTIVE 7
1021 #define DMPAPER_A3 8
1022 #define DMPAPER_A4 9
1023 #define DMPAPER_A4SMALL 10
1024 #define DMPAPER_A5 11
1025 #define DMPAPER_B4 12
1026 #define DMPAPER_B5 13
1027 #define DMPAPER_FOLIO 14
1028 #define DMPAPER_QUARTO 15
1029 #define DMPAPER_10X14 16
1030 #define DMPAPER_11X17 17
1031 #define DMPAPER_NOTE 18
1032 #define DMPAPER_ENV_9 19
1033 #define DMPAPER_ENV_10 20
1034 #define DMPAPER_ENV_11 21
1035 #define DMPAPER_ENV_12 22
1036 #define DMPAPER_ENV_14 23
1037 #define DMPAPER_CSHEET 24
1038 #define DMPAPER_DSHEET 25
1039 #define DMPAPER_ESHEET 26
1040 #define DMPAPER_ENV_DL 27
1041 #define DMPAPER_ENV_C5 28
1042 #define DMPAPER_ENV_C3 29
1043 #define DMPAPER_ENV_C4 30
1044 #define DMPAPER_ENV_C6 31
1045 #define DMPAPER_ENV_C65 32
1046 #define DMPAPER_ENV_B4 33
1047 #define DMPAPER_ENV_B5 34
1048 #define DMPAPER_ENV_B6 35
1049 #define DMPAPER_ENV_ITALY 36
1050 #define DMPAPER_ENV_MONARCH 37
1051 #define DMPAPER_ENV_PERSONAL 38
1052 #define DMPAPER_FANFOLD_US 39
1053 #define DMPAPER_FANFOLD_STD_GERMAN 40
1054 #define DMPAPER_FANFOLD_LGL_GERMAN 41
1055 #define DMPAPER_ISO_B4 42
1056 #define DMPAPER_JAPANESE_POSTCARD 43
1057 #define DMPAPER_9X11 44
1058 #define DMPAPER_10X11 45
1059 #define DMPAPER_15X11 46
1060 #define DMPAPER_ENV_INVITE 47
1061 #define DMPAPER_RESERVED_48 48
1062 #define DMPAPER_RESERVED_49 49
1063 #define DMPAPER_LETTER_EXTRA 50
1064 #define DMPAPER_LEGAL_EXTRA 51
1065 #define DMPAPER_TABLOID_EXTRA 52
1066 #define DMPAPER_A4_EXTRA 53
1067 #define DMPAPER_LETTER_TRANSVERSE 54
1068 #define DMPAPER_A4_TRANSVERSE 55
1069 #define DMPAPER_LETTER_EXTRA_TRANSVERSE 56
1070 #define DMPAPER_A_PLUS 57
1071 #define DMPAPER_B_PLUS 58
1072 #define DMPAPER_LETTER_PLUS 59
1073 #define DMPAPER_A4_PLUS 60
1074 #define DMPAPER_A5_TRANSVERSE 61
1075 #define DMPAPER_B5_TRANSVERSE 62
1076 #define DMPAPER_A3_EXTRA 63
1077 #define DMPAPER_A5_EXTRA 64
1078 #define DMPAPER_B5_EXTRA 65
1079 #define DMPAPER_A2 66
1080 #define DMPAPER_A3_TRANSVERSE 67
1081 #define DMPAPER_A3_EXTRA_TRANSVERSE 68
1083 #define DMPAPER_USER 256
1084 #define DMBIN_FIRST 1
1085 #define DMBIN_UPPER 1
1086 #define DMBIN_ONLYONE 1
1087 #define DMBIN_LOWER 2
1088 #define DMBIN_MIDDLE 3
1089 #define DMBIN_MANUAL 4
1090 #define DMBIN_ENVELOPE 5
1091 #define DMBIN_ENVMANUAL 6
1092 #define DMBIN_AUTO 7
1093 #define DMBIN_TRACTOR 8
1094 #define DMBIN_SMALLFMT 9
1095 #define DMBIN_LARGEFMT 10
1096 #define DMBIN_LARGECAPACITY 11
1097 #define DMBIN_CASSETTE 14
1098 #define DMBIN_FORMSOURCE 15
1099 #define DMBIN_LAST 15
1100 #define DMBIN_USER 256
1101 #define DMRES_DRAFT (-1)
1102 #define DMRES_LOW (-2)
1103 #define DMRES_MEDIUM (-3)
1104 #define DMRES_HIGH (-4)
1105 #define DMCOLOR_MONOCHROME 1
1106 #define DMCOLOR_COLOR 2
1107 #define DMDUP_SIMPLEX 1
1108 #define DMDUP_VERTICAL 2
1109 #define DMDUP_HORIZONTAL 3
1110 #define DMTT_BITMAP 1
1111 #define DMTT_DOWNLOAD 2
1112 #define DMTT_SUBDEV 3
1113 #define DMTT_DOWNLOAD_OUTLINE 4
1114 #define DMCOLLATE_FALSE 0
1115 #define DMCOLLATE_TRUE 1
1116 #define DM_SPECVERSION 800
1117 #define DM_GRAYSCALE 1
1118 #define DM_INTERLACED 2
1123 #define DM_IN_BUFFER DM_MODIFY
1124 #define DM_IN_PROMPT DM_PROMPT
1125 #define DM_OUT_BUFFER DM_COPY
1126 #define DM_OUT_DEFAULT DM_UPDATE
1127 #define DM_ORIENTATION 0x00000001
1128 #define DM_PAPERSIZE 0x00000002
1129 #define DM_PAPERLENGTH 0x00000004
1130 #define DM_PAPERWIDTH 0x00000008
1131 #define DM_SCALE 0x00000010
1132 #define DM_POSITION 0x00000020
1133 #define DM_COPIES 0x00000100
1134 #define DM_DEFAULTSOURCE 0x00000200
1135 #define DM_PRINTQUALITY 0x00000400
1136 #define DM_COLOR 0x00000800
1137 #define DM_DUPLEX 0x00001000
1138 #define DM_YRESOLUTION 0x00002000
1139 #define DM_TTOPTION 0x00004000
1140 #define DM_COLLATE 0x00008000
1141 #define DM_FORMNAME 0x00010000
1142 #define DM_LOGPIXELS 0x00020000
1143 #define DM_BITSPERPEL 0x00040000
1144 #define DM_PELSWIDTH 0x00080000
1145 #define DM_PELSHEIGHT 0x00100000
1146 #define DM_DISPLAYFLAGS 0x00200000
1147 #define DM_DISPLAYFREQUENCY 0x00400000
1148 #define DM_ICMMETHOD 0x00800000
1149 #define DM_ICMINTENT 0x01000000
1150 #define DM_MEDIATYPE 0x02000000
1151 #define DM_DITHERTYPE 0x04000000
1153 #define DMICMMETHOD_NONE 1
1154 #define DMICMMETHOD_SYSTEM 2
1155 #define DMICMMETHOD_DRIVER 3
1156 #define DMICMMETHOD_DEVICE 4
1157 #define DMICMMETHOD_USER 256
1158 #define DMICM_SATURATE 1
1159 #define DMICM_CONTRAST 2
1160 #define DMICM_COLORMETRIC 3
1161 #define DMICM_USER 256
1162 #define DMMEDIA_STANDARD 1
1163 #define DMMEDIA_TRANSPARENCY 2
1164 #define DMMEDIA_GLOSSY 3
1165 #define DMMEDIA_USER 256
1166 #define DMDITHER_NONE 1
1167 #define DMDITHER_COARSE 2
1168 #define DMDITHER_FINE 3
1169 #define DMDITHER_LINEART 4
1170 #define DMDITHER_ERRORDIFFUSION 5
1171 #define DMDITHER_RESERVED6 6
1172 #define DMDITHER_RESERVED7 7
1173 #define DMDITHER_RESERVED8 8
1174 #define DMDITHER_RESERVED9 9
1175 #define DMDITHER_GRAYSCALE 10
1176 #define DMDITHER_USER 256
1177 #define GDI_ERROR 0xFFFFFFFF
1178 #define HGDI_ERROR ((HANDLE)(GDI_ERROR))
1179 #define TMPF_FIXED_PITCH 1
1180 #define TMPF_VECTOR 2
1181 #define TMPF_TRUETYPE 4
1182 #define TMPF_DEVICE 8
1183 #define NTM_ITALIC 1
1185 #define NTM_REGULAR 64
1186 #define TT_POLYGON_TYPE 24
1187 #define TT_PRIM_LINE 1
1188 #define TT_PRIM_QSPLINE 2
1189 #define TT_PRIM_CSPLINE 3
1190 #define FONTMAPPER_MAX 10
1191 #define ENHMETA_STOCK_OBJECT 0x80000000
1192 #define WGL_FONT_LINES 0
1193 #define WGL_FONT_POLYGONS 1
1194 #define LPD_DOUBLEBUFFER 1
1195 #define LPD_STEREO 2
1196 #define LPD_SUPPORT_GDI 16
1197 #define LPD_SUPPORT_OPENGL 32
1198 #define LPD_SHARE_DEPTH 64
1199 #define LPD_SHARE_STENCIL 128
1200 #define LPD_SHARE_ACCUM 256
1201 #define LPD_SWAP_EXCHANGE 512
1202 #define LPD_SWAP_COPY 1024
1203 #define LPD_TRANSPARENT 4096
1204 #define LPD_TYPE_RGBA 0
1205 #define LPD_TYPE_COLORINDEX 1
1206 #define WGL_SWAP_MAIN_PLANE 1
1207 #define WGL_SWAP_OVERLAY1 2
1208 #define WGL_SWAP_OVERLAY2 4
1209 #define WGL_SWAP_OVERLAY3 8
1210 #define WGL_SWAP_OVERLAY4 16
1211 #define WGL_SWAP_OVERLAY5 32
1212 #define WGL_SWAP_OVERLAY6 64
1213 #define WGL_SWAP_OVERLAY7 128
1214 #define WGL_SWAP_OVERLAY8 256
1215 #define WGL_SWAP_OVERLAY9 512
1216 #define WGL_SWAP_OVERLAY10 1024
1217 #define WGL_SWAP_OVERLAY11 2048
1218 #define WGL_SWAP_OVERLAY12 4096
1219 #define WGL_SWAP_OVERLAY13 8192
1220 #define WGL_SWAP_OVERLAY14 16384
1221 #define WGL_SWAP_OVERLAY15 32768
1222 #define WGL_SWAP_UNDERLAY1 65536
1223 #define WGL_SWAP_UNDERLAY2 0x20000
1224 #define WGL_SWAP_UNDERLAY3 0x40000
1225 #define WGL_SWAP_UNDERLAY4 0x80000
1226 #define WGL_SWAP_UNDERLAY5 0x100000
1227 #define WGL_SWAP_UNDERLAY6 0x200000
1228 #define WGL_SWAP_UNDERLAY7 0x400000
1229 #define WGL_SWAP_UNDERLAY8 0x800000
1230 #define WGL_SWAP_UNDERLAY9 0x1000000
1231 #define WGL_SWAP_UNDERLAY10 0x2000000
1232 #define WGL_SWAP_UNDERLAY11 0x4000000
1233 #define WGL_SWAP_UNDERLAY12 0x8000000
1234 #define WGL_SWAP_UNDERLAY13 0x10000000
1235 #define WGL_SWAP_UNDERLAY14 0x20000000
1236 #define WGL_SWAP_UNDERLAY15 0x40000000
1237 #define AC_SRC_OVER 0x00
1238 #define AC_SRC_ALPHA 0x01
1239 #define AC_SRC_NO_PREMULT_ALPHA 0x01
1240 #define AC_SRC_NO_ALPHA 0x02
1241 #define AC_DST_NO_PREMULT_ALPHA 0x10
1242 #define AC_DST_NO_ALPHA 0x20
1243 #define LAYOUT_LTR 0
1244 #define LAYOUT_RTL 1
1245 #define LAYOUT_BITMAPORIENTATIONPRESERVED 8
1247 #define DISPLAY_DEVICE_ATTACHED_TO_DESKTOP 0x00000001
1248 #define DISPLAY_DEVICE_MULTI_DRIVER 0x00000002
1249 #define DISPLAY_DEVICE_PRIMARY_DEVICE 0x00000004
1250 #define DISPLAY_DEVICE_MIRRORING_DRIVER 0x00000008
1251 #define DISPLAY_DEVICE_VGA_COMPATIBLE 0x00000010
1252 #define DISPLAY_DEVICE_REMOVABLE 0x00000020
1253 #define DISPLAY_DEVICE_MODESPRUNED 0x08000000
1255 #if WINVER >= _WIN32_WINNT_NT4 /* also _WIN32_WINDOWS_95 */
1256 #define CS_ENABLE 0x00000001
1257 #define CS_DISABLE 0x00000002
1258 #define CS_DELETE_TRANSFORM 0x00000003
1260 #if WINVER >= _WIN32_WINNT_WIN2K
1261 #define GRADIENT_FILL_RECT_H 0x00
1262 #define GRADIENT_FILL_RECT_V 0x01
1263 #define GRADIENT_FILL_TRIANGLE 0x02
1264 #define GRADIENT_FILL_OP_FLAG 0xFF
1265 #define COLORMATCHTOTARGET_EMBEDED 0x00000001
1266 #define CREATECOLORSPACE_EMBEDED 0x00000001
1267 #define SETICMPROFILE_EMBEDED 0x00000001
1269 #define DC_PERSONALITY 25
1270 #define DC_PRINTRATE 26
1271 #define DC_PRINTRATEUNIT 27
1272 #define DC_PRINTERMEM 28
1273 #define DC_MEDIAREADY 29
1274 #define DC_STAPLE 30
1275 #define DC_PRINTRATEPPM 31
1276 #define DC_COLORDEVICE 32
1279 #define SHADEBLENDCAPS 120
1280 #define SB_NONE 0x00
1281 #define SB_CONST_ALPHA 0x01
1282 #define SB_PIXEL_ALPHA 0x02
1283 #define SB_PREMULT_ALPHA 0x04
1284 #define SB_GRAD_RECT 0x10
1285 #define SB_GRAD_TRI 0x20
1286 #define COLORMGMTCAPS 121
1287 #define CM_NONE 0x00
1288 #define CM_DEVICE_ICM 0x01
1289 #define CM_GAMMA_RAMP 0x02
1290 #define CM_CMYK_COLOR 0x04
1292 #define GGO_UNHINTED 256
1294 #define DMPAPER_DBL_JAPANESE_POSTCARD 69
1295 #define DMPAPER_A6 70
1296 #define DMPAPER_JENV_KAKU2 71
1297 #define DMPAPER_JENV_KAKU3 72
1298 #define DMPAPER_JENV_CHOU3 73
1299 #define DMPAPER_JENV_CHOU4 74
1300 #define DMPAPER_LETTER_ROTATED 75
1301 #define DMPAPER_A3_ROTATED 76
1302 #define DMPAPER_A4_ROTATED 77
1303 #define DMPAPER_A5_ROTATED 78
1304 #define DMPAPER_B4_JIS_ROTATED 79
1305 #define DMPAPER_B5_JIS_ROTATED 80
1306 #define DMPAPER_JAPANESE_POSTCARD_ROTATED 81
1307 #define DMPAPER_DBL_JAPANESE_POSTCARD_ROTATED 82
1308 #define DMPAPER_A6_ROTATED 83
1309 #define DMPAPER_JENV_KAKU2_ROTATED 84
1310 #define DMPAPER_JENV_KAKU3_ROTATED 85
1311 #define DMPAPER_JENV_CHOU3_ROTATED 86
1312 #define DMPAPER_JENV_CHOU4_ROTATED 87
1313 #define DMPAPER_B6_JIS 88
1314 #define DMPAPER_B6_JIS_ROTATED 89
1315 #define DMPAPER_12X11 90
1316 #define DMPAPER_JENV_YOU4 91
1317 #define DMPAPER_JENV_YOU4_ROTATED 92
1318 #define DMPAPER_P16K 93
1319 #define DMPAPER_P32K 94
1320 #define DMPAPER_P32KBIG 95
1321 #define DMPAPER_PENV_1 96
1322 #define DMPAPER_PENV_2 97
1323 #define DMPAPER_PENV_3 98
1324 #define DMPAPER_PENV_4 99
1325 #define DMPAPER_PENV_5 100
1326 #define DMPAPER_PENV_6 101
1327 #define DMPAPER_PENV_7 102
1328 #define DMPAPER_PENV_8 103
1329 #define DMPAPER_PENV_9 104
1330 #define DMPAPER_PENV_10 105
1331 #define DMPAPER_P16K_ROTATED 106
1332 #define DMPAPER_P32K_ROTATED 107
1333 #define DMPAPER_P32KBIG_ROTATED 108
1334 #define DMPAPER_PENV_1_ROTATED 109
1335 #define DMPAPER_PENV_2_ROTATED 110
1336 #define DMPAPER_PENV_3_ROTATED 111
1337 #define DMPAPER_PENV_4_ROTATED 112
1338 #define DMPAPER_PENV_5_ROTATED 113
1339 #define DMPAPER_PENV_6_ROTATED 114
1340 #define DMPAPER_PENV_7_ROTATED 115
1341 #define DMPAPER_PENV_8_ROTATED 116
1342 #define DMPAPER_PENV_9_ROTATED 117
1343 #define DMPAPER_PENV_10_ROTATED 118
1344 #define DMPAPER_LAST 118
1346 #define DM_PANNINGWIDTH 0x08000000
1347 #define DM_PANNINGHEIGHT 0x10000000
1349 #if WINVER >= _WIN32_WINNT_WINXP
1350 #define DC_MEDIATYPENAMES 34
1351 #define DC_MEDIATYPES 35
1353 #define DM_DISPLAYFIXEDOUTPUT 0x20000000
1354 #define DM_DISPLAYORIENTATION 0x00000080
1355 #define DMDO_DEFAULT 0x00000000
1356 #define DMDO_90 0x00000001
1357 #define DMDO_180 0x00000002
1358 #define DMDO_270 0x00000003
1359 #define DMDFO_DEFAULT 0x00000000
1360 #define DMDFO_STRETCH 0x00000001
1361 #define DMDFO_CENTER 0x00000002
1363 #endif /* WINVER >= WinXP */
1364 #endif /* WINVER >= Win2K */
1365 #endif /* WINVER >= Win95/WinNT4 */
1367 #if WINVER < _WIN32_WINNT_WIN2K
1368 #define DMPAPER_LAST 68
1369 #endif /* WINVER < Win2K */
1371 #if _WIN32_WINNT >= _WIN32_WINNT_NT4
1372 #define ETO_IGNORELANGUAGE 0x1000
1374 #if _WIN32_WINNT >= _WIN32_WINNT_WIN2K
1375 #define ETO_PDY 0x2000
1380 #define NTM_NONNEGATIVE_AC 0x00010000
1381 #define NTM_PS_OPENTYPE 0x00020000
1382 #define NTM_TT_OPENTYPE 0x00040000
1383 #define NTM_MULTIPLEMASTER 0x00080000
1384 #define NTM_TYPE1 0x00100000
1385 #define NTM_DSIG 0x00200000
1387 #define GGI_MARK_NONEXISTING_GLYPHS 1
1389 #define FR_PRIVATE 0x10
1390 #define FR_NOT_ENUM 0x20
1392 #define CLEARTYPE_QUALITY 5
1393 #endif /* WINNT >= Win2K */
1394 #endif /* WINNT >= WinNT4 */
1403 typedef struct _ABCFLOAT
1407 } ABCFLOAT, *LPABCFLOAT;
1409 typedef struct tagBITMAP
1417 } BITMAP, *PBITMAP, *LPBITMAP;
1419 typedef struct tagBITMAPCOREHEADER
1425 } BITMAPCOREHEADER, *LPBITMAPCOREHEADER, *PBITMAPCOREHEADER;
1427 # pragma pack (push, 1)
1429 typedef struct tagRGBTRIPLE
1433 } RGBTRIPLE, *LPRGBTRIPLE;
1437 typedef struct tagBITMAPFILEHEADER
1443 } BITMAPFILEHEADER, *LPBITMAPFILEHEADER, *PBITMAPFILEHEADER;
1447 typedef struct _BITMAPCOREINFO
1448 { BITMAPCOREHEADER bmciHeader;
1449 RGBTRIPLE bmciColors[1];
1450 } BITMAPCOREINFO, *LPBITMAPCOREINFO, *PBITMAPCOREINFO;
1452 typedef struct tagBITMAPINFOHEADE
1458 DWORD biCompression;
1460 LONG biXPelsPerMeter;
1461 LONG biYPelsPerMeter;
1463 DWORD biClrImportant;
1464 } BITMAPINFOHEADER, *LPBITMAPINFOHEADER, *PBITMAPINFOHEADER;
1466 typedef struct tagRGBQUAD
1471 } RGBQUAD, *LPRGBQUAD;
1473 typedef struct tagBITMAPINFO
1474 { BITMAPINFOHEADER bmiHeader;
1475 RGBQUAD bmiColors[1];
1476 } BITMAPINFO, *LPBITMAPINFO, *PBITMAPINFO;
1477 typedef long FXPT16DOT16, *LPFXPT16DOT16;
1478 typedef long FXPT2DOT30, *LPFXPT2DOT30;
1480 typedef struct tagCIEXYZ
1481 { FXPT2DOT30 ciexyzX;
1484 } CIEXYZ, *LPCIEXYZ;
1486 typedef struct tagCIEXYZTRIPLE
1490 } CIEXYZTRIPLE, *LPCIEXYZTRIPLE;
1498 DWORD bV4V4Compression;
1500 LONG bV4XPelsPerMeter;
1501 LONG bV4YPelsPerMeter;
1503 DWORD bV4ClrImportant;
1509 CIEXYZTRIPLE bV4Endpoints;
1511 DWORD bV4GammaGreen;
1513 } BITMAPV4HEADER, *LPBITMAPV4HEADER, *PBITMAPV4HEADER;
1521 DWORD bV5Compression;
1523 LONG bV5XPelsPerMeter;
1524 LONG bV5YPelsPerMeter;
1526 DWORD bV5ClrImportant;
1532 CIEXYZTRIPLE bV5Endpoints;
1534 DWORD bV5GammaGreen;
1537 DWORD bV5ProfileData;
1538 DWORD bV5ProfileSize;
1540 } BITMAPV5HEADER, *LPBITMAPV5HEADER, *PBITMAPV5HEADER;
1542 typedef struct tagFONTSIGNATURE
1545 } FONTSIGNATURE, *LPFONTSIGNATURE;
1551 } CHARSETINFO, *LPCHARSETINFO;
1553 typedef struct tagCOLORADJUSTMENT
1556 WORD caIlluminantIndex;
1560 WORD caReferenceBlack;
1561 WORD caReferenceWhite;
1564 SHORT caColorfulness;
1565 SHORT caRedGreenTint;
1566 } COLORADJUSTMENT, *LPCOLORADJUSTMENT;
1568 typedef struct _devicemodeA
1569 { BYTE dmDeviceName[CCHDEVICENAME];
1571 WORD dmDriverVersion;
1575 _ANONYMOUS_UNION union
1576 { _ANONYMOUS_STRUCT struct
1577 { short dmOrientation;
1579 short dmPaperLength;
1583 short dmDefaultSource;
1584 short dmPrintQuality;
1586 _ANONYMOUS_STRUCT struct
1587 { POINTL dmPosition;
1588 DWORD dmDisplayOrientation;
1589 DWORD dmDisplayFixedOutput;
1595 short dmYResolution;
1598 BYTE dmFormName[CCHFORMNAME];
1603 _ANONYMOUS_UNION union
1604 { DWORD dmDisplayFlags;
1608 DWORD dmDisplayFrequency;
1610 # if WINVER >= _WIN32_WINNT_NT4 /* also _WIN32_WINDOWS_95 */
1619 # if WINVER >= _WIN32_WINNT_WIN2K || _WIN32_WINNT >= _WIN32_WINNT_NT4
1621 DWORD dmPanningWidth;
1622 DWORD dmPanningHeight;
1624 # endif /* _WIN32_WINNT >= WinNT4 */
1625 # endif /* WINVER >= WinNT4/Win95 */
1627 } DEVMODEA, *LPDEVMODEA, *PDEVMODEA;
1629 typedef struct _devicemodeW
1630 { WCHAR dmDeviceName[CCHDEVICENAME];
1632 WORD dmDriverVersion;
1636 _ANONYMOUS_UNION union
1637 { _ANONYMOUS_STRUCT struct
1638 { short dmOrientation;
1640 short dmPaperLength;
1644 short dmDefaultSource;
1645 short dmPrintQuality;
1647 _ANONYMOUS_STRUCT struct
1648 { POINTL dmPosition;
1649 DWORD dmDisplayOrientation;
1650 DWORD dmDisplayFixedOutput;
1656 short dmYResolution;
1659 WCHAR dmFormName[CCHFORMNAME];
1664 _ANONYMOUS_UNION union
1665 { DWORD dmDisplayFlags;
1669 DWORD dmDisplayFrequency;
1671 # if WINVER >= _WIN32_WINNT_NT4 /* also _WIN32_WINDOWS_95 */
1680 # if WINVER >= _WIN32_WINNT_WIN2K || _WIN32_WINNT >= _WIN32_WINNT_NT4
1682 DWORD dmPanningWidth;
1683 DWORD dmPanningHeight;
1685 # endif /* _WIN32_WINNT >= WinNT4 */
1686 # endif /* WINVER >= WinNT4/Win95 */
1688 } DEVMODEW, *LPDEVMODEW, *PDEVMODEW;
1690 typedef __AW_ALIAS__(DEVMODE), *PDEVMODE, *LPDEVMODE;
1692 typedef struct tagDIBSECTION
1694 BITMAPINFOHEADER dsBmih;
1695 DWORD dsBitfields[3];
1700 typedef struct _DOCINFOA
1704 LPCSTR lpszDatatype;
1706 } DOCINFOA, *LPDOCINFOA;
1708 typedef struct _DOCINFOW
1710 LPCWSTR lpszDocName;
1712 LPCWSTR lpszDatatype;
1714 } DOCINFOW, *LPDOCINFOW;
1716 typedef __AW_ALIAS__(DOCINFO), *LPDOCINFO;
1718 typedef struct tagEMR
1723 typedef struct tagEMRANGLEARC
1729 } EMRANGLEARC, *PEMRANGLEARC;
1731 typedef struct tagEMRARC
1736 } EMRARC, *PEMRARC, EMRARCTO, *PEMRARCTO;
1738 typedef struct tagEMRARC EMRCHORD, *PEMRCHORD, EMRPIE, *PEMRPIE;
1740 typedef struct _XFORM
1747 } XFORM, *PXFORM, *LPXFORM;
1749 typedef struct tagEMRBITBLT
1760 COLORREF crBkColorSrc;
1765 } EMRBITBLT, *PEMRBITBLT;
1767 typedef struct tagLOGBRUSH
1771 } LOGBRUSH, *PLOGBRUSH, *LPLOGBRUSH;
1772 typedef LOGBRUSH PATTERN, *PPATTERN, *LPPATTERN;
1774 typedef struct tagEMRCREATEBRUSHINDIRECT
1778 } EMRCREATEBRUSHINDIRECT, *PEMRCREATEBRUSHINDIRECT;
1779 typedef LONG LCSCSTYPE;
1780 typedef LONG LCSGAMUTMATCH;
1782 typedef struct tagLOGCOLORSPACEA
1783 { DWORD lcsSignature;
1786 LCSCSTYPE lcsCSType;
1787 LCSGAMUTMATCH lcsIntent;
1788 CIEXYZTRIPLE lcsEndpoints;
1790 DWORD lcsGammaGreen;
1792 CHAR lcsFilename[MAX_PATH];
1793 } LOGCOLORSPACEA, *LPLOGCOLORSPACEA;
1795 typedef struct tagLOGCOLORSPACEW
1796 { DWORD lcsSignature;
1799 LCSCSTYPE lcsCSType;
1800 LCSGAMUTMATCH lcsIntent;
1801 CIEXYZTRIPLE lcsEndpoints;
1803 DWORD lcsGammaGreen;
1805 WCHAR lcsFilename[MAX_PATH];
1806 } LOGCOLORSPACEW, *LPLOGCOLORSPACEW;
1808 typedef __AW_ALIAS__(LOGCOLORSPACE), *LPLOGCOLORSPACE;
1810 typedef struct tagEMRCREATECOLORSPACE
1814 } EMRCREATECOLORSPACE, *PEMRCREATECOLORSPACE;
1816 typedef struct tagEMRCREATEDIBPATTERNBRUSHPT
1824 } EMRCREATEDIBPATTERNBRUSHPT, *PEMRCREATEDIBPATTERNBRUSHPT;
1826 typedef struct tagEMRCREATEMONOBRUSH
1834 } EMRCREATEMONOBRUSH, *PEMRCREATEMONOBRUSH;
1836 typedef struct tagPALETTEENTRY
1841 } PALETTEENTRY, *LPPALETTEENTRY, *PPALETTEENTRY;
1843 typedef struct tagLOGPALETTE
1846 PALETTEENTRY palPalEntry[1];
1847 } LOGPALETTE, *NPLOGPALETTE, *PLOGPALETTE, *LPLOGPALETTE;
1849 typedef struct tagEMRCREATEPALETTE
1853 } EMRCREATEPALETTE, *PEMRCREATEPALETTE;
1855 typedef struct tagLOGPEN
1859 } LOGPEN, *PLOGPEN, *LPLOGPEN;
1861 typedef struct tagEMRCREATEPEN
1865 } EMRCREATEPEN, *PEMRCREATEPEN;
1867 typedef struct tagEMRELLIPSE
1870 } EMRELLIPSE, *PEMRELLIPSE, EMRRECTANGLE, *PEMRRECTANGLE;
1872 typedef struct tagEMREOF
1875 DWORD offPalEntries;
1879 typedef struct tagEMREXCLUDECLIPRECT
1882 } EMREXCLUDECLIPRECT, *PEMREXCLUDECLIPRECT;
1884 typedef struct tagEMREXCLUDECLIPRECT EMRINTERSECTCLIPRECT;
1885 typedef struct tagEMREXCLUDECLIPRECT *PEMRINTERSECTCLIPRECT;
1887 typedef struct tagPANOSE
1893 BYTE bStrokeVariation;
1900 typedef struct tagLOGFONTA
1910 BYTE lfOutPrecision;
1911 BYTE lfClipPrecision;
1913 BYTE lfPitchAndFamily;
1914 CHAR lfFaceName[LF_FACESIZE];
1915 } LOGFONTA, *PLOGFONTA, *LPLOGFONTA;
1917 typedef struct tagLOGFONTW
1927 BYTE lfOutPrecision;
1928 BYTE lfClipPrecision;
1930 BYTE lfPitchAndFamily;
1931 WCHAR lfFaceName[LF_FACESIZE];
1932 } LOGFONTW, *PLOGFONTW, *LPLOGFONTW;
1934 typedef __AW_ALIAS__(LOGFONT), *PLOGFONT, *LPLOGFONT;
1936 typedef struct tagEXTLOGFONTA
1937 { LOGFONTA elfLogFont;
1938 BYTE elfFullName[LF_FULLFACESIZE];
1939 BYTE elfStyle[LF_FACESIZE];
1944 BYTE elfVendorId[ELF_VENDOR_SIZE];
1947 } EXTLOGFONTA, *PEXTLOGFONTA, *LPEXTLOGFONTA;
1949 typedef struct tagEXTLOGFONTW
1950 { LOGFONTW elfLogFont;
1951 WCHAR elfFullName[LF_FULLFACESIZE];
1952 WCHAR elfStyle[LF_FACESIZE];
1957 BYTE elfVendorId[ELF_VENDOR_SIZE];
1960 } EXTLOGFONTW, *PEXTLOGFONTW, *LPEXTLOGFONTW;
1962 typedef __AW_ALIAS__(EXTLOGFONT), *PEXTLOGFONT, *LPEXTLOGFONT;
1964 typedef struct tagEMREXTCREATEFONTINDIRECTW
1968 } EMREXTCREATEFONTINDIRECTW, *PEMREXTCREATEFONTINDIRECTW;
1970 typedef struct tagEXTLOGPEN
1976 DWORD elpNumEntries;
1977 DWORD elpStyleEntry[1];
1978 } EXTLOGPEN, *PEXTLOGPEN, *LPEXTLOGPEN;
1980 typedef struct tagEMREXTCREATEPEN
1988 } EMREXTCREATEPEN, *PEMREXTCREATEPEN;
1990 typedef struct tagEMREXTFLOODFILL
1995 } EMREXTFLOODFILL, *PEMREXTFLOODFILL;
1997 typedef struct tagEMREXTSELECTCLIPRGN
2002 } EMREXTSELECTCLIPRGN, *PEMREXTSELECTCLIPRGN;
2004 typedef struct tagEMRTEXT
2005 { POINTL ptlReference;
2011 } EMRTEXT, *PEMRTEXT;
2013 typedef struct tagEMREXTTEXTOUTA
2016 DWORD iGraphicsMode;
2020 } EMREXTTEXTOUTA, *PEMREXTTEXTOUTA, EMREXTTEXTOUTW, *PEMREXTTEXTOUTW;
2022 typedef struct tagEMRFILLPATH
2025 } EMRFILLPATH, *PEMRFILLPATH, EMRSTROKEANDFILLPATH, *PEMRSTROKEANDFILLPATH;
2027 typedef struct tagEMRFILLPATH EMRSTROKEPATH, *PEMRSTROKEPATH;
2029 typedef struct tagEMRFILLRGN
2035 } EMRFILLRGN, *PEMRFILLRGN;
2037 typedef struct tagEMRFORMAT
2044 typedef struct tagEMRFRAMERGN
2051 } EMRFRAMERGN, *PEMRFRAMERGN;
2053 typedef struct tagEMRGDICOMMENT
2057 } EMRGDICOMMENT, *PEMRGDICOMMENT;
2059 typedef struct tagEMRINVERTRGN
2064 } EMRINVERTRGN, *PEMRINVERTRGN, EMRPAINTRGN, *PEMRPAINTRGN;
2066 typedef struct tagEMRLINETO
2069 } EMRLINETO, *PEMRLINETO, EMRMOVETOEX, *PEMRMOVETOEX;
2071 typedef struct tagEMRMASKBLT
2082 COLORREF crBkColorSrc;
2095 } EMRMASKBLT, *PEMRMASKBLT;
2097 typedef struct tagEMRMODIFYWORLDTRANSFORM
2101 } EMRMODIFYWORLDTRANSFORM, *PEMRMODIFYWORLDTRANSFORM;
2103 typedef struct tagEMROFFSETCLIPRGN
2106 } EMROFFSETCLIPRGN, *PEMROFFSETCLIPRGN;
2108 typedef struct tagEMRPLGBLT
2117 COLORREF crBkColorSrc;
2130 } EMRPLGBLT, *PEMRPLGBLT;
2132 typedef struct tagEMRPOLYDRAW
2138 } EMRPOLYDRAW, *PEMRPOLYDRAW;
2140 typedef struct tagEMRPOLYDRAW16
2146 } EMRPOLYDRAW16, *PEMRPOLYDRAW16;
2148 typedef struct tagEMRPOLYLINE
2153 } EMRPOLYLINE, *PEMRPOLYLINE, EMRPOLYBEZIER, *PEMRPOLYBEZIER;
2155 typedef struct tagEMRPOLYLINE EMRPOLYGON, *PEMRPOLYGON;
2156 typedef struct tagEMRPOLYLINE EMRPOLYBEZIERTO, *PEMRPOLYBEZIERTO;
2157 typedef struct tagEMRPOLYLINE EMRPOLYLINETO, *PEMRPOLYLINETO;
2159 typedef struct tagEMRPOLYLINE16
2164 } EMRPOLYLINE16, *PEMRPOLYLINE16, EMRPOLYBEZIER16, *PEMRPOLYBEZIER16;
2166 typedef struct tagEMRPOLYLINE16 EMRPOLYGON16, *PEMRPOLYGON16;
2167 typedef struct tagEMRPOLYLINE16 EMRPOLYBEZIERTO16, *PEMRPOLYBEZIERTO16;
2168 typedef struct tagEMRPOLYLINE16 EMRPOLYLINETO16, *PEMRPOLYLINETO16;
2170 typedef struct tagEMRPOLYPOLYLINE
2175 DWORD aPolyCounts[1];
2177 } EMRPOLYPOLYLINE, *PEMRPOLYPOLYLINE, EMRPOLYPOLYGON, *PEMRPOLYPOLYGON;
2179 typedef struct tagEMRPOLYPOLYLINE16
2184 DWORD aPolyCounts[1];
2186 } EMRPOLYPOLYLINE16, *PEMRPOLYPOLYLINE16, EMRPOLYPOLYGON16, *PEMRPOLYPOLYGON16;
2188 typedef struct tagEMRPOLYTEXTOUTA
2191 DWORD iGraphicsMode;
2195 EMRTEXT aemrtext[1];
2196 } EMRPOLYTEXTOUTA, *PEMRPOLYTEXTOUTA, EMRPOLYTEXTOUTW, *PEMRPOLYTEXTOUTW;
2198 typedef struct tagEMRRESIZEPALETTE
2202 } EMRRESIZEPALETTE, *PEMRRESIZEPALETTE;
2204 typedef struct tagEMRRESTOREDC
2207 } EMRRESTOREDC, *PEMRRESTOREDC;
2209 typedef struct tagEMRROUNDRECT
2213 } EMRROUNDRECT, *PEMRROUNDRECT;
2215 typedef struct tagEMRSCALEVIEWPORTEXTEX
2221 } EMRSCALEVIEWPORTEXTEX, *PEMRSCALEVIEWPORTEXTEX;
2223 typedef struct tagEMRSCALEVIEWPORTEXTEX EMRSCALEWINDOWEXTEX;
2224 typedef struct tagEMRSCALEVIEWPORTEXTEX *PEMRSCALEWINDOWEXTEX;
2226 typedef struct tagEMRSELECTCOLORSPACE
2229 } EMRSELECTCOLORSPACE, *PEMRSELECTCOLORSPACE, EMRDELETECOLORSPACE;
2231 typedef struct tagEMRSELECTCOLORSPACE *PEMRDELETECOLORSPACE;
2233 typedef struct tagEMRSELECTOBJECT
2236 } EMRSELECTOBJECT, *PEMRSELECTOBJECT, EMRDELETEOBJECT, *PEMRDELETEOBJECT;
2238 typedef struct tagEMRSELECTPALETTE
2241 } EMRSELECTPALETTE, *PEMRSELECTPALETTE;
2243 typedef struct tagEMRSETARCDIRECTION
2245 DWORD iArcDirection;
2246 } EMRSETARCDIRECTION, *PEMRSETARCDIRECTION;
2248 typedef struct tagEMRSETTEXTCOLOR
2251 } EMRSETBKCOLOR, *PEMRSETBKCOLOR, EMRSETTEXTCOLOR, *PEMRSETTEXTCOLOR;
2253 typedef struct tagEMRSETCOLORADJUSTMENT
2255 COLORADJUSTMENT ColorAdjustment;
2256 } EMRSETCOLORADJUSTMENT, *PEMRSETCOLORADJUSTMENT;
2258 typedef struct tagEMRSETDIBITSTODEVICE
2274 } EMRSETDIBITSTODEVICE, *PEMRSETDIBITSTODEVICE;
2276 typedef struct tagEMRSETMAPPERFLAGS
2279 } EMRSETMAPPERFLAGS, *PEMRSETMAPPERFLAGS;
2281 typedef struct tagEMRSETMITERLIMIT
2284 } EMRSETMITERLIMIT, *PEMRSETMITERLIMIT;
2286 typedef struct tagEMRSETPALETTEENTRIES
2291 PALETTEENTRY aPalEntries[1];
2292 } EMRSETPALETTEENTRIES, *PEMRSETPALETTEENTRIES;
2294 typedef struct tagEMRSETPIXELV
2298 } EMRSETPIXELV, *PEMRSETPIXELV;
2300 typedef struct tagEMRSETVIEWPORTEXTEX
2303 } EMRSETVIEWPORTEXTEX, *PEMRSETVIEWPORTEXTEX, EMRSETWINDOWEXTEX;
2305 typedef struct tagEMRSETVIEWPORTEXTEX *PEMRSETWINDOWEXTEX;
2307 typedef struct tagEMRSETVIEWPORTORGEX
2310 } EMRSETVIEWPORTORGEX, *PEMRSETVIEWPORTORGEX, EMRSETWINDOWORGEX;
2312 typedef struct tagEMRSETVIEWPORTORGEX *PEMRSETWINDOWORGEX;
2313 typedef struct tagEMRSETVIEWPORTORGEX EMRSETBRUSHORGEX;
2314 typedef struct tagEMRSETVIEWPORTORGEX *PEMRSETBRUSHORGEX;
2316 typedef struct tagEMRSETWORLDTRANSFORM
2319 } EMRSETWORLDTRANSFORM, *PEMRSETWORLDTRANSFORM;
2321 typedef struct tagEMRSTRETCHBLT
2332 COLORREF crBkColorSrc;
2340 } EMRSTRETCHBLT, *PEMRSTRETCHBLT;
2342 typedef struct tagEMRSTRETCHDIBITS
2359 } EMRSTRETCHDIBITS, *PEMRSTRETCHDIBITS;
2361 typedef struct tagABORTPATH
2363 } EMRABORTPATH, *PEMRABORTPATH, EMRBEGINPATH, *PEMRBEGINPATH;
2365 typedef struct tagABORTPATH EMRENDPATH, *PEMRENDPATH;
2366 typedef struct tagABORTPATH EMRCLOSEFIGURE, *PEMRCLOSEFIGURE;
2367 typedef struct tagABORTPATH EMRFLATTENPATH, *PEMRFLATTENPATH;
2368 typedef struct tagABORTPATH EMRWIDENPATH, *PEMRWIDENPATH;
2369 typedef struct tagABORTPATH EMRSETMETARGN, *PEMRSETMETARGN;
2370 typedef struct tagABORTPATH EMRSAVEDC, *PEMRSAVEDC;
2371 typedef struct tagABORTPATH EMRREALIZEPALETTE, *PEMRREALIZEPALETTE;
2373 typedef struct tagEMRSELECTCLIPPATH
2376 } EMRSELECTCLIPPATH, *PEMRSELECTCLIPPATH, EMRSETBKMODE, *PEMRSETBKMODE;
2378 typedef struct tagEMRSELECTCLIPPATH EMRSETMAPMODE, *PEMRSETMAPMODE;
2379 typedef struct tagEMRSELECTCLIPPATH EMRSETPOLYFILLMODE, *PEMRSETPOLYFILLMODE;
2380 typedef struct tagEMRSELECTCLIPPATH EMRSETROP2, *PEMRSETROP2;
2381 typedef struct tagEMRSELECTCLIPPATH EMRSETSTRETCHBLTMODE;
2382 typedef struct tagEMRSELECTCLIPPATH *PEMRSETSTRETCHBLTMODE;
2383 typedef struct tagEMRSELECTCLIPPATH EMRSETTEXTALIGN, *PEMRSETTEXTALIGN;
2384 typedef struct tagEMRSELECTCLIPPATH EMRENABLEICM, *PEMRENABLEICM;
2386 # pragma pack (push, 2)
2388 typedef struct tagMETAHEADER
2395 WORD mtNoParameters;
2396 } METAHEADER, *PMETAHEADER, *LPMETAHEADER;
2400 typedef struct tagENHMETAHEADER
2412 DWORD offDescription;
2415 SIZEL szlMillimeters;
2417 # if WINVER >= _WIN32_WINNT_NT4 /* also _WIN32_WINDOWS_95 */
2419 DWORD cbPixelFormat;
2420 DWORD offPixelFormat;
2423 # if WINVER >= _WIN32_WINNT_WIN2K
2425 SIZEL szlMicrometers;
2427 # endif /* WINVER >= Win2K */
2428 # endif /* WINVER >= WinNT4/Win95 */
2430 } ENHMETAHEADER, *LPENHMETAHEADER;
2432 typedef struct tagMETARECORD
2436 } METARECORD, *PMETARECORD, *LPMETARECORD;
2438 typedef struct tagENHMETARECORD
2442 } ENHMETARECORD, *LPENHMETARECORD;
2444 typedef struct tagHANDLETABLE
2445 { HGDIOBJ objectHandle[1];
2446 } HANDLETABLE, *LPHANDLETABLE;
2448 typedef struct tagTEXTMETRICA
2452 LONG tmInternalLeading;
2453 LONG tmExternalLeading;
2454 LONG tmAveCharWidth;
2455 LONG tmMaxCharWidth;
2458 LONG tmDigitizedAspectX;
2459 LONG tmDigitizedAspectY;
2467 BYTE tmPitchAndFamily;
2469 } TEXTMETRICA, *PTEXTMETRICA, *LPTEXTMETRICA;
2471 typedef struct tagTEXTMETRICW
2475 LONG tmInternalLeading;
2476 LONG tmExternalLeading;
2477 LONG tmAveCharWidth;
2478 LONG tmMaxCharWidth;
2481 LONG tmDigitizedAspectX;
2482 LONG tmDigitizedAspectY;
2485 WCHAR tmDefaultChar;
2490 BYTE tmPitchAndFamily;
2492 } TEXTMETRICW, *PTEXTMETRICW, *LPTEXTMETRICW;
2494 typedef __AW_ALIAS__(TEXTMETRIC), *PTEXTMETRIC, *LPTEXTMETRIC;
2496 typedef struct _RGNDATAHEADER
2504 typedef struct _RGNDATA
2505 { RGNDATAHEADER rdh;
2507 } RGNDATA, *PRGNDATA, *LPRGNDATA;
2510 typedef struct tagGCP_RESULTSA
2511 { DWORD lStructSize;
2520 } GCP_RESULTSA, *LPGCP_RESULTSA;
2522 typedef struct tagGCP_RESULTSW
2523 { DWORD lStructSize;
2532 } GCP_RESULTSW, *LPGCP_RESULTSW;
2534 typedef __AW_ALIAS__(GCP_RESULTS), *LPGCP_RESULTS;
2536 typedef struct _GLYPHMETRICS
2539 POINT gmptGlyphOrigin;
2542 } GLYPHMETRICS, *LPGLYPHMETRICS;
2544 typedef struct tagKERNINGPAIR
2548 } KERNINGPAIR, *LPKERNINGPAIR;
2550 typedef struct _FIXED
2555 typedef struct _MAT2
2562 typedef struct _OUTLINETEXTMETRICA
2564 TEXTMETRICA otmTextMetrics;
2566 PANOSE otmPanoseNumber;
2567 UINT otmfsSelection;
2569 int otmsCharSlopeRise;
2570 int otmsCharSlopeRun;
2576 UINT otmsCapEmHeight;
2582 UINT otmusMinimumPPEM;
2583 POINT otmptSubscriptSize;
2584 POINT otmptSubscriptOffset;
2585 POINT otmptSuperscriptSize;
2586 POINT otmptSuperscriptOffset;
2587 UINT otmsStrikeoutSize;
2588 int otmsStrikeoutPosition;
2589 int otmsUnderscoreSize;
2590 int otmsUnderscorePosition;
2591 PSTR otmpFamilyName;
2595 } OUTLINETEXTMETRICA, *POUTLINETEXTMETRICA, *LPOUTLINETEXTMETRICA;
2597 typedef struct _OUTLINETEXTMETRICW
2599 TEXTMETRICW otmTextMetrics;
2601 PANOSE otmPanoseNumber;
2602 UINT otmfsSelection;
2604 int otmsCharSlopeRise;
2605 int otmsCharSlopeRun;
2611 UINT otmsCapEmHeight;
2617 UINT otmusMinimumPPEM;
2618 POINT otmptSubscriptSize;
2619 POINT otmptSubscriptOffset;
2620 POINT otmptSuperscriptSize;
2621 POINT otmptSuperscriptOffset;
2622 UINT otmsStrikeoutSize;
2623 int otmsStrikeoutPosition;
2624 int otmsUnderscoreSize;
2625 int otmsUnderscorePosition;
2626 PSTR otmpFamilyName;
2630 } OUTLINETEXTMETRICW, *POUTLINETEXTMETRICW, *LPOUTLINETEXTMETRICW;
2632 typedef __AW_ALIAS__(OUTLINETEXTMETRIC);
2633 typedef __AW_ALIAS__(POUTLINETEXTMETRIC);
2634 typedef __AW_ALIAS__(LPOUTLINETEXTMETRIC);
2636 typedef struct _RASTERIZER_STATUS
2640 } RASTERIZER_STATUS, *LPRASTERIZER_STATUS;
2642 typedef struct _POLYTEXTA
2650 } POLYTEXTA, *PPOLYTEXTA, *LPPOLYTEXTA;
2652 typedef struct _POLYTEXTW
2660 } POLYTEXTW, *PPOLYTEXTW, *LPPOLYTEXTW;
2662 typedef __AW_ALIAS__(POLYTEXT), *PPOLYTEXT, *LPPOLYTEXT;
2664 typedef struct tagPIXELFORMATDESCRIPTOR
2680 BYTE cAccumGreenBits;
2681 BYTE cAccumBlueBits;
2682 BYTE cAccumAlphaBits;
2689 DWORD dwVisibleMask;
2691 } PIXELFORMATDESCRIPTOR, *PPIXELFORMATDESCRIPTOR, *LPPIXELFORMATDESCRIPTOR;
2693 typedef struct tagMETAFILEPICT
2698 } METAFILEPICT, *LPMETAFILEPICT;
2700 typedef struct tagLOCALESIGNATURE
2702 DWORD lsCsbDefault[2];
2703 DWORD lsCsbSupported[2];
2704 } LOCALESIGNATURE, *PLOCALESIGNATURE, *LPLOCALESIGNATURE;
2705 typedef LONG LCSTYPE;
2707 # pragma pack (push, 4)
2709 typedef struct tagNEWTEXTMETRICA
2713 LONG tmInternalLeading;
2714 LONG tmExternalLeading;
2715 LONG tmAveCharWidth;
2716 LONG tmMaxCharWidth;
2719 LONG tmDigitizedAspectX;
2720 LONG tmDigitizedAspectY;
2728 BYTE tmPitchAndFamily;
2734 } NEWTEXTMETRICA, *PNEWTEXTMETRICA, *LPNEWTEXTMETRICA;
2736 typedef struct tagNEWTEXTMETRICW
2740 LONG tmInternalLeading;
2741 LONG tmExternalLeading;
2742 LONG tmAveCharWidth;
2743 LONG tmMaxCharWidth;
2746 LONG tmDigitizedAspectX;
2747 LONG tmDigitizedAspectY;
2750 WCHAR tmDefaultChar;
2755 BYTE tmPitchAndFamily;
2761 } NEWTEXTMETRICW, *PNEWTEXTMETRICW, *LPNEWTEXTMETRICW;
2765 typedef __AW_ALIAS__(NEWTEXTMETRIC), *PNEWTEXTMETRIC, *LPNEWTEXTMETRIC;
2767 typedef struct tagNEWTEXTMETRICEXA
2768 { NEWTEXTMETRICA ntmTm;
2769 FONTSIGNATURE ntmFontSig;
2772 typedef struct tagNEWTEXTMETRICEXW
2773 { NEWTEXTMETRICW ntmTm;
2774 FONTSIGNATURE ntmFontSig;
2777 typedef __AW_ALIAS__(NEWTEXTMETRICEX);
2779 typedef struct tagPELARRAY
2785 } PELARRAY, *PPELARRAY, *LPPELARRAY;
2787 typedef struct tagENUMLOGFONTA
2788 { LOGFONTA elfLogFont;
2789 BYTE elfFullName[LF_FULLFACESIZE];
2790 BYTE elfStyle[LF_FACESIZE];
2791 } ENUMLOGFONTA, *LPENUMLOGFONTA;
2793 typedef struct tagENUMLOGFONTW
2794 { LOGFONTW elfLogFont;
2795 WCHAR elfFullName[LF_FULLFACESIZE];
2796 WCHAR elfStyle[LF_FACESIZE];
2797 } ENUMLOGFONTW, *LPENUMLOGFONTW;
2799 typedef __AW_ALIAS__(ENUMLOGFONT), *LPENUMLOGFONT;
2801 typedef struct tagENUMLOGFONTEXA
2802 { LOGFONTA elfLogFont;
2803 BYTE elfFullName[LF_FULLFACESIZE];
2804 BYTE elfStyle[LF_FACESIZE];
2805 BYTE elfScript[LF_FACESIZE];
2806 } ENUMLOGFONTEXA, *LPENUMLOGFONTEXA;
2808 typedef struct tagENUMLOGFONTEXW
2809 { LOGFONTW elfLogFont;
2810 WCHAR elfFullName[LF_FULLFACESIZE];
2811 WCHAR elfStyle[LF_FACESIZE];
2812 WCHAR elfScript[LF_FACESIZE];
2813 } ENUMLOGFONTEXW, *LPENUMLOGFONTEXW;
2815 typedef __AW_ALIAS__(ENUMLOGFONTEX), *LPENUMLOGFONTEX;
2817 typedef struct tagPOINTFX
2820 } POINTFX, *LPPOINTFX;
2822 typedef struct tagTTPOLYCURVE
2826 } TTPOLYCURVE, *LPTTPOLYCURVE;
2828 typedef struct tagTTPOLYGONHEADER
2832 } TTPOLYGONHEADER, *LPTTPOLYGONHEADER;
2834 typedef struct _POINTFLOAT
2837 } POINTFLOAT, *PPOINTFLOAT;
2839 typedef struct _GLYPHMETRICSFLOAT
2840 { FLOAT gmfBlackBoxX;
2842 POINTFLOAT gmfptGlyphOrigin;
2845 } GLYPHMETRICSFLOAT, *PGLYPHMETRICSFLOAT, *LPGLYPHMETRICSFLOAT;
2847 typedef struct tagLAYERPLANEDESCRIPTOR
2863 BYTE cAccumGreenBits;
2864 BYTE cAccumBlueBits;
2865 BYTE cAccumAlphaBits;
2871 COLORREF crTransparent;
2872 } LAYERPLANEDESCRIPTOR, *PLAYERPLANEDESCRIPTOR, *LPLAYERPLANEDESCRIPTOR;
2874 typedef struct _BLENDFUNCTION
2877 BYTE SourceConstantAlpha;
2879 } BLENDFUNCTION, *PBLENDFUNCTION, *LPBLENDFUNCTION;
2881 #define MM_MAX_NUMAXES 16
2882 typedef struct _DESIGNVECTOR
2885 LONG dvValues[MM_MAX_NUMAXES];
2886 } DESIGNVECTOR, *PDESIGNVECTOR, FAR *LPDESIGNVECTOR;
2888 typedef USHORT COLOR16;
2890 typedef struct _TRIVERTEX
2897 } TRIVERTEX, *PTRIVERTEX, *LPTRIVERTEX;
2899 typedef struct _GRADIENT_TRIANGLE
2903 } GRADIENT_TRIANGLE, *PGRADIENT_TRIANGLE, *LPGRADIENT_TRIANGLE;
2905 typedef struct _GRADIENT_RECT
2908 }GRADIENT_RECT, *PGRADIENT_RECT, *LPGRADIENT_RECT;
2910 typedef struct _DISPLAY_DEVICEA
2912 CHAR DeviceName[32];
2913 CHAR DeviceString[128];
2916 CHAR DeviceKey[128];
2917 } DISPLAY_DEVICEA, *PDISPLAY_DEVICEA, *LPDISPLAY_DEVICEA;
2919 typedef struct _DISPLAY_DEVICEW
2921 WCHAR DeviceName[32];
2922 WCHAR DeviceString[128];
2924 WCHAR DeviceID[128];
2925 WCHAR DeviceKey[128];
2926 } DISPLAY_DEVICEW, *PDISPLAY_DEVICEW, *LPDISPLAY_DEVICEW;
2928 typedef __AW_ALIAS__(DISPLAY_DEVICE), *PDISPLAY_DEVICE, *LPDISPLAY_DEVICE;
2930 typedef BOOL (CALLBACK *ABORTPROC) (HDC, int);
2932 typedef int (CALLBACK *MFENUMPROC)
2933 (HDC, HANDLETABLE *, METARECORD *, int, LPARAM);
2935 typedef int (CALLBACK *ENHMFENUMPROC)
2936 (HDC, HANDLETABLE *, const ENHMETARECORD *, int, LPARAM);
2938 typedef int (CALLBACK *OLDFONTENUMPROCA)
2939 (const LOGFONTA *, const TEXTMETRICA *, DWORD, LPARAM);
2941 typedef int (CALLBACK *OLDFONTENUMPROCW)
2942 (const LOGFONTW *, const TEXTMETRICW *, DWORD, LPARAM);
2944 #define FONTENUMPROC __AW_SUFFIXED__(FONTENUMPROC)
2945 typedef OLDFONTENUMPROCA FONTENUMPROCA;
2946 typedef OLDFONTENUMPROCW FONTENUMPROCW;
2948 #define ICMENUMPROC __AW_SUFFIXED__(ICMENUMPROC)
2949 typedef int (CALLBACK *ICMENUMPROCA) (LPSTR, LPARAM);
2950 typedef int (CALLBACK *ICMENUMPROCW) (LPWSTR, LPARAM);
2952 typedef void (CALLBACK *GOBJENUMPROC) (LPVOID, LPARAM);
2953 typedef void (CALLBACK *LINEDDAPROC) (int, int, LPARAM);
2954 typedef UINT (CALLBACK *LPFNDEVMODE)
2955 (HWND, HMODULE, LPDEVMODEA, LPSTR, LPSTR, LPDEVMODEA, LPSTR, UINT);
2957 typedef DWORD (CALLBACK *LPFNDEVCAPS) (LPSTR, LPSTR, UINT, LPSTR, LPDEVMODEA);
2959 #define MAKEPOINTS(l) (*((POINTS *) & (l)))
2960 #define MAKEROP4(f,b) (DWORD)((((b) << 8) & 0xFF000000) | (f))
2962 #define CMYK(c,m,y,k) \
2963 ((COLORREF)((BYTE)(k) | ((BYTE)(y) << 8) | ((BYTE)(m) << 16) | \
2964 ((BYTE)(c) << 24)) \
2966 #define GetCValue(cmyk) ((BYTE)(cmyk))
2967 #define GetMValue(cmyk) ((BYTE)((cmyk) >> 8))
2968 #define GetYValue(cmyk) ((BYTE)((cmyk) >> 16))
2969 #define GetKValue(cmyk) ((BYTE)((cmyk) >> 24))
2971 #define RGB(r,g,b) \
2972 ((COLORREF)((BYTE)(r) | ((BYTE)(g) << 8) | ((BYTE)(b) << 16)))
2974 #define GetRValue(rgb) ((BYTE)(rgb))
2975 #define GetGValue(rgb) ((BYTE)(((WORD)(rgb)) >> 8))
2976 #define GetBValue(rgb) ((BYTE)((rgb) >> 16))
2978 #define PALETTEINDEX(i) ((0x01000000 | (COLORREF)(WORD)(i)))
2979 #define PALETTERGB(r,g,b) (0x02000000 | RGB(r,g,b))
2981 WINGDIAPI int WINAPI AbortDoc (HDC);
2982 WINGDIAPI BOOL WINAPI AbortPath (HDC);
2984 #define AddFontResource __AW_SUFFIXED__(AddFontResource)
2985 WINGDIAPI int WINAPI AddFontResourceA (LPCSTR);
2986 WINGDIAPI int WINAPI AddFontResourceW (LPCWSTR);
2988 WINGDIAPI BOOL WINAPI AngleArc (HDC, int, int, DWORD, FLOAT, FLOAT);
2990 WINGDIAPI BOOL WINAPI AnimatePalette
2991 (HPALETTE, UINT, UINT, const PALETTEENTRY *);
2993 WINGDIAPI BOOL WINAPI Arc (HDC, int, int, int, int, int, int, int, int);
2994 WINGDIAPI BOOL WINAPI ArcTo (HDC, int, int, int, int, int, int, int, int);
2995 WINGDIAPI BOOL WINAPI BeginPath (HDC);
2996 WINGDIAPI BOOL WINAPI BitBlt (HDC, int, int, int, int, HDC, int, int, DWORD);
2997 WINGDIAPI BOOL WINAPI CancelDC (HDC);
2998 WINGDIAPI BOOL WINAPI CheckColorsInGamut (HDC, PVOID, PVOID, DWORD);
2999 WINGDIAPI BOOL WINAPI Chord (HDC, int, int, int, int, int, int, int, int);
3000 WINGDIAPI int WINAPI ChoosePixelFormat (HDC, CONST PIXELFORMATDESCRIPTOR *);
3001 WINGDIAPI HENHMETAFILE WINAPI CloseEnhMetaFile (HDC);
3002 WINGDIAPI BOOL WINAPI CloseFigure (HDC);
3003 WINGDIAPI HMETAFILE WINAPI CloseMetaFile (HDC);
3005 #if _WIN32_WINDOWS >= _WIN32_WINDOWS_98 || _WIN32_WINNT >= _WIN32_WINNT_WIN2K
3006 WINGDIAPI BOOL WINAPI ColorCorrectPalette (HDC, HPALETTE, DWORD, DWORD);
3007 WINGDIAPI BOOL WINAPI ColorMatchToTarget (HDC, HDC, DWORD);
3008 #endif /* WINVER >= Win98/Win2K */
3010 WINGDIAPI int WINAPI CombineRgn (HRGN, HRGN, HRGN, int);
3011 WINGDIAPI BOOL WINAPI CombineTransform (LPXFORM, const XFORM *, const XFORM *);
3013 #define CopyEnhMetaFile __AW_SUFFIXED__(CopyEnhMetaFile)
3014 WINGDIAPI HENHMETAFILE WINAPI CopyEnhMetaFileA (HENHMETAFILE, LPCSTR);
3015 WINGDIAPI HENHMETAFILE WINAPI CopyEnhMetaFileW (HENHMETAFILE, LPCWSTR);
3017 #define CopyMetaFile __AW_SUFFIXED__(CopyMetaFile)
3018 WINGDIAPI HMETAFILE WINAPI CopyMetaFileA (HMETAFILE, LPCSTR);
3019 WINGDIAPI HMETAFILE WINAPI CopyMetaFileW (HMETAFILE, LPCWSTR);
3021 WINGDIAPI HBITMAP WINAPI CreateBitmap (int, int, UINT, UINT, PCVOID);
3022 WINGDIAPI HBITMAP WINAPI CreateBitmapIndirect (const BITMAP *);
3023 WINGDIAPI HBRUSH WINAPI CreateBrushIndirect (const LOGBRUSH *);
3025 #define CreateColorSpace __AW_SUFFIXED__(CreateColorSpace)
3026 WINGDIAPI HCOLORSPACE WINAPI CreateColorSpaceA (LPLOGCOLORSPACEA);
3027 WINGDIAPI HCOLORSPACE WINAPI CreateColorSpaceW (LPLOGCOLORSPACEW);
3029 WINGDIAPI HBITMAP WINAPI CreateCompatibleBitmap (HDC, int, int);
3030 WINGDIAPI HDC WINAPI CreateCompatibleDC (HDC);
3032 #define CreateDC __AW_SUFFIXED__(CreateDC)
3033 WINGDIAPI HDC WINAPI CreateDCA (LPCSTR, LPCSTR, LPCSTR, const DEVMODEA *);
3034 WINGDIAPI HDC WINAPI CreateDCW (LPCWSTR, LPCWSTR, LPCWSTR, const DEVMODEW *);
3036 WINGDIAPI HBITMAP WINAPI CreateDIBitmap
3037 (HDC, const BITMAPINFOHEADER *, DWORD, PCVOID, const BITMAPINFO *, UINT);
3039 WINGDIAPI HBRUSH WINAPI CreateDIBPatternBrush (HGLOBAL, UINT);
3040 WINGDIAPI HBRUSH WINAPI CreateDIBPatternBrushPt (PCVOID, UINT);
3042 WINGDIAPI HBITMAP WINAPI CreateDIBSection
3043 (HDC, const BITMAPINFO *, UINT, void **, HANDLE, DWORD);
3045 WINGDIAPI HBITMAP WINAPI CreateDiscardableBitmap (HDC, int, int);
3046 WINGDIAPI HRGN WINAPI CreateEllipticRgn (int, int, int, int);
3047 WINGDIAPI HRGN WINAPI CreateEllipticRgnIndirect (LPCRECT);
3049 #define CreateEnhMetaFile __AW_SUFFIXED__(CreateEnhMetaFile)
3050 WINGDIAPI HDC WINAPI CreateEnhMetaFileA (HDC, LPCSTR, LPCRECT, LPCSTR);
3051 WINGDIAPI HDC WINAPI CreateEnhMetaFileW (HDC, LPCWSTR, LPCRECT, LPCWSTR);
3053 #define CreateFont __AW_SUFFIXED__(CreateFont)
3054 WINGDIAPI HFONT WINAPI CreateFontA
3055 (int, int, int, int, int, DWORD, DWORD, DWORD, DWORD, DWORD,
3056 DWORD, DWORD, DWORD, LPCSTR
3059 WINGDIAPI HFONT WINAPI CreateFontW
3060 (int, int, int, int, int, DWORD, DWORD, DWORD, DWORD, DWORD,
3061 DWORD, DWORD, DWORD, LPCWSTR
3065 #define CreateFontIndirect __AW_SUFFIXED__(CreateFontIndirect)
3066 WINGDIAPI HFONT WINAPI CreateFontIndirectA (const LOGFONTA *);
3067 WINGDIAPI HFONT WINAPI CreateFontIndirectW (const LOGFONTW *);
3069 WINGDIAPI HPALETTE WINAPI CreateHalftonePalette (HDC);
3070 WINGDIAPI HBRUSH WINAPI CreateHatchBrush (int, COLORREF);
3072 #define CreateIC __AW_SUFFIXED__(CreateIC)
3073 WINGDIAPI HDC WINAPI CreateICA (LPCSTR, LPCSTR, LPCSTR, const DEVMODEA *);
3074 WINGDIAPI HDC WINAPI CreateICW (LPCWSTR, LPCWSTR, LPCWSTR, const DEVMODEW *);
3076 #define CreateMetaFile __AW_SUFFIXED__(CreateMetaFile)
3077 WINGDIAPI HDC WINAPI CreateMetaFileA (LPCSTR);
3078 WINGDIAPI HDC WINAPI CreateMetaFileW (LPCWSTR);
3080 WINGDIAPI HPALETTE WINAPI CreatePalette (const LOGPALETTE *);
3081 WINGDIAPI HBRUSH WINAPI CreatePatternBrush (HBITMAP);
3082 WINGDIAPI HPEN WINAPI CreatePen (int, int, COLORREF);
3083 WINGDIAPI HPEN WINAPI CreatePenIndirect (const LOGPEN *);
3084 WINGDIAPI HRGN WINAPI CreatePolygonRgn (const POINT *, int, int);
3086 WINGDIAPI HRGN WINAPI CreatePolyPolygonRgn
3087 (const POINT *, const INT *, int, int);
3089 WINGDIAPI HRGN WINAPI CreateRectRgn (int, int, int, int);
3090 WINGDIAPI HRGN WINAPI CreateRectRgnIndirect (LPCRECT);
3091 WINGDIAPI HRGN WINAPI CreateRoundRectRgn (int, int, int, int, int, int);
3093 #define CreateScalableFontResource __AW_SUFFIXED__(CreateScalableFontResource)
3094 WINGDIAPI BOOL WINAPI CreateScalableFontResourceA
3095 (DWORD, LPCSTR, LPCSTR, LPCSTR);
3097 WINGDIAPI BOOL WINAPI CreateScalableFontResourceW
3098 (DWORD, LPCWSTR, LPCWSTR, LPCWSTR);
3100 WINGDIAPI HBRUSH WINAPI CreateSolidBrush (COLORREF);
3101 WINGDIAPI BOOL WINAPI DeleteColorSpace (HCOLORSPACE);
3102 WINGDIAPI BOOL WINAPI DeleteDC (HDC);
3103 WINGDIAPI BOOL WINAPI DeleteEnhMetaFile (HENHMETAFILE);
3104 WINGDIAPI BOOL WINAPI DeleteMetaFile (HMETAFILE);
3105 WINGDIAPI BOOL WINAPI DeleteObject (HGDIOBJ);
3107 WINGDIAPI int WINAPI DescribePixelFormat
3108 (HDC, int, UINT, LPPIXELFORMATDESCRIPTOR);
3111 #define DeviceCapabilities __AW_SUFFIXED__(DeviceCapabilities)
3112 WINGDIAPI DWORD WINAPI DeviceCapabilitiesA
3113 (LPCSTR, LPCSTR, WORD, LPSTR, const DEVMODEA *);
3115 WINGDIAPI DWORD WINAPI DeviceCapabilitiesW
3116 (LPCWSTR, LPCWSTR, WORD, LPWSTR, const DEVMODEW *);
3118 WINGDIAPI BOOL WINAPI DPtoLP (HDC, LPPOINT, int);
3119 WINGDIAPI int WINAPI DrawEscape (HDC, int, int, LPCSTR);
3120 WINGDIAPI BOOL WINAPI Ellipse (HDC, int, int, int, int);
3121 WINGDIAPI int WINAPI EndDoc (HDC);
3122 WINGDIAPI int WINAPI EndPage (HDC);
3123 WINGDIAPI BOOL WINAPI EndPath (HDC);
3125 WINGDIAPI BOOL WINAPI EnumEnhMetaFile
3126 (HDC, HENHMETAFILE, ENHMFENUMPROC, PVOID, LPCRECT);
3128 #define EnumFontFamilies __AW_SUFFIXED__(EnumFontFamilies)
3129 WINGDIAPI int WINAPI EnumFontFamiliesA (HDC, LPCSTR, FONTENUMPROCA, LPARAM);
3130 WINGDIAPI int WINAPI EnumFontFamiliesW (HDC, LPCWSTR, FONTENUMPROCW, LPARAM);
3132 #define EnumFontFamiliesEx __AW_SUFFIXED__(EnumFontFamiliesEx)
3133 WINGDIAPI int WINAPI EnumFontFamiliesExA
3134 (HDC, PLOGFONTA, FONTENUMPROCA, LPARAM, DWORD);
3136 WINGDIAPI int WINAPI EnumFontFamiliesExW
3137 (HDC, PLOGFONTW, FONTENUMPROCW, LPARAM, DWORD);
3139 #define EnumFonts __AW_SUFFIXED__(EnumFonts)
3140 WINGDIAPI int WINAPI EnumFontsA (HDC, LPCSTR, FONTENUMPROCA, LPARAM);
3141 WINGDIAPI int WINAPI EnumFontsW (HDC, LPCWSTR, FONTENUMPROCW, LPARAM);
3143 #define EnumICMProfiles __AW_SUFFIXED__(EnumICMProfiles)
3144 WINGDIAPI int WINAPI EnumICMProfilesA (HDC, ICMENUMPROCA, LPARAM);
3145 WINGDIAPI int WINAPI EnumICMProfilesW (HDC, ICMENUMPROCW, LPARAM);
3147 WINGDIAPI BOOL WINAPI EnumMetaFile (HDC, HMETAFILE, MFENUMPROC, LPARAM);
3148 WINGDIAPI int WINAPI EnumObjects (HDC, int, GOBJENUMPROC, LPARAM);
3149 WINGDIAPI BOOL WINAPI EqualRgn (HRGN, HRGN);
3150 WINGDIAPI int WINAPI Escape (HDC, int, int, LPCSTR, PVOID);
3151 WINGDIAPI int WINAPI ExcludeClipRect (HDC, int, int, int, int);
3152 WINGDIAPI int WINAPI ExcludeUpdateRgn (HDC, HWND);
3154 WINGDIAPI HPEN WINAPI ExtCreatePen
3155 (DWORD, DWORD, const LOGBRUSH *, DWORD, const DWORD *);
3157 WINGDIAPI HRGN WINAPI ExtCreateRegion (const XFORM *, DWORD, const RGNDATA *);
3158 WINGDIAPI int WINAPI ExtEscape (HDC, int, int, LPCSTR, int, LPSTR);
3159 WINGDIAPI BOOL WINAPI ExtFloodFill (HDC, int, int, COLORREF, UINT);
3160 WINGDIAPI int WINAPI ExtSelectClipRgn (HDC, HRGN, int);
3162 #define ExtTextOut __AW_SUFFIXED__(ExtTextOut)
3163 WINGDIAPI BOOL WINAPI ExtTextOutA
3164 (HDC, int, int, UINT, LPCRECT, LPCSTR, UINT, const INT *);
3166 WINGDIAPI BOOL WINAPI ExtTextOutW
3167 (HDC, int, int, UINT, LPCRECT, LPCWSTR, UINT, const INT *);
3169 WINGDIAPI BOOL WINAPI FillPath (HDC);
3170 WINGDIAPI int WINAPI FillRect (HDC, LPCRECT, HBRUSH);
3171 WINGDIAPI int WINAPI FillRgn (HDC, HRGN, HBRUSH);
3172 WINGDIAPI BOOL WINAPI FixBrushOrgEx (HDC, int, int, LPPOINT);
3173 WINGDIAPI BOOL WINAPI FlattenPath (HDC);
3174 WINGDIAPI BOOL WINAPI FloodFill (HDC, int, int, COLORREF);
3175 WINGDIAPI BOOL WINAPI GdiComment (HDC, UINT, const BYTE *);
3176 WINGDIAPI BOOL WINAPI GdiFlush (void);
3177 WINGDIAPI DWORD WINAPI GdiGetBatchLimit (void);
3178 WINGDIAPI DWORD WINAPI GdiSetBatchLimit (DWORD);
3179 WINGDIAPI int WINAPI GetArcDirection (HDC);
3180 WINGDIAPI BOOL WINAPI GetAspectRatioFilterEx (HDC, LPSIZE);
3181 WINGDIAPI LONG WINAPI GetBitmapBits (HBITMAP, LONG, PVOID);
3182 WINGDIAPI BOOL WINAPI GetBitmapDimensionEx (HBITMAP, LPSIZE);
3183 WINGDIAPI COLORREF WINAPI GetBkColor (HDC);
3184 WINGDIAPI int WINAPI GetBkMode (HDC);
3185 WINGDIAPI UINT WINAPI GetBoundsRect (HDC, LPRECT, UINT);
3186 WINGDIAPI BOOL WINAPI GetBrushOrgEx (HDC, LPPOINT);
3188 #define GetCharABCWidths __AW_SUFFIXED__(GetCharABCWidths)
3189 WINGDIAPI BOOL WINAPI GetCharABCWidthsA (HDC, UINT, UINT, LPABC);
3190 WINGDIAPI BOOL WINAPI GetCharABCWidthsW (HDC, UINT, UINT, LPABC);
3192 #define GetCharABCWidthsFloat __AW_SUFFIXED__(GetCharABCWidthsFloat)
3193 WINGDIAPI BOOL WINAPI GetCharABCWidthsFloatA (HDC, UINT, UINT, LPABCFLOAT);
3194 WINGDIAPI BOOL WINAPI GetCharABCWidthsFloatW (HDC, UINT, UINT, LPABCFLOAT);
3196 #define GetCharacterPlacement __AW_SUFFIXED__(GetCharacterPlacement)
3197 WINGDIAPI DWORD WINAPI GetCharacterPlacementA
3198 (HDC, LPCSTR, int, int, LPGCP_RESULTSA, DWORD);
3200 WINGDIAPI DWORD WINAPI GetCharacterPlacementW
3201 (HDC, LPCWSTR, int, int, LPGCP_RESULTSW, DWORD);
3203 #define GetCharWidth32 __AW_SUFFIXED__(GetCharWidth32)
3204 WINGDIAPI BOOL WINAPI GetCharWidth32A (HDC, UINT, UINT, LPINT);
3205 WINGDIAPI BOOL WINAPI GetCharWidth32W (HDC, UINT, UINT, LPINT);
3207 #define GetCharWidth __AW_SUFFIXED__(GetCharWidth)
3208 WINGDIAPI BOOL WINAPI GetCharWidthA (HDC, UINT, UINT, LPINT);
3209 WINGDIAPI BOOL WINAPI GetCharWidthW (HDC, UINT, UINT, LPINT);
3211 #define GetCharWidthFloat __AW_SUFFIXED__(GetCharWidthFloat)
3212 WINGDIAPI BOOL WINAPI GetCharWidthFloatA (HDC, UINT, UINT, PFLOAT);
3213 WINGDIAPI BOOL WINAPI GetCharWidthFloatW (HDC, UINT, UINT, PFLOAT);
3215 WINGDIAPI int WINAPI GetClipBox (HDC, LPRECT);
3216 WINGDIAPI int WINAPI GetClipRgn (HDC, HRGN);
3217 WINGDIAPI BOOL WINAPI GetColorAdjustment (HDC, LPCOLORADJUSTMENT);
3218 WINGDIAPI HANDLE WINAPI GetColorSpace (HDC);
3219 WINGDIAPI HGDIOBJ WINAPI GetCurrentObject (HDC, UINT);
3220 WINGDIAPI BOOL WINAPI GetCurrentPositionEx (HDC, LPPOINT);
3221 WINGDIAPI HCURSOR WINAPI GetCursor (void);
3223 WINGDIAPI BOOL WINAPI GetDCOrgEx (HDC, LPPOINT);
3224 WINGDIAPI int WINAPI GetDeviceCaps (HDC, int);
3225 WINGDIAPI BOOL WINAPI GetDeviceGammaRamp (HDC, PVOID);
3226 WINGDIAPI UINT WINAPI GetDIBColorTable (HDC, UINT, UINT, RGBQUAD *);
3228 WINGDIAPI int WINAPI GetDIBits
3229 (HDC, HBITMAP, UINT, UINT, PVOID, LPBITMAPINFO, UINT);
3231 #define GetEnhMetaFile __AW_SUFFIXED__(GetEnhMetaFile)
3232 WINGDIAPI HENHMETAFILE WINAPI GetEnhMetaFileA (LPCSTR);
3233 WINGDIAPI HENHMETAFILE WINAPI GetEnhMetaFileW (LPCWSTR);
3235 WINGDIAPI UINT WINAPI GetEnhMetaFileBits (HENHMETAFILE, UINT, LPBYTE);
3237 #define GetEnhMetaFileDescription __AW_SUFFIXED__(GetEnhMetaFileDescription)
3238 WINGDIAPI UINT WINAPI GetEnhMetaFileDescriptionA (HENHMETAFILE, UINT, LPSTR);
3239 WINGDIAPI UINT WINAPI GetEnhMetaFileDescriptionW (HENHMETAFILE, UINT, LPWSTR);
3241 WINGDIAPI UINT WINAPI GetEnhMetaFileHeader
3242 (HENHMETAFILE, UINT, LPENHMETAHEADER);
3244 WINGDIAPI UINT WINAPI GetEnhMetaFilePaletteEntries
3245 (HENHMETAFILE, UINT, LPPALETTEENTRY);
3247 WINGDIAPI UINT WINAPI GetEnhMetaFilePixelFormat
3248 (HENHMETAFILE, DWORD, CONST PIXELFORMATDESCRIPTOR *);
3250 WINGDIAPI DWORD WINAPI GetFontData (HDC, DWORD, DWORD, PVOID, DWORD);
3251 WINGDIAPI DWORD WINAPI GetFontLanguageInfo (HDC);
3253 #define GetGlyphOutline __AW_SUFFIXED__(GetGlyphOutline)
3254 WINGDIAPI DWORD WINAPI GetGlyphOutlineA
3255 (HDC, UINT, UINT, LPGLYPHMETRICS, DWORD, PVOID, const MAT2 *);
3257 WINGDIAPI DWORD WINAPI GetGlyphOutlineW
3258 (HDC, UINT, UINT, LPGLYPHMETRICS, DWORD, PVOID, const MAT2 *);
3260 WINGDIAPI int WINAPI GetGraphicsMode (HDC);
3262 #define GetICMProfile __AW_SUFFIXED__(GetICMProfile)
3263 WINGDIAPI BOOL WINAPI GetICMProfileA (HDC, LPDWORD, LPSTR);
3264 WINGDIAPI BOOL WINAPI GetICMProfileW (HDC, LPDWORD, LPWSTR);
3266 #define GetKerningPairs __AW_SUFFIXED__(GetKerningPairs)
3267 WINGDIAPI DWORD WINAPI GetKerningPairsA (HDC, DWORD, LPKERNINGPAIR);
3268 WINGDIAPI DWORD WINAPI GetKerningPairsW (HDC, DWORD, LPKERNINGPAIR);
3270 #define GetLogColorSpace __AW_SUFFIXED__(GetLogColorSpace)
3271 WINGDIAPI BOOL WINAPI GetLogColorSpaceA (HCOLORSPACE, LPLOGCOLORSPACEA, DWORD);
3272 WINGDIAPI BOOL WINAPI GetLogColorSpaceW (HCOLORSPACE, LPLOGCOLORSPACEW, DWORD);
3274 WINGDIAPI int WINAPI GetMapMode (HDC);
3276 #define GetMetaFile __AW_SUFFIXED__(GetMetaFile)
3277 WINGDIAPI HMETAFILE WINAPI GetMetaFileA (LPCSTR);
3278 WINGDIAPI HMETAFILE WINAPI GetMetaFileW (LPCWSTR);
3280 WINGDIAPI UINT WINAPI GetMetaFileBitsEx (HMETAFILE, UINT, PVOID);
3281 WINGDIAPI int WINAPI GetMetaRgn (HDC, HRGN);
3282 WINGDIAPI BOOL WINAPI GetMiterLimit (HDC, PFLOAT);
3283 WINGDIAPI COLORREF WINAPI GetNearestColor (HDC, COLORREF);
3284 WINGDIAPI UINT WINAPI GetNearestPaletteIndex (HPALETTE, COLORREF);
3286 #define GetObject __AW_SUFFIXED__(GetObject)
3287 WINGDIAPI int WINAPI GetObjectA (HGDIOBJ, int, PVOID);
3288 WINGDIAPI int WINAPI GetObjectW (HGDIOBJ, int, PVOID);
3290 WINGDIAPI DWORD WINAPI GetObjectType (HGDIOBJ);
3292 #define GetOutlineTextMetrics __AW_SUFFIXED__(GetOutlineTextMetrics)
3293 WINGDIAPI UINT WINAPI GetOutlineTextMetricsA (HDC, UINT, LPOUTLINETEXTMETRICA);
3294 WINGDIAPI UINT WINAPI GetOutlineTextMetricsW (HDC, UINT, LPOUTLINETEXTMETRICW);
3296 WINGDIAPI UINT WINAPI GetPaletteEntries (HPALETTE, UINT, UINT, LPPALETTEENTRY);
3297 WINGDIAPI int WINAPI GetPath (HDC, LPPOINT, PBYTE, int);
3298 WINGDIAPI COLORREF WINAPI GetPixel (HDC, int, int);
3299 WINGDIAPI int WINAPI GetPixelFormat (HDC);
3300 WINGDIAPI int WINAPI GetPolyFillMode (HDC);
3301 WINGDIAPI BOOL WINAPI GetRasterizerCaps (LPRASTERIZER_STATUS, UINT);
3302 WINGDIAPI int WINAPI GetRandomRgn (HDC, HRGN, INT);
3303 WINGDIAPI DWORD WINAPI GetRegionData (HRGN, DWORD, LPRGNDATA);
3304 WINGDIAPI int WINAPI GetRgnBox (HRGN, LPRECT);
3305 WINGDIAPI int WINAPI GetROP2 (HDC);
3306 WINGDIAPI HGDIOBJ WINAPI GetStockObject (int);
3307 WINGDIAPI int WINAPI GetStretchBltMode (HDC);
3309 WINGDIAPI UINT WINAPI GetSystemPaletteEntries
3310 (HDC, UINT, UINT, LPPALETTEENTRY);
3312 WINGDIAPI UINT WINAPI GetSystemPaletteUse (HDC);
3313 WINGDIAPI UINT WINAPI GetTextAlign (HDC);
3314 WINGDIAPI int WINAPI GetTextCharacterExtra (HDC);
3315 WINGDIAPI int WINAPI GetTextCharset (HDC);
3316 WINGDIAPI int WINAPI GetTextCharsetInfo (HDC, LPFONTSIGNATURE, DWORD);
3317 WINGDIAPI COLORREF WINAPI GetTextColor (HDC);
3319 #define GetTextExtentExPoint __AW_SUFFIXED__(GetTextExtentExPoint)
3320 WINGDIAPI BOOL WINAPI GetTextExtentExPointA
3321 (HDC, LPCSTR, int, int, LPINT, LPINT, LPSIZE);
3323 WINGDIAPI BOOL WINAPI GetTextExtentExPointW
3324 ( HDC, LPCWSTR, int, int, LPINT, LPINT, LPSIZE );
3326 #define GetTextExtentPoint __AW_SUFFIXED__(GetTextExtentPoint)
3327 WINGDIAPI BOOL WINAPI GetTextExtentPointA (HDC, LPCSTR, int, LPSIZE);
3328 WINGDIAPI BOOL WINAPI GetTextExtentPointW (HDC, LPCWSTR, int, LPSIZE);
3330 #define GetTextExtentPoint32 __AW_SUFFIXED__(GetTextExtentPoint32)
3331 WINGDIAPI BOOL WINAPI GetTextExtentPoint32A (HDC, LPCSTR, int, LPSIZE);
3332 WINGDIAPI BOOL WINAPI GetTextExtentPoint32W (HDC, LPCWSTR, int, LPSIZE);
3334 #define GetTextFace __AW_SUFFIXED__(GetTextFace)
3335 WINGDIAPI int WINAPI GetTextFaceA (HDC, int, LPSTR);
3336 WINGDIAPI int WINAPI GetTextFaceW (HDC, int, LPWSTR);
3338 #define GetTextMetrics __AW_SUFFIXED__(GetTextMetrics)
3339 WINGDIAPI BOOL WINAPI GetTextMetricsA (HDC, LPTEXTMETRICA);
3340 WINGDIAPI BOOL WINAPI GetTextMetricsW (HDC, LPTEXTMETRICW);
3342 WINGDIAPI BOOL WINAPI GetViewportExtEx (HDC, LPSIZE);
3343 WINGDIAPI BOOL WINAPI GetViewportOrgEx (HDC, LPPOINT);
3344 WINGDIAPI BOOL WINAPI GetWindowExtEx (HDC, LPSIZE);
3345 WINGDIAPI BOOL WINAPI GetWindowOrgEx (HDC, LPPOINT);
3347 WINGDIAPI UINT WINAPI GetWinMetaFileBits
3348 (HENHMETAFILE, UINT, LPBYTE, INT, HDC);
3350 WINGDIAPI BOOL WINAPI GetWorldTransform (HDC, LPXFORM);
3351 WINGDIAPI int WINAPI IntersectClipRect (HDC, int, int, int, int);
3352 WINGDIAPI BOOL WINAPI InvertRgn (HDC, HRGN);
3353 WINGDIAPI BOOL WINAPI LineDDA (int, int, int, int, LINEDDAPROC, LPARAM);
3354 WINGDIAPI BOOL WINAPI LineTo (HDC, int, int);
3355 WINGDIAPI BOOL WINAPI LPtoDP (HDC, LPPOINT, int);
3357 WINGDIAPI BOOL WINAPI MaskBlt
3358 (HDC, int, int, int, int, HDC, int, int, HBITMAP, int, int, DWORD);
3360 WINGDIAPI BOOL WINAPI ModifyWorldTransform (HDC, const XFORM *, DWORD);
3361 WINGDIAPI BOOL WINAPI MoveToEx (HDC, int, int, LPPOINT);
3362 WINGDIAPI int WINAPI OffsetClipRgn (HDC, int, int);
3363 WINGDIAPI int WINAPI OffsetRgn (HRGN, int, int);
3364 WINGDIAPI BOOL WINAPI OffsetViewportOrgEx (HDC, int, int, LPPOINT);
3365 WINGDIAPI BOOL WINAPI OffsetWindowOrgEx (HDC, int, int, LPPOINT);
3366 WINGDIAPI BOOL WINAPI PaintRgn (HDC, HRGN);
3367 WINGDIAPI BOOL WINAPI PatBlt (HDC, int, int, int, int, DWORD);
3368 WINGDIAPI HRGN WINAPI PathToRegion (HDC);
3369 WINGDIAPI BOOL WINAPI Pie (HDC, int, int, int, int, int, int, int, int);
3370 WINGDIAPI BOOL WINAPI PlayEnhMetaFile (HDC, HENHMETAFILE, LPCRECT);
3372 WINGDIAPI BOOL WINAPI PlayEnhMetaFileRecord
3373 (HDC, LPHANDLETABLE, const ENHMETARECORD *, UINT);
3375 WINGDIAPI BOOL WINAPI PlayMetaFile (HDC, HMETAFILE);
3377 WINGDIAPI BOOL WINAPI PlayMetaFileRecord
3378 (HDC, LPHANDLETABLE, LPMETARECORD, UINT);
3380 WINGDIAPI BOOL WINAPI PlgBlt
3381 (HDC, const POINT *, HDC, int, int, int, int, HBITMAP, int, int);
3383 WINGDIAPI BOOL WINAPI PolyBezier (HDC, const POINT *, DWORD);
3384 WINGDIAPI BOOL WINAPI PolyBezierTo (HDC, const POINT *, DWORD);
3385 WINGDIAPI BOOL WINAPI PolyDraw (HDC, const POINT *, const BYTE *, int);
3386 WINGDIAPI BOOL WINAPI Polygon (HDC, const POINT *, int);
3387 WINGDIAPI BOOL WINAPI Polyline (HDC, const POINT *, int);
3388 WINGDIAPI BOOL WINAPI PolylineTo (HDC, const POINT *, DWORD);
3389 WINGDIAPI BOOL WINAPI PolyPolygon (HDC, const POINT *, const INT *, int);
3390 WINGDIAPI BOOL WINAPI PolyPolyline (HDC, const POINT *, const DWORD *, DWORD);
3392 #define PolyTextOut __AW_SUFFIXED__(PolyTextOut)
3393 WINGDIAPI BOOL WINAPI PolyTextOutA (HDC, const POLYTEXTA *, int);
3394 WINGDIAPI BOOL WINAPI PolyTextOutW (HDC, const POLYTEXTW *, int);
3396 WINGDIAPI BOOL WINAPI PtInRegion (HRGN, int, int);
3397 WINGDIAPI BOOL WINAPI PtVisible (HDC, int, int);
3398 WINGDIAPI UINT WINAPI RealizePalette (HDC);
3399 WINGDIAPI BOOL WINAPI Rectangle (HDC, int, int, int, int);
3400 WINGDIAPI BOOL WINAPI RectInRegion (HRGN, LPCRECT);
3401 WINGDIAPI BOOL WINAPI RectVisible (HDC, LPCRECT);
3403 #define RemoveFontResource __AW_SUFFIXED__(RemoveFontResource)
3404 WINGDIAPI BOOL WINAPI RemoveFontResourceA (LPCSTR);
3405 WINGDIAPI BOOL WINAPI RemoveFontResourceW (LPCWSTR);
3407 #define ResetDC __AW_SUFFIXED__(ResetDC)
3408 WINGDIAPI HDC WINAPI ResetDCA (HDC, const DEVMODEA *);
3409 WINGDIAPI HDC WINAPI ResetDCW (HDC, const DEVMODEW *);
3411 WINGDIAPI BOOL WINAPI ResizePalette (HPALETTE, UINT);
3412 WINGDIAPI BOOL WINAPI RestoreDC (HDC, int);
3413 WINGDIAPI BOOL WINAPI RoundRect (HDC, int, int, int, int, int, int);
3414 WINGDIAPI int WINAPI SaveDC (HDC);
3415 WINGDIAPI BOOL WINAPI ScaleViewportExtEx (HDC, int, int, int, int, LPSIZE);
3416 WINGDIAPI BOOL WINAPI ScaleWindowExtEx (HDC, int, int, int, int, LPSIZE);
3417 WINGDIAPI BOOL WINAPI SelectClipPath (HDC, int);
3418 WINGDIAPI int WINAPI SelectClipRgn (HDC, HRGN);
3419 WINGDIAPI HGDIOBJ WINAPI SelectObject (HDC, HGDIOBJ);
3420 WINGDIAPI HPALETTE WINAPI SelectPalette (HDC, HPALETTE, BOOL);
3421 WINGDIAPI int WINAPI SetAbortProc (HDC, ABORTPROC);
3422 WINGDIAPI int WINAPI SetArcDirection (HDC, int);
3423 WINGDIAPI LONG WINAPI SetBitmapBits (HBITMAP, DWORD, PCVOID);
3424 WINGDIAPI BOOL WINAPI SetBitmapDimensionEx (HBITMAP, int, int, LPSIZE);
3425 WINGDIAPI COLORREF WINAPI SetBkColor (HDC, COLORREF);
3426 WINGDIAPI int WINAPI SetBkMode (HDC, int);
3427 WINGDIAPI UINT WINAPI SetBoundsRect (HDC, LPCRECT, UINT);
3428 WINGDIAPI BOOL WINAPI SetBrushOrgEx (HDC, int, int, LPPOINT);
3429 WINGDIAPI BOOL WINAPI SetColorAdjustment (HDC, const COLORADJUSTMENT *);
3430 WINGDIAPI BOOL WINAPI SetColorSpace (HDC, HCOLORSPACE);
3432 WINGDIAPI BOOL WINAPI SetDeviceGammaRamp (HDC, PVOID);
3433 WINGDIAPI UINT WINAPI SetDIBColorTable (HDC, UINT, UINT, const RGBQUAD *);
3435 WINGDIAPI int WINAPI SetDIBits
3436 (HDC, HBITMAP, UINT, UINT, PCVOID, const BITMAPINFO *, UINT);
3438 WINGDIAPI int WINAPI SetDIBitsToDevice
3439 (HDC, int, int, DWORD, DWORD, int, int, UINT, UINT, PCVOID,
3440 const BITMAPINFO *, UINT
3443 WINGDIAPI HENHMETAFILE WINAPI SetEnhMetaFileBits (UINT, const BYTE *);
3444 WINGDIAPI int WINAPI SetGraphicsMode (HDC, int);
3445 WINGDIAPI int WINAPI SetICMMode (HDC, int);
3447 #define SetICMProfile __AW_SUFFIXED__(SetICMProfile)
3448 WINGDIAPI BOOL WINAPI SetICMProfileA (HDC, LPSTR);
3449 WINGDIAPI BOOL WINAPI SetICMProfileW (HDC, LPWSTR);
3451 WINGDIAPI int WINAPI SetMapMode (HDC, int);
3452 WINGDIAPI DWORD WINAPI SetMapperFlags (HDC, DWORD);
3453 WINGDIAPI HMETAFILE WINAPI SetMetaFileBitsEx (UINT, const BYTE *);
3454 WINGDIAPI int WINAPI SetMetaRgn (HDC);
3455 WINGDIAPI BOOL WINAPI SetMiterLimit (HDC, FLOAT, PFLOAT);
3457 WINGDIAPI UINT WINAPI SetPaletteEntries
3458 (HPALETTE, UINT, UINT, const PALETTEENTRY *);
3460 WINGDIAPI COLORREF WINAPI SetPixel (HDC, int, int, COLORREF);
3461 WINGDIAPI BOOL WINAPI SetPixelFormat (HDC, int, const PIXELFORMATDESCRIPTOR *);
3462 WINGDIAPI BOOL WINAPI SetPixelV (HDC, int, int, COLORREF);
3463 WINGDIAPI int WINAPI SetPolyFillMode (HDC, int);
3464 WINGDIAPI BOOL WINAPI SetRectRgn (HRGN, int, int, int, int);
3465 WINGDIAPI int WINAPI SetROP2 (HDC, int);
3466 WINGDIAPI int WINAPI SetStretchBltMode (HDC, int);
3467 WINGDIAPI UINT WINAPI SetSystemPaletteUse (HDC, UINT);
3468 WINGDIAPI UINT WINAPI SetTextAlign (HDC, UINT);
3469 WINGDIAPI int WINAPI SetTextCharacterExtra (HDC, int);
3470 WINGDIAPI COLORREF WINAPI SetTextColor (HDC, COLORREF);
3471 WINGDIAPI BOOL WINAPI SetTextJustification (HDC, int, int);
3472 WINGDIAPI BOOL WINAPI SetViewportExtEx (HDC, int, int, LPSIZE);
3473 WINGDIAPI BOOL WINAPI SetViewportOrgEx (HDC, int, int, LPPOINT);
3474 WINGDIAPI BOOL WINAPI SetWindowExtEx (HDC, int, int, LPSIZE);
3475 WINGDIAPI BOOL WINAPI SetWindowOrgEx (HDC, int, int, LPPOINT);
3477 WINGDIAPI HENHMETAFILE WINAPI SetWinMetaFileBits
3478 (UINT, const BYTE *, HDC, const METAFILEPICT *);
3480 WINGDIAPI BOOL WINAPI SetWorldTransform (HDC, const XFORM *);
3482 #define StartDoc __AW_SUFFIXED__(StartDoc)
3483 WINGDIAPI int WINAPI StartDocA (HDC, const DOCINFOA *);
3484 WINGDIAPI int WINAPI StartDocW (HDC, const DOCINFOW *);
3486 WINGDIAPI int WINAPI StartPage (HDC);
3488 WINGDIAPI BOOL WINAPI StretchBlt
3489 (HDC, int, int, int, int, HDC, int, int, int, int, DWORD);
3491 WINGDIAPI int WINAPI StretchDIBits
3492 (HDC, int, int, int, int, int, int, int, int, const VOID *,
3493 const BITMAPINFO *, UINT, DWORD
3496 WINGDIAPI BOOL WINAPI StrokeAndFillPath (HDC);
3497 WINGDIAPI BOOL WINAPI StrokePath (HDC);
3498 WINGDIAPI BOOL WINAPI SwapBuffers (HDC);
3500 #define TextOut __AW_SUFFIXED__(TextOut)
3501 WINGDIAPI BOOL WINAPI TextOutA (HDC, int, int, LPCSTR, int);
3502 WINGDIAPI BOOL WINAPI TextOutW (HDC, int, int, LPCWSTR, int);
3504 WINGDIAPI BOOL WINAPI TranslateCharsetInfo (PDWORD, LPCHARSETINFO, DWORD);
3505 WINGDIAPI BOOL WINAPI UnrealizeObject (HGDIOBJ);
3506 WINGDIAPI BOOL WINAPI UpdateColors (HDC);
3508 #define UpdateICMRegKey __AW_SUFFIXED__(UpdateICMRegKey)
3509 WINGDIAPI BOOL WINAPI UpdateICMRegKeyA (DWORD, DWORD, LPSTR, UINT);
3510 WINGDIAPI BOOL WINAPI UpdateICMRegKeyW (DWORD, DWORD, LPWSTR, UINT);
3512 WINGDIAPI BOOL WINAPI WidenPath (HDC);
3513 WINGDIAPI BOOL WINAPI wglCopyContext (HGLRC, HGLRC, UINT);
3514 WINGDIAPI HGLRC WINAPI wglCreateContext (HDC);
3515 WINGDIAPI HGLRC WINAPI wglCreateLayerContext (HDC, int);
3516 WINGDIAPI BOOL WINAPI wglDeleteContext (HGLRC);
3518 WINGDIAPI BOOL WINAPI wglDescribeLayerPlane
3519 (HDC, int, int, UINT, LPLAYERPLANEDESCRIPTOR);
3521 WINGDIAPI HGLRC WINAPI wglGetCurrentContext (void);
3522 WINGDIAPI HDC WINAPI wglGetCurrentDC (void);
3524 WINGDIAPI int WINAPI wglGetLayerPaletteEntries
3525 (HDC, int, int, int, COLORREF *);
3527 WINGDIAPI PROC WINAPI wglGetProcAddress (LPCSTR);
3528 WINGDIAPI BOOL WINAPI wglMakeCurrent (HDC, HGLRC);
3529 WINGDIAPI BOOL WINAPI wglRealizeLayerPalette (HDC, int, BOOL);
3531 WINGDIAPI int WINAPI wglSetLayerPaletteEntries
3532 (HDC, int, int, int, const COLORREF *);
3534 WINGDIAPI BOOL WINAPI wglShareLists (HGLRC, HGLRC);
3535 WINGDIAPI BOOL WINAPI wglSwapLayerBuffers (HDC, UINT);
3537 #define wglUseFontBitmaps __AW_SUFFIXED__(wglUseFontBitmaps)
3538 WINGDIAPI BOOL WINAPI wglUseFontBitmapsA (HDC, DWORD, DWORD, DWORD);
3539 WINGDIAPI BOOL WINAPI wglUseFontBitmapsW (HDC, DWORD, DWORD, DWORD);
3541 #define wglUseFontOutlines __AW_SUFFIXED__(wglUseFontOutlines)
3542 WINGDIAPI BOOL WINAPI wglUseFontOutlinesA
3543 (HDC, DWORD, DWORD, DWORD, FLOAT, FLOAT, int, LPGLYPHMETRICSFLOAT);
3545 WINGDIAPI BOOL WINAPI wglUseFontOutlinesW
3546 (HDC, DWORD, DWORD, DWORD, FLOAT, FLOAT, int, LPGLYPHMETRICSFLOAT);
3548 #if WINVER >= _WIN32_WINDOWS_98 /* also WINNT >= WIN2K */
3549 WINGDIAPI BOOL WINAPI AlphaBlend
3550 (HDC, int, int, int, int, HDC, int, int, int, int, BLENDFUNCTION);
3552 WINGDIAPI BOOL WINAPI GradientFill
3553 (HDC, PTRIVERTEX, ULONG, PVOID, ULONG, ULONG);
3555 WINGDIAPI BOOL WINAPI TransparentBlt
3556 (HDC, int, int, int, int, HDC, int, int, int, int, UINT);
3558 #if WINVER >= _WIN32_WINNT_WIN2K
3559 WINGDIAPI DWORD WINAPI GetLayout (HDC);
3560 WINGDIAPI DWORD WINAPI SetLayout (HDC, DWORD);
3562 WINGDIAPI COLORREF WINAPI GetDCBrushColor (HDC);
3563 WINGDIAPI COLORREF WINAPI GetDCPenColor (HDC);
3564 #endif /* WINVER >= Win2K */
3565 #endif /* WINVER >= Win98/Win2K */
3567 #if _WIN32_WINNT >= _WIN32_WINNT_WIN2K
3568 typedef struct tagWCRANGE
3571 } WCRANGE, *PWCRANGE, *LPWCRANGE;
3573 typedef struct tagGLYPHSET
3576 DWORD cGlyphsSupported;
3579 } GLYPHSET, *PGLYPHSET, *LPGLYPHSET;
3581 typedef struct tagENUMLOGFONTEXDVA
3582 { ENUMLOGFONTEXA elfEnumLogfontEx;
3583 DESIGNVECTOR elfDesignVector;
3584 } ENUMLOGFONTEXDVA, *PENUMLOGFONTEXDVA, *LPENUMLOGFONTEXDVA;
3586 typedef struct tagENUMLOGFONTEXDVW
3587 { ENUMLOGFONTEXW elfEnumLogfontEx;
3588 DESIGNVECTOR elfDesignVector;
3589 } ENUMLOGFONTEXDVW, *PENUMLOGFONTEXDVW, *LPENUMLOGFONTEXDVW;
3591 typedef __AW_ALIAS__(ENUMLOGFONTEXDV), *PENUMLOGFONTEXDV, *LPENUMLOGFONTEXDV;
3593 WINGDIAPI HANDLE WINAPI AddFontMemResourceEx (PVOID, DWORD, PVOID, DWORD *);
3595 #define AddFontResourceEx __AW_SUFFIXED__(AddFontResourceEx)
3596 WINGDIAPI int WINAPI AddFontResourceExA (LPCSTR, DWORD, PVOID);
3597 WINGDIAPI int WINAPI AddFontResourceExW (LPCWSTR, DWORD, PVOID);
3599 WINGDIAPI BOOL WINAPI GetTextExtentExPointI
3600 (HDC, LPWORD, int, int, LPINT, LPINT, LPSIZE);
3602 WINGDIAPI BOOL WINAPI RemoveFontMemResourceEx (HANDLE);
3604 #define RemoveFontResourceEx __AW_SUFFIXED__(RemoveFontResourceEx)
3605 WINGDIAPI BOOL WINAPI RemoveFontResourceExA (LPCSTR, DWORD, PVOID);
3606 WINGDIAPI BOOL WINAPI RemoveFontResourceExW (LPCWSTR, DWORD, PVOID);
3608 WINGDIAPI COLORREF WINAPI SetDCBrushColor (HDC, COLORREF);
3609 WINGDIAPI COLORREF WINAPI SetDCPenColor (HDC, COLORREF);
3611 WINGDIAPI DWORD WINAPI GetFontUnicodeRanges (HDC, LPGLYPHSET);
3613 #define GetGlyphIndices __AW_SUFFIXED__(GetGlyphIndices)
3614 WINGDIAPI DWORD WINAPI GetGlyphIndicesA (HDC, LPCSTR, int, LPWORD, DWORD);
3615 WINGDIAPI DWORD WINAPI GetGlyphIndicesW (HDC, LPCWSTR, int, LPWORD, DWORD);
3616 #endif /* WINNT >= Win2K */
3617 #endif /* ! RC_INVOKED */
3621 #endif /* !_WINGDI_H: $RCSfile$: end of file */