13 #pragma warning(disable:4201)
14 #pragma warning(disable:4820)
17 /* Get/SetSystemPaletteUse() values */
18 #define SYSPAL_ERROR 0
19 #define SYSPAL_STATIC 1
20 #define SYSPAL_NOSTATIC 2
21 #define SYSPAL_NOSTATIC256 3
25 #define NTM_NONNEGATIVE_AC 0x00010000
26 #define NTM_PS_OPENTYPE 0x00020000
27 #define NTM_TT_OPENTYPE 0x00040000
28 #define NTM_MULTIPLEMASTER 0x00080000
29 #define NTM_TYPE1 0x00100000
30 #define NTM_DSIG 0x00200000
33 #define AC_SRC_ALPHA 1
37 #define BI_BITFIELDS 3
40 #define LF_FACESIZE 32
41 #define LF_FULLFACESIZE 64
43 #define CA_LOG_FILTER 2
44 #define ILLUMINANT_DEVICE_DEFAULT 0
45 #define ILLUMINANT_A 1
46 #define ILLUMINANT_B 2
47 #define ILLUMINANT_C 3
48 #define ILLUMINANT_D50 4
49 #define ILLUMINANT_D55 5
50 #define ILLUMINANT_D65 6
51 #define ILLUMINANT_D75 7
52 #define ILLUMINANT_F2 8
53 #define ILLUMINANT_MAX_INDEX ILLUMINANT_F2
54 #define ILLUMINANT_TUNGSTEN ILLUMINANT_A
55 #define ILLUMINANT_DAYLIGHT ILLUMINANT_C
56 #define ILLUMINANT_FLUORESCENT ILLUMINANT_F2
57 #define ILLUMINANT_NTSC ILLUMINANT_C
58 #define RGB_GAMMA_MIN 2500
59 #define RGB_GAMMA_MAX 65000
60 #define REFERENCE_WHITE_MIN 6000
61 #define REFERENCE_WHITE_MAX 10000
62 #define REFERENCE_BLACK_MIN 0
63 #define REFERENCE_BLACK_MAX 4000
64 #define COLOR_ADJ_MIN (-100)
65 #define COLOR_ADJ_MAX 100
66 #define CCHDEVICENAME 32
67 #define CCHFORMNAME 32
69 #define DI_DEFAULTSIZE 8
73 #define DI_APPBANDING 1
74 #define DI_NOMIRROR 16
76 #define EMR_POLYBEZIER 2
78 #define EMR_POLYLINE 4
79 #define EMR_POLYBEZIERTO 5
80 #define EMR_POLYLINETO 6
81 #define EMR_POLYPOLYLINE 7
82 #define EMR_POLYPOLYGON 8
83 #define EMR_SETWINDOWEXTEX 9
84 #define EMR_SETWINDOWORGEX 10
85 #define EMR_SETVIEWPORTEXTEX 11
86 #define EMR_SETVIEWPORTORGEX 12
87 #define EMR_SETBRUSHORGEX 13
89 #define EMR_SETPIXELV 15
90 #define EMR_SETMAPPERFLAGS 16
91 #define EMR_SETMAPMODE 17
92 #define EMR_SETBKMODE 18
93 #define EMR_SETPOLYFILLMODE 19
94 #define EMR_SETROP2 20
95 #define EMR_SETSTRETCHBLTMODE 21
96 #define EMR_SETTEXTALIGN 22
97 #define EMR_SETCOLORADJUSTMENT 23
98 #define EMR_SETTEXTCOLOR 24
99 #define EMR_SETBKCOLOR 25
100 #define EMR_OFFSETCLIPRGN 26
101 #define EMR_MOVETOEX 27
102 #define EMR_SETMETARGN 28
103 #define EMR_EXCLUDECLIPRECT 29
104 #define EMR_INTERSECTCLIPRECT 30
105 #define EMR_SCALEVIEWPORTEXTEX 31
106 #define EMR_SCALEWINDOWEXTEX 32
107 #define EMR_SAVEDC 33
108 #define EMR_RESTOREDC 34
109 #define EMR_SETWORLDTRANSFORM 35
110 #define EMR_MODIFYWORLDTRANSFORM 36
111 #define EMR_SELECTOBJECT 37
112 #define EMR_CREATEPEN 38
113 #define EMR_CREATEBRUSHINDIRECT 39
114 #define EMR_DELETEOBJECT 40
115 #define EMR_ANGLEARC 41
116 #define EMR_ELLIPSE 42
117 #define EMR_RECTANGLE 43
118 #define EMR_ROUNDRECT 44
122 #define EMR_SELECTPALETTE 48
123 #define EMR_CREATEPALETTE 49
124 #define EMR_SETPALETTEENTRIES 50
125 #define EMR_RESIZEPALETTE 51
126 #define EMR_REALIZEPALETTE 52
127 #define EMR_EXTFLOODFILL 53
128 #define EMR_LINETO 54
130 #define EMR_POLYDRAW 56
131 #define EMR_SETARCDIRECTION 57
132 #define EMR_SETMITERLIMIT 58
133 #define EMR_BEGINPATH 59
134 #define EMR_ENDPATH 60
135 #define EMR_CLOSEFIGURE 61
136 #define EMR_FILLPATH 62
137 #define EMR_STROKEANDFILLPATH 63
138 #define EMR_STROKEPATH 64
139 #define EMR_FLATTENPATH 65
140 #define EMR_WIDENPATH 66
141 #define EMR_SELECTCLIPPATH 67
142 #define EMR_ABORTPATH 68
143 #define EMR_GDICOMMENT 70
144 #define EMR_FILLRGN 71
145 #define EMR_FRAMERGN 72
146 #define EMR_INVERTRGN 73
147 #define EMR_PAINTRGN 74
148 #define EMR_EXTSELECTCLIPRGN 75
149 #define EMR_BITBLT 76
150 #define EMR_STRETCHBLT 77
151 #define EMR_MASKBLT 78
152 #define EMR_PLGBLT 79
153 #define EMR_SETDIBITSTODEVICE 80
154 #define EMR_STRETCHDIBITS 81
155 #define EMR_EXTCREATEFONTINDIRECTW 82
156 #define EMR_EXTTEXTOUTA 83
157 #define EMR_EXTTEXTOUTW 84
158 #define EMR_POLYBEZIER16 85
159 #define EMR_POLYGON16 86
160 #define EMR_POLYLINE16 87
161 #define EMR_POLYBEZIERTO16 88
162 #define EMR_POLYLINETO16 89
163 #define EMR_POLYPOLYLINE16 90
164 #define EMR_POLYPOLYGON16 91
165 #define EMR_POLYDRAW16 92
166 #define EMR_CREATEMONOBRUSH 93
167 #define EMR_CREATEDIBPATTERNBRUSHPT 94
168 #define EMR_EXTCREATEPEN 95
169 #define EMR_POLYTEXTOUTA 96
170 #define EMR_POLYTEXTOUTW 97
171 #define EMR_SETICMMODE 98
172 #define EMR_CREATECOLORSPACE 99
173 #define EMR_SETCOLORSPACE 100
174 #define EMR_DELETECOLORSPACE 101
175 #define EMR_GLSRECORD 102
176 #define EMR_GLSBOUNDEDRECORD 103
177 #define EMR_PIXELFORMAT 104
178 #if (_WIN32_WINNT >= 0x0500)
179 #define EMR_DRAWESCAPE 105
180 #define EMR_EXTESCAPE 106
181 #define EMR_STARTDOC 107
182 #define EMR_SMALLTEXTOUT 108
183 #define EMR_FORCEUFIMAPPING 109
184 #define EMR_NAMEDESCAPE 110
185 #define EMR_COLORCORRECTPALETTE 111
186 #define EMR_SETICMPROFILEA 112
187 #define EMR_SETICMPROFILEW 113
188 #define EMR_ALPHABLEND 114
189 #define EMR_ALPHADIBBLEND 115
190 #define EMR_SETLAYOUT 115
191 #define EMR_TRANSPARENTBLT 116
192 #define EMR_TRANSPARENTDIB 117
193 #define EMR_RESERVED_117 117
194 #define EMR_GRADIENTFILL 118
195 #define EMR_SETLINKEDUFIS 119
196 #define EMR_SETTEXTJUSTIFICATION 120
197 #define EMR_COLORMATCHTOTARGETW 121
198 #define EMR_CREATECOLORSPACEW 122
204 #define ENHMETA_SIGNATURE 1179469088
205 #define EPS_SIGNATURE 0x46535045
206 #if (_WIN32_WINNT >= 0x0500)
207 #define FR_PRIVATE 0x10
208 #define FR_NOT_ENUM 0x20
210 #define META_SETBKCOLOR 0x201
211 #define META_SETBKMODE 0x102
212 #define META_SETMAPMODE 0x103
213 #define META_SETROP2 0x104
214 #define META_SETRELABS 0x105
215 #define META_SETPOLYFILLMODE 0x106
216 #define META_SETSTRETCHBLTMODE 0x107
217 #define META_SETTEXTCHAREXTRA 0x108
218 #define META_SETTEXTCOLOR 0x209
219 #define META_SETTEXTJUSTIFICATION 0x20A
220 #define META_SETWINDOWORG 0x20B
221 #define META_SETWINDOWEXT 0x20C
222 #define META_SETVIEWPORTORG 0x20D
223 #define META_SETVIEWPORTEXT 0x20E
224 #define META_OFFSETWINDOWORG 0x20F
225 #define META_SCALEWINDOWEXT 0x410
226 #define META_OFFSETVIEWPORTORG 0x211
227 #define META_SCALEVIEWPORTEXT 0x412
228 #define META_LINETO 0x213
229 #define META_MOVETO 0x214
230 #define META_EXCLUDECLIPRECT 0x415
231 #define META_INTERSECTCLIPRECT 0x416
232 #define META_ARC 0x817
233 #define META_ELLIPSE 0x418
234 #define META_FLOODFILL 0x419
235 #define META_PIE 0x81A
236 #define META_RECTANGLE 0x41B
237 #define META_ROUNDRECT 0x61C
238 #define META_PATBLT 0x61D
239 #define META_SAVEDC 0x1E
240 #define META_SETPIXEL 0x41F
241 #define META_OFFSETCLIPRGN 0x220
242 #define META_TEXTOUT 0x521
243 #define META_BITBLT 0x922
244 #define META_STRETCHBLT 0xB23
245 #define META_POLYGON 0x324
246 #define META_POLYLINE 0x325
247 #define META_ESCAPE 0x626
248 #define META_RESTOREDC 0x127
249 #define META_FILLREGION 0x228
250 #define META_FRAMEREGION 0x429
251 #define META_INVERTREGION 0x12A
252 #define META_PAINTREGION 0x12B
253 #define META_SELECTCLIPREGION 0x12C
254 #define META_SELECTOBJECT 0x12D
255 #define META_SETTEXTALIGN 0x12E
256 #define META_CHORD 0x830
257 #define META_SETMAPPERFLAGS 0x231
258 #define META_EXTTEXTOUT 0xa32
259 #define META_SETDIBTODEV 0xd33
260 #define META_SELECTPALETTE 0x234
261 #define META_REALIZEPALETTE 0x35
262 #define META_ANIMATEPALETTE 0x436
263 #define META_SETPALENTRIES 0x37
264 #define META_POLYPOLYGON 0x538
265 #define META_RESIZEPALETTE 0x139
266 #define META_DIBBITBLT 0x940
267 #define META_DIBSTRETCHBLT 0xb41
268 #define META_DIBCREATEPATTERNBRUSH 0x142
269 #define META_STRETCHDIB 0xf43
270 #define META_EXTFLOODFILL 0x548
271 #define META_DELETEOBJECT 0x1f0
272 #define META_CREATEPALETTE 0xf7
273 #define META_CREATEPATTERNBRUSH 0x1F9
274 #define META_CREATEPENINDIRECT 0x2FA
275 #define META_CREATEFONTINDIRECT 0x2FB
276 #define META_CREATEBRUSHINDIRECT 0x2FC
277 #define META_CREATEREGION 0x6FF
278 #define META_DRAWTEXT 0x062F
279 #define META_RESETDC 0x014C
280 #define META_STARTDOC 0x014D
281 #define META_STARTPAGE 0x004F
282 #define META_ENDPAGE 0x0050
283 #define META_ABORTDOC 0x0052
284 #define META_ENDDOC 0x005E
285 #define META_CREATEBRUSH 0x00F8
286 #define META_CREATEBITMAPINDIRECT 0x02FD
287 #define META_CREATEBITMAP 0x06FE
290 #define PT_BEZIERTO 4
291 #define PT_CLOSEFIGURE 1
292 #define ELF_VENDOR_SIZE 4
293 #define ELF_VERSION 0
294 #define ELF_CULTURE_LATIN 0
295 #define PFD_TYPE_RGBA 0
296 #define PFD_TYPE_COLORINDEX 1
297 #define PFD_MAIN_PLANE 0
298 #define PFD_OVERLAY_PLANE 1
299 #define PFD_UNDERLAY_PLANE (-1)
300 #define PFD_DOUBLEBUFFER 1
302 #define PFD_DRAW_TO_WINDOW 4
303 #define PFD_DRAW_TO_BITMAP 8
304 #define PFD_SUPPORT_GDI 16
305 #define PFD_SUPPORT_OPENGL 32
306 #define PFD_GENERIC_FORMAT 64
307 #define PFD_NEED_PALETTE 128
308 #define PFD_NEED_SYSTEM_PALETTE 0x00000100
309 #define PFD_SWAP_EXCHANGE 0x00000200
310 #define PFD_SWAP_COPY 0x00000400
311 #define PFD_SWAP_LAYER_BUFFERS 0x00000800
312 #define PFD_GENERIC_ACCELERATED 0x00001000
313 #define PFD_SUPPORT_COMPOSITION 0x00008000
314 #define PFD_DEPTH_DONTCARE 0x20000000
315 #define PFD_DOUBLEBUFFER_DONTCARE 0x40000000
316 #define PFD_STEREO_DONTCARE 0x80000000
317 #define SP_ERROR (-1)
318 #define SP_OUTOFDISK (-4)
319 #define SP_OUTOFMEMORY (-5)
320 #define SP_USERABORT (-3)
321 #define SP_APPABORT (-2)
322 #define BLACKNESS 0x42
323 #define NOTSRCERASE 0x1100A6
324 #define NOTSRCCOPY 0x330008
325 #define SRCERASE 0x440328
326 #define DSTINVERT 0x550009
327 #define PATINVERT 0x5A0049
328 #define SRCINVERT 0x660046
329 #define SRCAND 0x8800C6
330 #define MERGEPAINT 0xBB0226
331 #define MERGECOPY 0xC000CA
332 #define SRCCOPY 0xCC0020
333 #define SRCPAINT 0xEE0086
334 #define PATCOPY 0xF00021
335 #define PATPAINT 0xFB0A09
336 #define WHITENESS 0xFF0062
338 #define R2_COPYPEN 13
339 #define R2_MASKNOTPEN 3
341 #define R2_MASKPENNOT 5
342 #define R2_MERGENOTPEN 12
343 #define R2_MERGEPEN 15
344 #define R2_MERGEPENNOT 14
347 #define R2_NOTCOPYPEN 4
348 #define R2_NOTMASKPEN 8
349 #define R2_NOTMERGEPEN 2
350 #define R2_NOTXORPEN 10
353 #define CM_OUT_OF_GAMUT 255
354 #define CM_IN_GAMUT 0
361 #define SIMPLEREGION 2
362 #define COMPLEXREGION 3
365 #define DIB_PAL_COLORS 1
366 #define DIB_RGB_COLORS 0
367 #define FW_DONTCARE 0
369 #define FW_EXTRALIGHT 200
370 #define FW_ULTRALIGHT FW_EXTRALIGHT
372 #define FW_NORMAL 400
373 #define FW_REGULAR 400
374 #define FW_MEDIUM 500
375 #define FW_SEMIBOLD 600
376 #define FW_DEMIBOLD FW_SEMIBOLD
378 #define FW_EXTRABOLD 800
379 #define FW_ULTRABOLD FW_EXTRABOLD
381 #define FW_BLACK FW_HEAVY
382 #define ANSI_CHARSET 0
383 #define DEFAULT_CHARSET 1
384 #define SYMBOL_CHARSET 2
385 #define SHIFTJIS_CHARSET 128
386 #define HANGEUL_CHARSET 129
387 #define HANGUL_CHARSET 129
388 #define GB2312_CHARSET 134
389 #define CHINESEBIG5_CHARSET 136
390 #define GREEK_CHARSET 161
391 #define TURKISH_CHARSET 162
392 #define HEBREW_CHARSET 177
393 #define ARABIC_CHARSET 178
394 #define BALTIC_CHARSET 186
395 #define RUSSIAN_CHARSET 204
396 #define THAI_CHARSET 222
397 #define EE_CHARSET 238
398 #define EASTEUROPE_CHARSET 238
399 #define OEM_CHARSET 255
400 #define JOHAB_CHARSET 130
401 #define VIETNAMESE_CHARSET 163
402 #define MAC_CHARSET 77
403 /* I don't know if the values of *_CHARSET macros are defined in Windows
404 * or if we can choose them as we want. -- srtxg
406 #define VISCII_CHARSET (BYTE)240 /* viscii1.1-1 */
407 #define TCVN_CHARSET (BYTE)241 /* tcvn-0 */
408 #define KOI8_CHARSET (BYTE)242 /* koi8-{r,u,ru} */
409 #define ISO3_CHARSET (BYTE)243 /* iso8859-3 */
410 #define ISO4_CHARSET (BYTE)244 /* iso8859-4 */
411 #define ISO10_CHARSET (BYTE)245 /* iso8859-10 */
412 #define CELTIC_CHARSET (BYTE)246 /* iso8859-14 */
414 #define OUT_DEFAULT_PRECIS 0
415 #define OUT_STRING_PRECIS 1
416 #define OUT_CHARACTER_PRECIS 2
417 #define OUT_STROKE_PRECIS 3
418 #define OUT_TT_PRECIS 4
419 #define OUT_DEVICE_PRECIS 5
420 #define OUT_RASTER_PRECIS 6
421 #define OUT_TT_ONLY_PRECIS 7
422 #define OUT_OUTLINE_PRECIS 8
423 #define OUT_SCREEN_OUTLINE_PRECIS 9
424 #define OUT_PS_ONLY_PRECIS 10
425 #define CLIP_DEFAULT_PRECIS 0
426 #define CLIP_CHARACTER_PRECIS 1
427 #define CLIP_STROKE_PRECIS 2
429 #define CLIP_LH_ANGLES 16
430 #define CLIP_TT_ALWAYS 32
431 #if (_WIN32_WINNT >= _WIN32_WINNT_LONGHORN)
432 #define CLIP_DFA_DISABLE 64
434 #define CLIP_EMBEDDED 128
435 #define DEFAULT_QUALITY 0
436 #define DRAFT_QUALITY 1
437 #define PROOF_QUALITY 2
438 #define NONANTIALIASED_QUALITY 3
439 #define ANTIALIASED_QUALITY 4
440 #define CLEARTYPE_QUALITY 5
441 #define CLEARTYPE_NATURAL_QUALITY 6
442 #define DEFAULT_PITCH 0
443 #define FIXED_PITCH 1
444 #define VARIABLE_PITCH 2
446 #define FF_DECORATIVE 80
447 #define FF_DONTCARE 0
452 #define PANOSE_COUNT 10
453 #define PAN_FAMILYTYPE_INDEX 0
454 #define PAN_SERIFSTYLE_INDEX 1
455 #define PAN_WEIGHT_INDEX 2
456 #define PAN_PROPORTION_INDEX 3
457 #define PAN_CONTRAST_INDEX 4
458 #define PAN_STROKEVARIATION_INDEX 5
459 #define PAN_ARMSTYLE_INDEX 6
460 #define PAN_LETTERFORM_INDEX 7
461 #define PAN_MIDLINE_INDEX 8
462 #define PAN_XHEIGHT_INDEX 9
463 #define PAN_CULTURE_LATIN 0
466 #define PAN_FAMILY_TEXT_DISPLAY 2
467 #define PAN_FAMILY_SCRIPT 3
468 #define PAN_FAMILY_DECORATIVE 4
469 #define PAN_FAMILY_PICTORIAL 5
470 #define PAN_SERIF_COVE 2
471 #define PAN_SERIF_OBTUSE_COVE 3
472 #define PAN_SERIF_SQUARE_COVE 4
473 #define PAN_SERIF_OBTUSE_SQUARE_COVE 5
474 #define PAN_SERIF_SQUARE 6
475 #define PAN_SERIF_THIN 7
476 #define PAN_SERIF_BONE 8
477 #define PAN_SERIF_EXAGGERATED 9
478 #define PAN_SERIF_TRIANGLE 10
479 #define PAN_SERIF_NORMAL_SANS 11
480 #define PAN_SERIF_OBTUSE_SANS 12
481 #define PAN_SERIF_PERP_SANS 13
482 #define PAN_SERIF_FLARED 14
483 #define PAN_SERIF_ROUNDED 15
484 #define PAN_WEIGHT_VERY_LIGHT 2
485 #define PAN_WEIGHT_LIGHT 3
486 #define PAN_WEIGHT_THIN 4
487 #define PAN_WEIGHT_BOOK 5
488 #define PAN_WEIGHT_MEDIUM 6
489 #define PAN_WEIGHT_DEMI 7
490 #define PAN_WEIGHT_BOLD 8
491 #define PAN_WEIGHT_HEAVY 9
492 #define PAN_WEIGHT_BLACK 10
493 #define PAN_WEIGHT_NORD 11
494 #define PAN_PROP_OLD_STYLE 2
495 #define PAN_PROP_MODERN 3
496 #define PAN_PROP_EVEN_WIDTH 4
497 #define PAN_PROP_EXPANDED 5
498 #define PAN_PROP_CONDENSED 6
499 #define PAN_PROP_VERY_EXPANDED 7
500 #define PAN_PROP_VERY_CONDENSED 8
501 #define PAN_PROP_MONOSPACED 9
502 #define PAN_CONTRAST_NONE 2
503 #define PAN_CONTRAST_VERY_LOW 3
504 #define PAN_CONTRAST_LOW 4
505 #define PAN_CONTRAST_MEDIUM_LOW 5
506 #define PAN_CONTRAST_MEDIUM 6
507 #define PAN_CONTRAST_MEDIUM_HIGH 7
508 #define PAN_CONTRAST_HIGH 8
509 #define PAN_CONTRAST_VERY_HIGH 9
510 #define PAN_STROKE_GRADUAL_DIAG 2
511 #define PAN_STROKE_GRADUAL_TRAN 3
512 #define PAN_STROKE_GRADUAL_VERT 4
513 #define PAN_STROKE_GRADUAL_HORZ 5
514 #define PAN_STROKE_RAPID_VERT 6
515 #define PAN_STROKE_RAPID_HORZ 7
516 #define PAN_STROKE_INSTANT_VERT 8
517 #define PAN_STRAIGHT_ARMS_HORZ 2
518 #define PAN_STRAIGHT_ARMS_WEDGE 3
519 #define PAN_STRAIGHT_ARMS_VERT 4
520 #define PAN_STRAIGHT_ARMS_SINGLE_SERIF 5
521 #define PAN_STRAIGHT_ARMS_DOUBLE_SERIF 6
522 #define PAN_BENT_ARMS_HORZ 7
523 #define PAN_BENT_ARMS_WEDGE 8
524 #define PAN_BENT_ARMS_VERT 9
525 #define PAN_BENT_ARMS_SINGLE_SERIF 10
526 #define PAN_BENT_ARMS_DOUBLE_SERIF 11
527 #define PAN_LETT_NORMAL_CONTACT 2
528 #define PAN_LETT_NORMAL_WEIGHTED 3
529 #define PAN_LETT_NORMAL_BOXED 4
530 #define PAN_LETT_NORMAL_FLATTENED 5
531 #define PAN_LETT_NORMAL_ROUNDED 6
532 #define PAN_LETT_NORMAL_OFF_CENTER 7
533 #define PAN_LETT_NORMAL_SQUARE 8
534 #define PAN_LETT_OBLIQUE_CONTACT 9
535 #define PAN_LETT_OBLIQUE_WEIGHTED 10
536 #define PAN_LETT_OBLIQUE_BOXED 11
537 #define PAN_LETT_OBLIQUE_FLATTENED 12
538 #define PAN_LETT_OBLIQUE_ROUNDED 13
539 #define PAN_LETT_OBLIQUE_OFF_CENTER 14
540 #define PAN_LETT_OBLIQUE_SQUARE 15
541 #define PAN_MIDLINE_STANDARD_TRIMMED 2
542 #define PAN_MIDLINE_STANDARD_POINTED 3
543 #define PAN_MIDLINE_STANDARD_SERIFED 4
544 #define PAN_MIDLINE_HIGH_TRIMMED 5
545 #define PAN_MIDLINE_HIGH_POINTED 6
546 #define PAN_MIDLINE_HIGH_SERIFED 7
547 #define PAN_MIDLINE_CONSTANT_TRIMMED 8
548 #define PAN_MIDLINE_CONSTANT_POINTED 9
549 #define PAN_MIDLINE_CONSTANT_SERIFED 10
550 #define PAN_MIDLINE_LOW_TRIMMED 11
551 #define PAN_MIDLINE_LOW_POINTED 12
552 #define PAN_MIDLINE_LOW_SERIFED 13
553 #define PAN_XHEIGHT_CONSTANT_SMALL 2
554 #define PAN_XHEIGHT_CONSTANT_STD 3
555 #define PAN_XHEIGHT_CONSTANT_LARGE 4
556 #define PAN_XHEIGHT_DUCKING_SMALL 5
557 #define PAN_XHEIGHT_DUCKING_STD 6
558 #define PAN_XHEIGHT_DUCKING_LARGE 7
561 #define FS_CYRILLIC 4
563 #define FS_TURKISH 16
566 #define FS_BALTIC 128
567 #define FS_VIETNAMESE 256
568 #define FS_THAI 0x10000
569 #define FS_JISJAPAN 0x20000
570 #define FS_CHINESESIMP 0x40000
571 #define FS_WANSUNG 0x80000
572 #define FS_CHINESETRAD 0x100000
573 #define FS_JOHAB 0x200000
574 #define FS_SYMBOL 0x80000000
575 #define HS_BDIAGONAL 3
577 #define HS_DIAGCROSS 5
578 #define HS_FDIAGONAL 2
579 #define HS_HORIZONTAL 0
580 #define HS_VERTICAL 1
581 #define HS_API_MAX 12
582 #define PS_GEOMETRIC 65536
583 #define PS_COSMETIC 0
584 #define PS_ALTERNATE 8
589 #define PS_DASHDOTDOT 4
591 #define PS_USERSTYLE 7
592 #define PS_INSIDEFRAME 6
593 #define PS_ENDCAP_ROUND 0
594 #define PS_ENDCAP_SQUARE 256
595 #define PS_ENDCAP_FLAT 512
596 #define PS_JOIN_BEVEL 4096
597 #define PS_JOIN_MITER 8192
598 #define PS_JOIN_ROUND 0
599 #define PS_JOIN_MASK 0x0000F000
600 #define PS_STYLE_MASK 15
601 #define PS_ENDCAP_MASK 3840
602 #define PS_TYPE_MASK 983040
605 #define POLYFILL_LAST 2
606 #define DC_BINNAMES 12
610 #define DC_DATATYPE_PRODUCED 21
612 #define DC_EMF_COMPLIANT 20
613 #define DC_ENUMRESOLUTIONS 13
616 #define DC_FILEDEPENDENCIES 14
617 #define DC_MAXEXTENT 5
618 #define DC_MINEXTENT 4
619 #define DC_ORIENTATION 17
620 #define DC_PAPERNAMES 16
622 #define DC_PAPERSIZE 3
624 #define DC_TRUETYPE 15
625 #define DCTT_BITMAP 1
626 #define DCTT_DOWNLOAD 2
627 #define DCTT_SUBDEV 4
628 #define DCTT_DOWNLOAD_OUTLINE 8
629 #define DC_VERSION 10
630 #define DC_BINADJUST 19
631 #define DC_EMF_COMPLIANT 20
632 #define DC_DATATYPE_PRODUCED 21
633 #define DC_MANUFACTURER 23
635 #define DCBA_FACEUPNONE 0
636 #define DCBA_FACEUPCENTER 1
637 #define DCBA_FACEUPLEFT 2
638 #define DCBA_FACEUPRIGHT 3
639 #define DCBA_FACEDOWNNONE 256
640 #define DCBA_FACEDOWNCENTER 257
641 #define DCBA_FACEDOWNLEFT 258
642 #define DCBA_FACEDOWNRIGHT 259
643 #define FLOODFILLBORDER 0
644 #define FLOODFILLSURFACE 1
645 #define ETO_GRAYED 0x00001
646 #define ETO_OPAQUE 0x00002
647 #define ETO_CLIPPED 0x00004
648 #if (WINVER >= 0x0400)
649 #define ETO_GLYPH_INDEX 0x00010
650 #define ETO_RTLREADING 0x00080
651 #define ETO_NUMERICSLOCAL 0x00400
652 #define ETO_NUMERICSLATIN 0x00800
653 #define ETO_IGNORELANGUAGE 0x01000
655 #if (_WIN32_WINNT >= _WIN32_WINNT_WIN2K)
656 #define ETO_PDY 0x02000
658 #if (_WIN32_WINNT >= _WIN32_WINNT_LONGHORN)
659 #define ETO_REVERSE_INDEX_MAP 0x10000
661 #define GDICOMMENT_WINDOWS_METAFILE (-2147483647)
662 #define GDICOMMENT_BEGINGROUP 2
663 #define GDICOMMENT_ENDGROUP 3
664 #define GDICOMMENT_MULTIFORMATS 1073741828
665 #define GDICOMMENT_IDENTIFIER 1128875079
666 #define AD_COUNTERCLOCKWISE 1
667 #define AD_CLOCKWISE 2
668 #define RDH_RECTANGLES 1
669 #define GCPCLASS_LATIN 1
670 #define GCPCLASS_HEBREW 2
671 #define GCPCLASS_ARABIC 2
672 #define GCPCLASS_NEUTRAL 3
673 #define GCPCLASS_LOCALNUMBER 4
674 #define GCPCLASS_LATINNUMBER 5
675 #define GCPCLASS_LATINNUMERICTERMINATOR 6
676 #define GCPCLASS_LATINNUMERICSEPARATOR 7
677 #define GCPCLASS_NUMERICSEPARATOR 8
678 #define GCPCLASS_PREBOUNDLTR 128
679 #define GCPCLASS_PREBOUNDRTL 64
680 #define GCPCLASS_POSTBOUNDLTR 32
681 #define GCPCLASS_POSTBOUNDRTL 16
682 #define GCPGLYPH_LINKBEFORE 0x8000
683 #define GCPGLYPH_LINKAFTER 0x4000
684 #define DCB_DISABLE 8
688 #define DCB_ACCUMULATE 2
695 #define OBJ_EXTPEN 11
699 #define OBJ_METAFILE 9
701 #define OBJ_ENHMETAFILE 13
702 #define OBJ_ENHMETADC 12
703 #define OBJ_COLORSPACE 14
704 #define DRIVERVERSION 0
707 #define DT_RASDISPLAY 1
708 #define DT_RASPRINTER 2
709 #define DT_RASCAMERA 3
710 #define DT_CHARSTREAM 4
711 #define DT_METAFILE 5
712 #define DT_DISPFILE 6
717 #define LOGPIXELSX 88
718 #define LOGPIXELSY 90
721 #define NUMBRUSHES 16
725 #define NUMMARKERS 20
729 #define PDEVICESIZE 26
731 #define SIZEPALETTE 104
732 #define NUMRESERVED 106
734 #define PHYSICALWIDTH 110
735 #define PHYSICALHEIGHT 111
736 #define PHYSICALOFFSETX 112
737 #define PHYSICALOFFSETY 113
738 #define SCALINGFACTORX 114
739 #define SCALINGFACTORY 115
741 #define DESKTOPHORZRES 118
742 #define DESKTOPVERTRES 117
743 #define BLTALIGNMENT 119
744 #define RASTERCAPS 38
747 #define RC_BITMAP64 8
748 #define RC_DI_BITMAP 128
749 #define RC_DIBTODEV 512
750 #define RC_FLOODFILL 4096
751 #define RC_GDI20_OUTPUT 16
752 #define RC_PALETTE 256
754 #define RC_STRETCHBLT 2048
755 #define RC_STRETCHDIB 8192
756 #define RC_DEVBITS 0x8000
757 #define RC_OP_DX_OUTPUT 0x4000
763 #define CC_ELLIPSES 8
766 #define CC_WIDESTYLED 64
767 #define CC_INTERIORS 128
768 #define CC_ROUNDRECT 256
771 #define LC_POLYLINE 2
773 #define LC_POLYMARKER 8
776 #define LC_WIDESTYLED 64
777 #define LC_INTERIORS 128
778 #define POLYGONALCAPS 32
780 #define RC_BIGFONT 1024
782 #define RC_BITMAP64 8
783 #define RC_DEVBITS 0x8000
784 #define RC_DI_BITMAP 128
785 #define RC_GDI20_OUTPUT 16
786 #define RC_GDI20_STATE 32
788 #define RC_OP_DX_OUTPUT 0x4000
789 #define RC_PALETTE 256
790 #define RC_SAVEBITMAP 64
794 #define PC_POLYPOLYGON 256
796 #define PC_RECTANGLE 2
797 #define PC_WINDPOLYGON 4
798 #define PC_SCANLINE 8
799 #define PC_TRAPEZOID 4
802 #define PC_WIDESTYLED 64
803 #define PC_INTERIORS 128
806 #define TC_OP_CHARACTER 1
807 #define TC_OP_STROKE 2
808 #define TC_CP_STROKE 4
811 #define TC_SF_X_YINDEP 32
812 #define TC_SA_DOUBLE 64
813 #define TC_SA_INTEGER 128
814 #define TC_SA_CONTIN 256
815 #define TC_EA_DOUBLE 512
816 #define TC_IA_ABLE 1024
817 #define TC_UA_ABLE 2048
818 #define TC_SO_ABLE 4096
819 #define TC_RA_ABLE 8192
820 #define TC_VA_ABLE 16384
821 #define TC_RESERVED 32768
822 #define TC_SCROLLBLT 65536
825 #define CP_RECTANGLE 1
828 #define GCP_ERROR 0x8000
829 #define GCP_CLASSIN 0x80000
830 #define GCP_DIACRITIC 256
831 #define GCP_DISPLAYZWG 0x400000
832 #define GCP_GLYPHSHAPE 16
833 #define GCP_JUSTIFY 0x10000
834 #define GCP_JUSTIFYIN 0x200000
835 #define GCP_KASHIDA 1024
836 #define GCP_LIGATE 32
837 #define GCP_MAXEXTENT 0x100000
838 #define GCP_NEUTRALOVERRIDE 0x2000000
839 #define GCP_NUMERICOVERRIDE 0x1000000
840 #define GCP_NUMERICSLATIN 0x4000000
841 #define GCP_NUMERICSLOCAL 0x8000000
842 #define GCP_REORDER 2
843 #define GCP_SYMSWAPOFF 0x800000
844 #define GCP_USEKERNING 8
845 #define FLI_GLYPHS 0x40000
846 #define FLI_MASK 0x103b
847 #define GGO_METRICS 0
851 #define GGO_GRAY2_BITMAP 4
852 #define GGO_GRAY4_BITMAP 5
853 #define GGO_GRAY8_BITMAP 6
854 #define GGO_GLYPH_INDEX 128
855 #define GGO_UNHINTED 256
857 #define WINE_GGO_GRAY16_BITMAP 0x10
858 #define WINE_GGO_HRGB_BITMAP 0x11
859 #define WINE_GGO_HBGR_BITMAP 0x12
860 #define WINE_GGO_VRGB_BITMAP 0x13
861 #define WINE_GGO_VBGR_BITMAP 0x14
863 #define GM_COMPATIBLE 1
864 #define GM_ADVANCED 2
866 #define MM_ANISOTROPIC 8
867 #define MM_HIENGLISH 5
868 #define MM_HIMETRIC 3
869 #define MM_ISOTROPIC 7
870 #define MM_LOENGLISH 4
871 #define MM_LOMETRIC 2
874 #define MM_MAX_FIXEDSCALE MM_TWIPS
875 #define MM_MIN MM_TEXT
876 #define MM_MAX MM_ANISOTROPIC
879 #define PC_EXPLICIT 2
880 #define PC_NOCOLLAPSE 4
881 #define PC_RESERVED 1
882 #define CLR_INVALID 0xFFFFFFFF
885 #define PT_BEZIERTO 4
886 #define PT_CLOSEFIGURE 1
887 #define TT_AVAILABLE 1
891 #define WINE_TT_SUBPIXEL_RENDERING_ENABLED 0x4000
892 #define WINE_TT_HINTER_ENABLED 0x8000
895 #define BLACK_BRUSH 4
896 #define DKGRAY_BRUSH 3
898 #define HOLLOW_BRUSH 5
899 #define LTGRAY_BRUSH 1
901 #define WHITE_BRUSH 0
905 #define ANSI_FIXED_FONT 11
906 #define ANSI_VAR_FONT 12
907 #define DEVICE_DEFAULT_FONT 14
908 #define DEFAULT_GUI_FONT 17
909 #define OEM_FIXED_FONT 10
910 #define SYSTEM_FONT 13
911 #define SYSTEM_FIXED_FONT 16
912 #define DEFAULT_PALETTE 15
913 #if (_WIN32_WINNT >= 0x0500)
917 #if (_WIN32_WINNT >= 0x0500)
918 #define STOCK_LAST 19
919 #elif (WINVER >= 0x0400)
920 #define STOCK_LAST 17
922 #define STOCK_LAST 16
924 #define SYSPAL_NOSTATIC 2
925 #define SYSPAL_STATIC 1
926 #define SYSPAL_ERROR 0
927 #define TA_BASELINE 24
933 #define TA_RTLREADING 256
934 #define TA_NOUPDATECP 0
935 #define TA_UPDATECP 1
936 #define TA_MASK (TA_BASELINE+TA_CENTER+TA_UPDATECP+TA_RTLREADING)
937 #define VTA_BASELINE 24
939 #define VTA_LEFT TA_BOTTOM
940 #define VTA_RIGHT TA_TOP
941 #define VTA_BOTTOM TA_RIGHT
942 #define VTA_TOP TA_LEFT
943 #define MWT_IDENTITY 1
944 #define MWT_LEFTMULTIPLY 2
945 #define MWT_RIGHTMULTIPLY 3
946 #define MWT_MIN MWT_IDENTITY
947 #define MWT_MAX MWT_RIGHTMULTIPLY
949 #define TRANSPARENT 1
950 #define BKMODE_LAST 2
951 #define BLACKONWHITE 1
952 #define WHITEONBLACK 2
953 #define COLORONCOLOR 3
955 #define MAXSTRETCHBLTMODE 4
956 #define STRETCH_ANDSCANS 1
957 #define STRETCH_DELETESCANS 3
958 #define STRETCH_HALFTONE 4
959 #define STRETCH_ORSCANS 2
960 #define TCI_SRCCHARSET 1
961 #define TCI_SRCCODEPAGE 2
962 #define TCI_SRCFONTSIG 3
963 #define TCI_SRCLOCALE 4096
964 #if (_WIN32_WINNT >= 0x0500)
965 #define SHADEBLENDCAPS 120
966 #define COLORMGMTCAPS 121
968 #define SB_NONE 0x00000000
969 #define SB_CONST_ALPHA 0x00000001
970 #define SB_PIXEL_ALPHA 0x00000002
971 #define SB_PREMULT_ALPHA 0x00000004
972 #define SB_GRAD_RECT 0x00000010
973 #define SB_GRAD_TRI 0x00000020
974 /* Color Management caps */
975 #define CM_NONE 0x00000000
976 #define CM_DEVICE_ICM 0x00000001
977 #define CM_GAMMA_RAMP 0x00000002
978 #define CM_CMYK_COLOR 0x00000004
986 #define SETCOLORTABLE 4
987 #define GETCOLORTABLE 5
988 #define FLUSHOUTPUT 6
990 #define QUERYESCSUPPORT 8
991 #define SETABORTPROC 9
994 #define GETPHYSPAGESIZE 12
995 #define GETPRINTINGOFFSET 13
996 #define GETSCALINGFACTOR 14
998 #define GETPENWIDTH 16
999 #define SETCOPYCOUNT 17
1000 #define SELECTPAPERSOURCE 18
1001 #define DEVICEDATA 19
1002 #define PASSTHROUGH 19
1003 #define GETTECHNOLGY 20
1004 #define GETTECHNOLOGY 20
1005 #define SETLINECAP 21
1006 #define SETLINEJOIN 22
1007 #define SETMITERLIMIT 23
1009 #define DRAWPATTERNRECT 25
1010 #define GETVECTORPENSIZE 26
1011 #define GETVECTORBRUSHSIZE 27
1012 #define ENABLEDUPLEX 28
1013 #define GETSETPAPERBINS 29
1014 #define GETSETPRINTORIENT 30
1015 #define ENUMPAPERBINS 31
1016 #define SETDIBSCALING 32
1017 #define EPSPRINTING 33
1018 #define ENUMPAPERMETRICS 34
1019 #define GETSETPAPERMETRICS 35
1020 #define POSTSCRIPT_DATA 37
1021 #define POSTSCRIPT_IGNORE 38
1022 #define MOUSETRAILS 39
1023 #define GETDEVICEUNITS 42
1024 #define GETEXTENDEDTEXTMETRICS 256
1025 #define GETEXTENTTABLE 257
1026 #define GETPAIRKERNTABLE 258
1027 #define GETTRACKKERNTABLE 259
1028 #define EXTTEXTOUT 512
1029 #define GETFACENAME 513
1030 #define DOWNLOADFACE 514
1031 #define ENABLERELATIVEWIDTHS 768
1032 #define ENABLEPAIRKERNING 769
1033 #define SETKERNTRACK 770
1034 #define SETALLJUSTVALUES 771
1035 #define SETCHARSET 772
1036 #define STRETCHBLT 2048
1037 #define GETSETSCREENPARAMS 3072
1038 #define QUERYDIBSUPPORT 3073
1039 #define BEGIN_PATH 4096
1040 #define CLIP_TO_PATH 4097
1041 #define END_PATH 4098
1042 #define EXT_DEVICE_CAPS 4099
1043 #define RESTORE_CTM 4100
1044 #define SAVE_CTM 4101
1045 #define SET_ARC_DIRECTION 4102
1046 #define SET_BACKGROUND_COLOR 4103
1047 #define SET_POLY_MODE 4104
1048 #define SET_SCREEN_ANGLE 4105
1049 #define SET_SPREAD 4106
1050 #define TRANSFORM_CTM 4107
1051 #define SET_CLIP_BOX 4108
1052 #define SET_BOUNDS 4109
1053 #define SET_MIRROR_MODE 4110
1054 #define OPENCHANNEL 4110
1055 #define DOWNLOADHEADER 4111
1056 #define CLOSECHANNEL 4112
1057 #define POSTSCRIPT_PASSTHROUGH 4115
1058 #define ENCAPSULATED_POSTSCRIPT 4116
1059 #define QDI_SETDIBITS 1
1060 #define QDI_GETDIBITS 2
1061 #define QDI_DIBTOSCREEN 4
1062 #define QDI_STRETCHDIB 8
1063 #define SP_NOTREPORTED 0x4000
1064 #define PR_JOBSTATUS 0
1065 #define ASPECT_FILTERING 1
1066 #define GS_8BIT_INDICES 0x00000001
1067 #define GGI_MARK_NONEXISTING_GLYPHS 0X0001
1071 #define BS_HATCHED 2
1072 #define BS_PATTERN 3
1073 #define BS_INDEXED 4
1074 #define BS_DIBPATTERN 5
1075 #define BS_DIBPATTERNPT 6
1076 #define BS_PATTERN8X8 7
1077 #define BS_DIBPATTERN8X8 8
1078 #define BS_MONOPATTERN 9
1079 #define LCS_CALIBRATED_RGB 0
1080 #define LCS_DEVICE_RGB 1
1081 #define LCS_DEVICE_CMYK 2
1082 #define LCS_GM_BUSINESS 1
1083 #define LCS_GM_GRAPHICS 2
1084 #define LCS_GM_IMAGES 4
1085 #define LCS_GM_ABS_COLORIMETRIC 8
1086 #define LCS_SIGNATURE 0x50534F43 // 'PSOC'
1087 #define LCS_sRGB 'sRGB'
1088 #define LCS_WINDOWS_COLOR_SPACE 'Win '
1089 #define RASTER_FONTTYPE 1
1090 #define DEVICE_FONTTYPE 2
1091 #define TRUETYPE_FONTTYPE 4
1092 #define DMORIENT_PORTRAIT 1
1093 #define DMORIENT_LANDSCAPE 2
1094 #define DMPAPER_FIRST 1
1095 #define DMPAPER_LETTER 1
1096 #define DMPAPER_LETTERSMALL 2
1097 #define DMPAPER_TABLOID 3
1098 #define DMPAPER_LEDGER 4
1099 #define DMPAPER_LEGAL 5
1100 #define DMPAPER_STATEMENT 6
1101 #define DMPAPER_EXECUTIVE 7
1102 #define DMPAPER_A3 8
1103 #define DMPAPER_A4 9
1104 #define DMPAPER_A4SMALL 10
1105 #define DMPAPER_A5 11
1106 #define DMPAPER_B4 12
1107 #define DMPAPER_B5 13
1108 #define DMPAPER_FOLIO 14
1109 #define DMPAPER_QUARTO 15
1110 #define DMPAPER_10X14 16
1111 #define DMPAPER_11X17 17
1112 #define DMPAPER_NOTE 18
1113 #define DMPAPER_ENV_9 19
1114 #define DMPAPER_ENV_10 20
1115 #define DMPAPER_ENV_11 21
1116 #define DMPAPER_ENV_12 22
1117 #define DMPAPER_ENV_14 23
1118 #define DMPAPER_CSHEET 24
1119 #define DMPAPER_DSHEET 25
1120 #define DMPAPER_ESHEET 26
1121 #define DMPAPER_ENV_DL 27
1122 #define DMPAPER_ENV_C5 28
1123 #define DMPAPER_ENV_C3 29
1124 #define DMPAPER_ENV_C4 30
1125 #define DMPAPER_ENV_C6 31
1126 #define DMPAPER_ENV_C65 32
1127 #define DMPAPER_ENV_B4 33
1128 #define DMPAPER_ENV_B5 34
1129 #define DMPAPER_ENV_B6 35
1130 #define DMPAPER_ENV_ITALY 36
1131 #define DMPAPER_ENV_MONARCH 37
1132 #define DMPAPER_ENV_PERSONAL 38
1133 #define DMPAPER_FANFOLD_US 39
1134 #define DMPAPER_FANFOLD_STD_GERMAN 40
1135 #define DMPAPER_FANFOLD_LGL_GERMAN 41
1136 #define DMPAPER_ISO_B4 42
1137 #define DMPAPER_JAPANESE_POSTCARD 43
1138 #define DMPAPER_9X11 44
1139 #define DMPAPER_10X11 45
1140 #define DMPAPER_15X11 46
1141 #define DMPAPER_ENV_INVITE 47
1142 #define DMPAPER_RESERVED_48 48
1143 #define DMPAPER_RESERVED_49 49
1144 #define DMPAPER_LETTER_EXTRA 50
1145 #define DMPAPER_LEGAL_EXTRA 51
1146 #define DMPAPER_TABLOID_EXTRA 52
1147 #define DMPAPER_A4_EXTRA 53
1148 #define DMPAPER_LETTER_TRANSVERSE 54
1149 #define DMPAPER_A4_TRANSVERSE 55
1150 #define DMPAPER_LETTER_EXTRA_TRANSVERSE 56
1151 #define DMPAPER_A_PLUS 57
1152 #define DMPAPER_B_PLUS 58
1153 #define DMPAPER_LETTER_PLUS 59
1154 #define DMPAPER_A4_PLUS 60
1155 #define DMPAPER_A5_TRANSVERSE 61
1156 #define DMPAPER_B5_TRANSVERSE 62
1157 #define DMPAPER_A3_EXTRA 63
1158 #define DMPAPER_A5_EXTRA 64
1159 #define DMPAPER_B5_EXTRA 65
1160 #define DMPAPER_A2 66
1161 #define DMPAPER_A3_TRANSVERSE 67
1162 #define DMPAPER_A3_EXTRA_TRANSVERSE 68
1163 #define DMPAPER_LAST 68
1164 #define DMPAPER_USER 256
1165 #define DMBIN_FIRST 1
1166 #define DMBIN_UPPER 1
1167 #define DMBIN_ONLYONE 1
1168 #define DMBIN_LOWER 2
1169 #define DMBIN_MIDDLE 3
1170 #define DMBIN_MANUAL 4
1171 #define DMBIN_ENVELOPE 5
1172 #define DMBIN_ENVMANUAL 6
1173 #define DMBIN_AUTO 7
1174 #define DMBIN_TRACTOR 8
1175 #define DMBIN_SMALLFMT 9
1176 #define DMBIN_LARGEFMT 10
1177 #define DMBIN_LARGECAPACITY 11
1178 #define DMBIN_CASSETTE 14
1179 #define DMBIN_FORMSOURCE 15
1180 #define DMBIN_LAST 15
1181 #define DMBIN_USER 256
1182 #define DMRES_DRAFT (-1)
1183 #define DMRES_LOW (-2)
1184 #define DMRES_MEDIUM (-3)
1185 #define DMRES_HIGH (-4)
1186 #define DMCOLOR_MONOCHROME 1
1187 #define DMCOLOR_COLOR 2
1188 #define DMDUP_SIMPLEX 1
1189 #define DMDUP_VERTICAL 2
1190 #define DMDUP_HORIZONTAL 3
1191 #define DMTT_BITMAP 1
1192 #define DMTT_DOWNLOAD 2
1193 #define DMTT_SUBDEV 3
1194 #define DMTT_DOWNLOAD_OUTLINE 4
1195 #define DMCOLLATE_FALSE 0
1196 #define DMCOLLATE_TRUE 1
1199 #define DMDO_DEFAULT 0
1204 #define DMDFO_DEFAULT 0
1205 #define DMDFO_STRETCH 1
1206 #define DMDFO_CENTER 2
1209 #define DM_GRAYSCALE 0x00000001
1210 #define DM_INTERLACED 0x00000002
1211 #define DMDISPLAYFLAGS_TEXTMODE 0x00000004
1218 #define DM_IN_BUFFER DM_MODIFY
1219 #define DM_IN_PROMPT DM_PROMPT
1220 #define DM_OUT_BUFFER DM_COPY
1221 #define DM_OUT_DEFAULT DM_UPDATE
1224 #if (WINVER >= 0x0500) || (_WIN32_WINNT >= _WIN32_WINNT_NT4)
1225 #define DM_SPECVERSION 0x0401
1226 #elif (WINVER >= 0x0400)
1227 #define DM_SPECVERSION 0x0400
1229 #define DM_SPECVERSION 0x0320
1232 #define DM_ORIENTATION 0x00000001
1233 #define DM_PAPERSIZE 0x00000002
1234 #define DM_PAPERLENGTH 0x00000004
1235 #define DM_PAPERWIDTH 0x00000008
1236 #define DM_SCALE 0x00000010
1237 #define DM_POSITION 0x00000020
1238 #define DM_NUP 0x00000040
1239 #define DM_DISPLAYORIENTATION 0x00000080
1240 #define DM_COPIES 0x00000100
1241 #define DM_DEFAULTSOURCE 0x00000200
1242 #define DM_PRINTQUALITY 0x00000400
1243 #define DM_COLOR 0x00000800
1244 #define DM_DUPLEX 0x00001000
1245 #define DM_YRESOLUTION 0x00002000
1246 #define DM_TTOPTION 0x00004000
1247 #define DM_COLLATE 0x00008000
1248 #define DM_FORMNAME 0x00010000
1249 #define DM_LOGPIXELS 0x00020000
1250 #define DM_BITSPERPEL 0x00040000
1251 #define DM_PELSWIDTH 0x00080000
1252 #define DM_PELSHEIGHT 0x00100000
1253 #define DM_DISPLAYFLAGS 0x00200000
1254 #define DM_DISPLAYFREQUENCY 0x00400000
1255 #define DM_ICMMETHOD 0x00800000
1256 #define DM_ICMINTENT 0x01000000
1257 #define DM_MEDIATYPE 0x02000000
1258 #define DM_DITHERTYPE 0x04000000
1259 #define DM_PANNINGWIDTH 0x08000000
1260 #define DM_PANNINGHEIGHT 0x10000000
1261 #if (WINVER >= 0x0501)
1262 #define DM_DISPLAYFIXEDOUTPUT 0x20000000
1265 #define QDC_ALL_PATHS 0x00000001
1267 #define DMICMMETHOD_NONE 1
1268 #define DMICMMETHOD_SYSTEM 2
1269 #define DMICMMETHOD_DRIVER 3
1270 #define DMICMMETHOD_DEVICE 4
1271 #define DMICMMETHOD_USER 256
1272 #define DMICM_SATURATE 1
1273 #define DMICM_CONTRAST 2
1274 #define DMICM_COLORMETRIC 3
1275 #define DMICM_USER 256
1276 #define DMMEDIA_STANDARD 1
1277 #define DMMEDIA_TRANSPARENCY 2
1278 #define DMMEDIA_GLOSSY 3
1279 #define DMMEDIA_USER 256
1280 #define DMDITHER_NONE 1
1281 #define DMDITHER_COARSE 2
1282 #define DMDITHER_FINE 3
1283 #define DMDITHER_LINEART 4
1284 #define DMDITHER_ERRORDIFFUSION 5
1285 #define DMDITHER_RESERVED6 6
1286 #define DMDITHER_RESERVED7 7
1287 #define DMDITHER_RESERVED8 8
1288 #define DMDITHER_RESERVED9 9
1289 #define DMDITHER_GRAYSCALE 10
1290 #define DMDITHER_USER 256
1291 #define GDI_ERROR 0xFFFFFFFF
1292 #define HGDI_ERROR ((HANDLE)GDI_ERROR)
1293 #define TMPF_FIXED_PITCH 1
1294 #define TMPF_VECTOR 2
1295 #define TMPF_TRUETYPE 4
1296 #define TMPF_DEVICE 8
1297 #define NTM_ITALIC 1
1299 #define NTM_REGULAR 64
1300 #define TT_POLYGON_TYPE 24
1301 #define TT_PRIM_LINE 1
1302 #define TT_PRIM_QSPLINE 2
1303 #define TT_PRIM_CSPLINE 3
1304 #define FONTMAPPER_MAX 10
1305 #define ENHMETA_STOCK_OBJECT 0x80000000
1306 #define WGL_FONT_LINES 0
1307 #define WGL_FONT_POLYGONS 1
1308 #define LPD_DOUBLEBUFFER 1
1309 #define LPD_STEREO 2
1310 #define LPD_SUPPORT_GDI 16
1311 #define LPD_SUPPORT_OPENGL 32
1312 #define LPD_SHARE_DEPTH 64
1313 #define LPD_SHARE_STENCIL 128
1314 #define LPD_SHARE_ACCUM 256
1315 #define LPD_SWAP_EXCHANGE 512
1316 #define LPD_SWAP_COPY 1024
1317 #define LPD_TRANSPARENT 4096
1318 #define LPD_TYPE_RGBA 0
1319 #define LPD_TYPE_COLORINDEX 1
1320 #define WGL_SWAP_MAIN_PLANE 1
1321 #define WGL_SWAP_OVERLAY1 2
1322 #define WGL_SWAP_OVERLAY2 4
1323 #define WGL_SWAP_OVERLAY3 8
1324 #define WGL_SWAP_OVERLAY4 16
1325 #define WGL_SWAP_OVERLAY5 32
1326 #define WGL_SWAP_OVERLAY6 64
1327 #define WGL_SWAP_OVERLAY7 128
1328 #define WGL_SWAP_OVERLAY8 256
1329 #define WGL_SWAP_OVERLAY9 512
1330 #define WGL_SWAP_OVERLAY10 1024
1331 #define WGL_SWAP_OVERLAY11 2048
1332 #define WGL_SWAP_OVERLAY12 4096
1333 #define WGL_SWAP_OVERLAY13 8192
1334 #define WGL_SWAP_OVERLAY14 16384
1335 #define WGL_SWAP_OVERLAY15 32768
1336 #define WGL_SWAP_UNDERLAY1 65536
1337 #define WGL_SWAP_UNDERLAY2 0x20000
1338 #define WGL_SWAP_UNDERLAY3 0x40000
1339 #define WGL_SWAP_UNDERLAY4 0x80000
1340 #define WGL_SWAP_UNDERLAY5 0x100000
1341 #define WGL_SWAP_UNDERLAY6 0x200000
1342 #define WGL_SWAP_UNDERLAY7 0x400000
1343 #define WGL_SWAP_UNDERLAY8 0x800000
1344 #define WGL_SWAP_UNDERLAY9 0x1000000
1345 #define WGL_SWAP_UNDERLAY10 0x2000000
1346 #define WGL_SWAP_UNDERLAY11 0x4000000
1347 #define WGL_SWAP_UNDERLAY12 0x8000000
1348 #define WGL_SWAP_UNDERLAY13 0x10000000
1349 #define WGL_SWAP_UNDERLAY14 0x20000000
1350 #define WGL_SWAP_UNDERLAY15 0x40000000
1351 #define AC_SRC_OVER 0
1352 #define LAYOUT_LTR 0
1353 #define LAYOUT_RTL 1 // Right to left
1354 #define LAYOUT_BTT 2 // Bottom to top
1355 #define LAYOUT_VBH 4 // Vertical before horizontal
1356 #define LAYOUT_ORIENTATIONMASK (LAYOUT_RTL | LAYOUT_BTT | LAYOUT_VBH)
1357 #define LAYOUT_BITMAPORIENTATIONPRESERVED 8
1358 #define CAPTUREBLT 0x40000000
1359 #define NOMIRRORBITMAP 0x80000000
1360 #if (WINVER > 0x400)
1361 #define CS_ENABLE 0x00000001
1362 #define CS_DISABLE 0x00000002
1363 #define CS_DELETE_TRANSFORM 0x00000003
1368 #if (WINVER > 0x500)
1369 #define GRADIENT_FILL_RECT_H 0x00
1370 #define GRADIENT_FILL_RECT_V 0x01
1371 #define GRADIENT_FILL_TRIANGLE 0x02
1372 #define GRADIENT_FILL_OP_FLAG 0xff
1373 #define COLORMATCHTOTARGET_EMBEDED 0x00000001
1374 #define CREATECOLORSPACE_EMBEDED 0x00000001
1375 #define SETICMPROFILE_EMBEDED 0x00000001
1378 #define DISPLAY_DEVICE_ATTACHED_TO_DESKTOP 0x00000001
1379 #define DISPLAY_DEVICE_MULTI_DRIVER 0x00000002
1380 #define DISPLAY_DEVICE_PRIMARY_DEVICE 0x00000004
1381 #define DISPLAY_DEVICE_MIRRORING_DRIVER 0x00000008
1382 #define DISPLAY_DEVICE_VGA_COMPATIBLE 0x00000010
1383 #define DISPLAY_DEVICE_REMOVABLE 0x00000020
1384 #define DISPLAY_DEVICE_DISCONNECT 0x02000000
1385 #define DISPLAY_DEVICE_REMOTE 0x04000000
1386 #define DISPLAY_DEVICE_MODESPRUNED 0x08000000
1388 typedef struct _ABC
{
1392 } ABC
, *PABC
, *LPABC
;
1393 typedef struct _ABCFLOAT
{
1397 } ABCFLOAT
, *PABCFLOAT
, *LPABCFLOAT
;
1398 typedef struct tagBITMAP
{
1406 } BITMAP
,*PBITMAP
,*LPBITMAP
;
1407 typedef struct tagBITMAPCOREHEADER
{
1413 } BITMAPCOREHEADER
,*LPBITMAPCOREHEADER
,*PBITMAPCOREHEADER
;
1414 #include "pshpack1.h"
1415 typedef struct tagRGBTRIPLE
{
1419 } RGBTRIPLE
,*LPRGBTRIPLE
;
1420 #include "poppack.h"
1421 #include "pshpack2.h"
1422 typedef struct tagBITMAPFILEHEADER
{
1428 } BITMAPFILEHEADER
,*LPBITMAPFILEHEADER
,*PBITMAPFILEHEADER
;
1429 #include "poppack.h"
1430 typedef struct _BITMAPCOREINFO
{
1431 BITMAPCOREHEADER bmciHeader
;
1432 RGBTRIPLE bmciColors
[1];
1433 } BITMAPCOREINFO
,*LPBITMAPCOREINFO
,*PBITMAPCOREINFO
;
1434 typedef struct tagBITMAPINFOHEADER
{
1440 DWORD biCompression
;
1442 LONG biXPelsPerMeter
;
1443 LONG biYPelsPerMeter
;
1445 DWORD biClrImportant
;
1446 } BITMAPINFOHEADER
,*LPBITMAPINFOHEADER
,*PBITMAPINFOHEADER
;
1447 typedef struct tagRGBQUAD
{
1452 } RGBQUAD
,*LPRGBQUAD
;
1453 typedef struct tagBITMAPINFO
{
1454 BITMAPINFOHEADER bmiHeader
;
1455 RGBQUAD bmiColors
[1];
1456 } BITMAPINFO
,*LPBITMAPINFO
,*PBITMAPINFO
;
1457 typedef long FXPT16DOT16
,*LPFXPT16DOT16
;
1458 typedef long FXPT2DOT30
,*LPFXPT2DOT30
;
1459 typedef struct tagCIEXYZ
{
1464 typedef struct tagCIEXYZTRIPLE
{
1468 } CIEXYZTRIPLE
,*LPCIEXYZTRIPLE
;
1475 DWORD bV4V4Compression
;
1477 LONG bV4XPelsPerMeter
;
1478 LONG bV4YPelsPerMeter
;
1480 DWORD bV4ClrImportant
;
1486 CIEXYZTRIPLE bV4Endpoints
;
1488 DWORD bV4GammaGreen
;
1490 } BITMAPV4HEADER
,*LPBITMAPV4HEADER
,*PBITMAPV4HEADER
;
1491 #if (WINVER >= 0x500)
1498 DWORD bV5Compression
;
1500 LONG bV5XPelsPerMeter
;
1501 LONG bV5YPelsPerMeter
;
1503 DWORD bV5ClrImportant
;
1509 CIEXYZTRIPLE bV5Endpoints
;
1511 DWORD bV5GammaGreen
;
1514 DWORD bV5ProfileData
;
1515 DWORD bV5ProfileSize
;
1517 } BITMAPV5HEADER
,*LPBITMAPV5HEADER
,*PBITMAPV5HEADER
;
1519 typedef struct tagFONTSIGNATURE
{
1522 } FONTSIGNATURE
, *PFONTSIGNATURE
,*LPFONTSIGNATURE
;
1523 typedef struct tagCHARSETINFO
{
1527 } CHARSETINFO
, *PCHARSETINFO
, *LPCHARSETINFO
;
1528 typedef struct tagCOLORADJUSTMENT
{
1531 WORD caIlluminantIndex
;
1535 WORD caReferenceBlack
;
1536 WORD caReferenceWhite
;
1539 SHORT caColorfulness
;
1540 SHORT caRedGreenTint
;
1541 } COLORADJUSTMENT
, *PCOLORADJUSTMENT
, FAR
*LPCOLORADJUSTMENT
;
1542 typedef struct _devicemodeA
{
1543 BYTE dmDeviceName
[CCHDEVICENAME
];
1545 WORD dmDriverVersion
;
1549 _ANONYMOUS_UNION
union {
1550 _ANONYMOUS_STRUCT
struct {
1551 short dmOrientation
;
1553 short dmPaperLength
;
1557 short dmDefaultSource
;
1558 short dmPrintQuality
;
1562 DWORD dmDisplayOrientation
;
1563 DWORD dmDisplayFixedOutput
;
1568 short dmYResolution
;
1571 BYTE dmFormName
[CCHFORMNAME
];
1576 _ANONYMOUS_UNION
union {
1577 DWORD dmDisplayFlags
;
1580 DWORD dmDisplayFrequency
;
1581 #if(WINVER >= 0x0400)
1588 #if (WINVER >= 0x0500) || (_WIN32_WINNT >= 0x0400)
1589 DWORD dmPanningWidth
;
1590 DWORD dmPanningHeight
;
1592 #endif /* WINVER >= 0x0400 */
1593 } DEVMODEA
,*LPDEVMODEA
,*PDEVMODEA
;
1594 typedef struct _devicemodeW
{
1595 WCHAR dmDeviceName
[CCHDEVICENAME
];
1597 WORD dmDriverVersion
;
1601 _ANONYMOUS_UNION
union {
1602 _ANONYMOUS_STRUCT
struct {
1603 short dmOrientation
;
1605 short dmPaperLength
;
1609 short dmDefaultSource
;
1610 short dmPrintQuality
;
1614 DWORD dmDisplayOrientation
;
1615 DWORD dmDisplayFixedOutput
;
1620 short dmYResolution
;
1623 WCHAR dmFormName
[CCHFORMNAME
];
1628 _ANONYMOUS_UNION
union {
1629 DWORD dmDisplayFlags
;
1632 DWORD dmDisplayFrequency
;
1633 #if(WINVER >= 0x0400)
1640 #if (WINVER >= 0x0500) || (_WIN32_WINNT >= 0x0400)
1641 DWORD dmPanningWidth
;
1642 DWORD dmPanningHeight
;
1644 #endif /* WINVER >= 0x0400 */
1645 } DEVMODEW
,*LPDEVMODEW
,*PDEVMODEW
,*NPDEVMODEW
;
1646 typedef struct tagDIBSECTION
{
1648 BITMAPINFOHEADER dsBmih
;
1649 DWORD dsBitfields
[3];
1652 } DIBSECTION
,*PDIBSECTION
,*LPDIBSECTION
;
1653 typedef struct _DOCINFOA
{
1657 LPCSTR lpszDatatype
;
1659 } DOCINFOA
,*LPDOCINFOA
;
1660 typedef struct _DOCINFOW
{
1662 LPCWSTR lpszDocName
;
1664 LPCWSTR lpszDatatype
;
1666 } DOCINFOW
,*LPDOCINFOW
;
1667 typedef struct tagEMR
{
1672 #if(WINVER >= 0x0400)
1673 typedef struct tagEMRGLSRECORD
{
1677 } EMRGLSRECORD
, *PEMRGLSRECORD
;
1678 typedef struct tagEMRGLSBOUNDEDRECORD
{
1683 } EMRGLSBOUNDEDRECORD
, *PEMRGLSBOUNDEDRECORD
;
1685 typedef struct tagEMRANGLEARC
{
1691 } EMRANGLEARC
,*PEMRANGLEARC
;
1692 typedef struct tagEMRARC
{
1697 } EMRARC
,*PEMRARC
,EMRARCTO
,*PEMRARCTO
,EMRCHORD
,*PEMRCHORD
,EMRPIE
,*PEMRPIE
;
1698 typedef struct _XFORM
{
1705 } XFORM
,*PXFORM
,*LPXFORM
;
1706 typedef struct tagEMRBITBLT
{
1717 COLORREF crBkColorSrc
;
1723 } EMRBITBLT
,*PEMRBITBLT
;
1724 typedef struct tagLOGBRUSH
{
1728 } LOGBRUSH
,*PLOGBRUSH
,*LPLOGBRUSH
;
1729 typedef LOGBRUSH PATTERN
,*PPATTERN
,*LPPATTERN
;
1730 typedef struct tagLOGBRUSH32
{
1734 } LOGBRUSH32
, *PLOGBRUSH32
;
1735 typedef struct tagEMRCREATEBRUSHINDIRECT
{
1739 } EMRCREATEBRUSHINDIRECT
,*PEMRCREATEBRUSHINDIRECT
;
1740 typedef LONG LCSCSTYPE
;
1741 typedef LONG LCSGAMUTMATCH
;
1742 typedef struct tagLOGCOLORSPACEA
{
1746 LCSCSTYPE lcsCSType
;
1747 LCSGAMUTMATCH lcsIntent
;
1748 CIEXYZTRIPLE lcsEndpoints
;
1750 DWORD lcsGammaGreen
;
1752 CHAR lcsFilename
[MAX_PATH
];
1753 } LOGCOLORSPACEA
,*LPLOGCOLORSPACEA
;
1754 typedef struct tagLOGCOLORSPACEW
{
1758 LCSCSTYPE lcsCSType
;
1759 LCSGAMUTMATCH lcsIntent
;
1760 CIEXYZTRIPLE lcsEndpoints
;
1762 DWORD lcsGammaGreen
;
1764 WCHAR lcsFilename
[MAX_PATH
];
1765 } LOGCOLORSPACEW
,*LPLOGCOLORSPACEW
;
1766 typedef struct tagEMRCREATECOLORSPACEW
{
1773 } EMRCREATECOLORSPACEW
, *PEMRCREATECOLORSPACEW
;
1774 typedef struct tagEMRCREATECOLORSPACE
{
1778 } EMRCREATECOLORSPACE
,*PEMRCREATECOLORSPACE
;
1779 typedef struct tagEMRCREATEDIBPATTERNBRUSHPT
{
1787 } EMRCREATEDIBPATTERNBRUSHPT
,*PEMRCREATEDIBPATTERNBRUSHPT
;
1788 typedef struct tagEMRCREATEMONOBRUSH
{
1796 } EMRCREATEMONOBRUSH
,*PEMRCREATEMONOBRUSH
;
1798 #ifndef _PALETTEENTRY_DEFINED
1799 #define _PALETTEENTRY_DEFINED
1800 typedef struct tagPALETTEENTRY
{
1805 } PALETTEENTRY
,*LPPALETTEENTRY
,*PPALETTEENTRY
;
1808 #ifndef _LOGPALETTE_DEFINED
1809 #define _LOGPALETTE_DEFINED
1810 typedef struct tagLOGPALETTE
{
1813 _Field_size_opt_(palNumEntries
) PALETTEENTRY palPalEntry
[1];
1814 } LOGPALETTE
, *NPLOGPALETTE
, *PLOGPALETTE
, *LPLOGPALETTE
;
1817 typedef struct tagEMRCREATEPALETTE
{
1821 } EMRCREATEPALETTE
,*PEMRCREATEPALETTE
;
1822 typedef struct tagLOGPEN
{
1826 } LOGPEN
,*PLOGPEN
,*LPLOGPEN
;
1827 typedef struct tagEMRCREATEPEN
{
1831 } EMRCREATEPEN
,*PEMRCREATEPEN
;
1832 typedef struct tagEMRELLIPSE
{
1835 } EMRELLIPSE
,*PEMRELLIPSE
,EMRRECTANGLE
,*PEMRRECTANGLE
;
1836 typedef struct tagEMREOF
{
1839 DWORD offPalEntries
;
1842 typedef struct tagEMREXCLUDECLIPRECT
{
1845 } EMREXCLUDECLIPRECT
,*PEMREXCLUDECLIPRECT
,EMRINTERSECTCLIPRECT
,*PEMRINTERSECTCLIPRECT
;
1846 typedef struct tagPANOSE
{
1852 BYTE bStrokeVariation
;
1857 } PANOSE
, *LPPANOSE
;
1858 typedef struct tagLOGFONTA
{
1868 BYTE lfOutPrecision
;
1869 BYTE lfClipPrecision
;
1871 BYTE lfPitchAndFamily
;
1872 CHAR lfFaceName
[LF_FACESIZE
];
1873 } LOGFONTA
,*PLOGFONTA
,*LPLOGFONTA
;
1874 typedef struct tagLOGFONTW
{
1884 BYTE lfOutPrecision
;
1885 BYTE lfClipPrecision
;
1887 BYTE lfPitchAndFamily
;
1888 WCHAR lfFaceName
[LF_FACESIZE
];
1889 } LOGFONTW
,*PLOGFONTW
,*LPLOGFONTW
;
1890 typedef struct tagEXTLOGFONTA
{
1891 LOGFONTA elfLogFont
;
1892 BYTE elfFullName
[LF_FULLFACESIZE
];
1893 BYTE elfStyle
[LF_FACESIZE
];
1898 BYTE elfVendorId
[ELF_VENDOR_SIZE
];
1901 } EXTLOGFONTA
,*PEXTLOGFONTA
,*LPEXTLOGFONTA
;
1902 typedef struct tagEXTLOGFONTW
{
1903 LOGFONTW elfLogFont
;
1904 WCHAR elfFullName
[LF_FULLFACESIZE
];
1905 WCHAR elfStyle
[LF_FACESIZE
];
1910 BYTE elfVendorId
[ELF_VENDOR_SIZE
];
1913 } EXTLOGFONTW
,*PEXTLOGFONTW
,*LPEXTLOGFONTW
;
1914 typedef struct tagEMREXTCREATEFONTINDIRECTW
{
1918 } EMREXTCREATEFONTINDIRECTW
,*PEMREXTCREATEFONTINDIRECTW
;
1919 typedef struct tagEXTLOGPEN
{
1925 DWORD elpNumEntries
;
1926 DWORD elpStyleEntry
[1];
1927 } EXTLOGPEN
,*PEXTLOGPEN
,*LPEXTLOGPEN
,*NPEXTLOGPEN
;
1928 typedef struct tagEMREXTCREATEPEN
{
1936 } EMREXTCREATEPEN
,*PEMREXTCREATEPEN
;
1937 typedef struct tagEMREXTFLOODFILL
{
1942 } EMREXTFLOODFILL
,*PEMREXTFLOODFILL
;
1943 typedef struct tagEMREXTSELECTCLIPRGN
{
1948 } EMREXTSELECTCLIPRGN
,*PEMREXTSELECTCLIPRGN
;
1949 typedef struct tagEMRTEXT
{
1950 POINTL ptlReference
;
1956 } EMRTEXT
,*PEMRTEXT
;
1957 typedef struct tagEMREXTTEXTOUTA
{
1960 DWORD iGraphicsMode
;
1964 } EMREXTTEXTOUTA
,*PEMREXTTEXTOUTA
,EMREXTTEXTOUTW
,*PEMREXTTEXTOUTW
;
1965 typedef struct tagEMRFILLPATH
{
1968 } EMRFILLPATH
,*PEMRFILLPATH
,EMRSTROKEANDFILLPATH
,*PEMRSTROKEANDFILLPATH
,EMRSTROKEPATH
,*PEMRSTROKEPATH
;
1969 typedef struct tagEMRFILLRGN
{
1975 } EMRFILLRGN
,*PEMRFILLRGN
;
1976 typedef struct tagEMRFORMAT
{
1981 } EMRFORMAT
, *PEMRFORMAT
;
1984 typedef struct tagEMRSETCOLORSPACE
1988 } EMRSETCOLORSPACE
, *PEMRSETCOLORSPACE
, EMRSELECTCOLORSPACE
, *PEMRSELECTCOLORSPACE
,
1989 EMRDELETECOLORSPACE
, *PEMRDELETECOLORSPACE
;
1991 typedef struct tagEMRFRAMERGN
{
1998 } EMRFRAMERGN
,*PEMRFRAMERGN
;
1999 typedef struct tagEMRGDICOMMENT
{
2003 } EMRGDICOMMENT
,*PEMRGDICOMMENT
;
2004 typedef struct tagEMRINVERTRGN
{
2009 } EMRINVERTRGN
,*PEMRINVERTRGN
,EMRPAINTRGN
,*PEMRPAINTRGN
;
2010 typedef struct tagEMRLINETO
{
2013 } EMRLINETO
,*PEMRLINETO
,EMRMOVETOEX
,*PEMRMOVETOEX
;
2014 typedef struct tagEMRMASKBLT
{
2025 COLORREF crBkColorSrc
;
2038 } EMRMASKBLT
,*PEMRMASKBLT
;
2039 typedef struct tagEMRMODIFYWORLDTRANSFORM
{
2043 } EMRMODIFYWORLDTRANSFORM
,*PEMRMODIFYWORLDTRANSFORM
;
2044 typedef struct tagEMROFFSETCLIPRGN
{
2047 } EMROFFSETCLIPRGN
,*PEMROFFSETCLIPRGN
;
2048 typedef struct tagEMRPLGBLT
{
2057 COLORREF crBkColorSrc
;
2070 } EMRPLGBLT
,*PEMRPLGBLT
;
2071 typedef struct tagEMRPOLYDRAW
{
2077 } EMRPOLYDRAW
,*PEMRPOLYDRAW
;
2078 typedef struct tagEMRPOLYDRAW16
{
2084 } EMRPOLYDRAW16
,*PEMRPOLYDRAW16
;
2085 typedef struct tagEMRPOLYLINE
{
2090 } EMRPOLYLINE
,*PEMRPOLYLINE
,EMRPOLYBEZIER
,*PEMRPOLYBEZIER
,EMRPOLYGON
,*PEMRPOLYGON
,EMRPOLYBEZIERTO
,*PEMRPOLYBEZIERTO
,EMRPOLYLINETO
,*PEMRPOLYLINETO
;
2091 typedef struct tagEMRPOLYLINE16
{
2096 } EMRPOLYLINE16
,*PEMRPOLYLINE16
,EMRPOLYBEZIER16
,*PEMRPOLYBEZIER16
,EMRPOLYGON16
,*PEMRPOLYGON16
,EMRPOLYBEZIERTO16
,*PEMRPOLYBEZIERTO16
,EMRPOLYLINETO16
,*PEMRPOLYLINETO16
;
2097 typedef struct tagEMRPOLYPOLYLINE
{
2102 DWORD aPolyCounts
[1];
2104 } EMRPOLYPOLYLINE
,*PEMRPOLYPOLYLINE
,EMRPOLYPOLYGON
,*PEMRPOLYPOLYGON
;
2105 typedef struct tagEMRPOLYPOLYLINE16
{
2110 DWORD aPolyCounts
[1];
2112 } EMRPOLYPOLYLINE16
,*PEMRPOLYPOLYLINE16
,EMRPOLYPOLYGON16
,*PEMRPOLYPOLYGON16
;
2113 typedef struct tagEMRPOLYTEXTOUTA
{
2116 DWORD iGraphicsMode
;
2120 EMRTEXT aemrtext
[1];
2121 } EMRPOLYTEXTOUTA
,*PEMRPOLYTEXTOUTA
,EMRPOLYTEXTOUTW
,*PEMRPOLYTEXTOUTW
;
2122 typedef struct tagEMRRESIZEPALETTE
{
2126 } EMRRESIZEPALETTE
,*PEMRRESIZEPALETTE
;
2127 typedef struct tagEMRRESTOREDC
{
2130 } EMRRESTOREDC
,*PEMRRESTOREDC
;
2131 typedef struct tagEMRROUNDRECT
{
2135 } EMRROUNDRECT
,*PEMRROUNDRECT
;
2136 typedef struct tagEMRSCALEVIEWPORTEXTEX
{
2142 } EMRSCALEVIEWPORTEXTEX
,*PEMRSCALEVIEWPORTEXTEX
,EMRSCALEWINDOWEXTEX
,*PEMRSCALEWINDOWEXTEX
;
2145 typedef struct tagEMRSELECTOBJECT
{
2148 } EMRSELECTOBJECT
,*PEMRSELECTOBJECT
,EMRDELETEOBJECT
,*PEMRDELETEOBJECT
;
2149 typedef struct tagEMRSELECTPALETTE
{
2152 } EMRSELECTPALETTE
,*PEMRSELECTPALETTE
;
2153 typedef struct tagEMRSETARCDIRECTION
{
2155 DWORD iArcDirection
;
2156 } EMRSETARCDIRECTION
,*PEMRSETARCDIRECTION
;
2157 typedef struct tagEMRSETTEXTCOLOR
{
2160 } EMRSETBKCOLOR
,*PEMRSETBKCOLOR
,EMRSETTEXTCOLOR
,*PEMRSETTEXTCOLOR
;
2161 typedef struct tagEMRSETCOLORADJUSTMENT
{
2163 COLORADJUSTMENT ColorAdjustment
;
2164 } EMRSETCOLORADJUSTMENT
,*PEMRSETCOLORADJUSTMENT
;
2165 typedef struct tagEMRSETDIBITSTODEVICE
{
2181 } EMRSETDIBITSTODEVICE
,*PEMRSETDIBITSTODEVICE
;
2182 typedef struct tagEMRSETMAPPERFLAGS
{
2185 } EMRSETMAPPERFLAGS
,*PEMRSETMAPPERFLAGS
;
2186 typedef struct tagEMRSETMITERLIMIT
{
2189 } EMRSETMITERLIMIT
,*PEMRSETMITERLIMIT
;
2190 typedef struct tagEMRSETPALETTEENTRIES
{
2195 PALETTEENTRY aPalEntries
[1];
2196 } EMRSETPALETTEENTRIES
,*PEMRSETPALETTEENTRIES
;
2197 typedef struct tagEMRSETPIXELV
{
2201 } EMRSETPIXELV
,*PEMRSETPIXELV
;
2202 typedef struct tagEMRSETVIEWPORTEXTEX
{
2205 } EMRSETVIEWPORTEXTEX
,*PEMRSETVIEWPORTEXTEX
,EMRSETWINDOWEXTEX
,*PEMRSETWINDOWEXTEX
;
2206 typedef struct tagEMRSETVIEWPORTORGEX
{
2209 } EMRSETVIEWPORTORGEX
,*PEMRSETVIEWPORTORGEX
,EMRSETWINDOWORGEX
,*PEMRSETWINDOWORGEX
,EMRSETBRUSHORGEX
,*PEMRSETBRUSHORGEX
;
2210 typedef struct tagEMRSETWORLDTRANSFORM
{
2213 } EMRSETWORLDTRANSFORM
,*PEMRSETWORLDTRANSFORM
;
2214 typedef struct tagEMRSTRETCHBLT
{
2225 COLORREF crBkColorSrc
;
2233 } EMRSTRETCHBLT
,*PEMRSTRETCHBLT
;
2234 typedef struct tagEMRALPHABLEND
{
2245 COLORREF crBkColorSrc
;
2253 } EMRALPHABLEND
, *PEMRALPHABLEND
;
2254 typedef struct tagEMRSTRETCHDIBITS
{
2271 } EMRSTRETCHDIBITS
,*PEMRSTRETCHDIBITS
;
2272 typedef struct tagABORTPATH
{
2274 } EMRABORTPATH
,*PEMRABORTPATH
,EMRBEGINPATH
,*PEMRBEGINPATH
,EMRENDPATH
,*PEMRENDPATH
,EMRCLOSEFIGURE
,*PEMRCLOSEFIGURE
,EMRFLATTENPATH
,*PEMRFLATTENPATH
,EMRWIDENPATH
,*PEMRWIDENPATH
,EMRSETMETARGN
,*PEMRSETMETARGN
,EMRSAVEDC
,*PEMRSAVEDC
,EMRREALIZEPALETTE
,*PEMRREALIZEPALETTE
;
2275 typedef struct tagEMRSELECTCLIPPATH
{
2278 } EMRSELECTCLIPPATH
,*PEMRSELECTCLIPPATH
, EMRSETBKMODE
,*PEMRSETBKMODE
, EMRSETMAPMODE
, *PEMRSETMAPMODE
,
2279 EMRSETPOLYFILLMODE
, *PEMRSETPOLYFILLMODE
, EMRSETROP2
, *PEMRSETROP2
, EMRSETSTRETCHBLTMODE
, *PEMRSETSTRETCHBLTMODE
,
2280 EMRSETICMMODE
, *PEMRSETICMMODE
, EMRSETTEXTALIGN
,
2281 #if(WINVER >= 0x0500)
2282 EMRSETLAYOUT
, *PEMRSETLAYOUT
,
2286 #include "pshpack2.h"
2287 typedef struct tagMETAHEADER
{
2294 WORD mtNoParameters
;
2295 } METAHEADER
,*PMETAHEADER
,*LPMETAHEADER
;
2296 #include "poppack.h"
2297 typedef struct tagENHMETAHEADER
{
2309 DWORD offDescription
;
2312 SIZEL szlMillimeters
;
2313 #if (WINVER >= 0x0400)
2314 DWORD cbPixelFormat
;
2315 DWORD offPixelFormat
;
2318 #if (WINVER >= 0x0500)
2319 SIZEL szlMicrometers
;
2321 } ENHMETAHEADER
,*PENHMETAHEADER
,*LPENHMETAHEADER
;
2322 typedef struct tagMETARECORD
{
2326 } METARECORD
,*PMETARECORD
,*LPMETARECORD
;
2327 typedef struct tagENHMETARECORD
{
2331 } ENHMETARECORD
,*LPENHMETARECORD
;
2332 typedef struct tagHANDLETABLE
{
2333 HGDIOBJ objectHandle
[1];
2334 } HANDLETABLE
,*PHANDLETABLE
, *LPHANDLETABLE
;
2336 #ifndef _TEXTMETRIC_DEFINED
2337 #define _TEXTMETRIC_DEFINED
2338 typedef struct tagTEXTMETRICA
{
2342 LONG tmInternalLeading
;
2343 LONG tmExternalLeading
;
2344 LONG tmAveCharWidth
;
2345 LONG tmMaxCharWidth
;
2348 LONG tmDigitizedAspectX
;
2349 LONG tmDigitizedAspectY
;
2357 BYTE tmPitchAndFamily
;
2359 } TEXTMETRICA
,*PTEXTMETRICA
,*LPTEXTMETRICA
;
2360 typedef struct tagTEXTMETRICW
{
2364 LONG tmInternalLeading
;
2365 LONG tmExternalLeading
;
2366 LONG tmAveCharWidth
;
2367 LONG tmMaxCharWidth
;
2370 LONG tmDigitizedAspectX
;
2371 LONG tmDigitizedAspectY
;
2374 WCHAR tmDefaultChar
;
2379 BYTE tmPitchAndFamily
;
2381 } TEXTMETRICW
,*PTEXTMETRICW
,*LPTEXTMETRICW
;
2384 typedef struct _RGNDATAHEADER
{
2390 } RGNDATAHEADER
, *PRGNDATAHEADER
;
2391 typedef struct _RGNDATA
{
2394 } RGNDATA
,*PRGNDATA
, *LPRGNDATA
;
2395 /* for GetRandomRgn */
2397 typedef struct tagGCP_RESULTSA
{
2407 } GCP_RESULTSA
,*LPGCP_RESULTSA
;
2408 typedef struct tagGCP_RESULTSW
{
2418 } GCP_RESULTSW
,*LPGCP_RESULTSW
;
2419 typedef struct _GLYPHMETRICS
{
2422 POINT gmptGlyphOrigin
;
2425 } GLYPHMETRICS
,*LPGLYPHMETRICS
;
2426 #if (_WIN32_WINNT >= 0x0500)
2427 typedef struct tagWCRANGE
2431 } WCRANGE
, *PWCRANGE
, *LPWCRANGE
;
2432 typedef struct tagGLYPHSET
2436 DWORD cGlyphsSupported
;
2439 } GLYPHSET
, *PGLYPHSET
, *LPGLYPHSET
;
2441 typedef struct tagKERNINGPAIR
{
2445 } KERNINGPAIR
,*LPKERNINGPAIR
;
2446 typedef struct _FIXED
{
2450 typedef struct _MAT2
{
2456 typedef struct _OUTLINETEXTMETRICA
{
2458 TEXTMETRICA otmTextMetrics
;
2460 PANOSE otmPanoseNumber
;
2461 UINT otmfsSelection
;
2463 int otmsCharSlopeRise
;
2464 int otmsCharSlopeRun
;
2470 UINT otmsCapEmHeight
;
2476 UINT otmusMinimumPPEM
;
2477 POINT otmptSubscriptSize
;
2478 POINT otmptSubscriptOffset
;
2479 POINT otmptSuperscriptSize
;
2480 POINT otmptSuperscriptOffset
;
2481 UINT otmsStrikeoutSize
;
2482 int otmsStrikeoutPosition
;
2483 int otmsUnderscoreSize
;
2484 int otmsUnderscorePosition
;
2485 PSTR otmpFamilyName
;
2489 } OUTLINETEXTMETRICA
,*POUTLINETEXTMETRICA
,*LPOUTLINETEXTMETRICA
;
2490 typedef struct _OUTLINETEXTMETRICW
{
2492 TEXTMETRICW otmTextMetrics
;
2494 PANOSE otmPanoseNumber
;
2495 UINT otmfsSelection
;
2497 int otmsCharSlopeRise
;
2498 int otmsCharSlopeRun
;
2504 UINT otmsCapEmHeight
;
2510 UINT otmusMinimumPPEM
;
2511 POINT otmptSubscriptSize
;
2512 POINT otmptSubscriptOffset
;
2513 POINT otmptSuperscriptSize
;
2514 POINT otmptSuperscriptOffset
;
2515 UINT otmsStrikeoutSize
;
2516 int otmsStrikeoutPosition
;
2517 int otmsUnderscoreSize
;
2518 int otmsUnderscorePosition
;
2519 PSTR otmpFamilyName
;
2523 } OUTLINETEXTMETRICW
,*POUTLINETEXTMETRICW
,*LPOUTLINETEXTMETRICW
;
2524 typedef struct _RASTERIZER_STATUS
{
2528 } RASTERIZER_STATUS
,*LPRASTERIZER_STATUS
;
2529 typedef struct _POLYTEXTA
{
2537 } POLYTEXTA
, *PPOLYTEXTA
, *LPPOLYTEXTA
;
2538 typedef struct _POLYTEXTW
{
2546 } POLYTEXTW
, *PPOLYTEXTW
, *LPPOLYTEXTW
;
2547 typedef struct tagPIXELFORMATDESCRIPTOR
{
2563 BYTE cAccumGreenBits
;
2564 BYTE cAccumBlueBits
;
2565 BYTE cAccumAlphaBits
;
2572 DWORD dwVisibleMask
;
2574 } PIXELFORMATDESCRIPTOR
,*PPIXELFORMATDESCRIPTOR
,*LPPIXELFORMATDESCRIPTOR
;
2576 typedef struct tagEMRPIXELFORMAT
2579 PIXELFORMATDESCRIPTOR pfd
;
2580 } EMRPIXELFORMAT
, *PEMRPIXELFORMAT
;
2582 typedef struct tagMETAFILEPICT
{
2587 } METAFILEPICT
,*LPMETAFILEPICT
;
2588 typedef struct tagLOCALESIGNATURE
{
2590 DWORD lsCsbDefault
[2];
2591 DWORD lsCsbSupported
[2];
2592 } LOCALESIGNATURE
,*PLOCALESIGNATURE
,*LPLOCALESIGNATURE
;
2593 typedef LONG LCSTYPE
;
2594 #include "pshpack4.h"
2595 typedef struct tagNEWTEXTMETRICA
{
2599 LONG tmInternalLeading
;
2600 LONG tmExternalLeading
;
2601 LONG tmAveCharWidth
;
2602 LONG tmMaxCharWidth
;
2605 LONG tmDigitizedAspectX
;
2606 LONG tmDigitizedAspectY
;
2614 BYTE tmPitchAndFamily
;
2620 } NEWTEXTMETRICA
,*PNEWTEXTMETRICA
,*LPNEWTEXTMETRICA
;
2621 typedef struct tagNEWTEXTMETRICW
{
2625 LONG tmInternalLeading
;
2626 LONG tmExternalLeading
;
2627 LONG tmAveCharWidth
;
2628 LONG tmMaxCharWidth
;
2631 LONG tmDigitizedAspectX
;
2632 LONG tmDigitizedAspectY
;
2635 WCHAR tmDefaultChar
;
2640 BYTE tmPitchAndFamily
;
2646 } NEWTEXTMETRICW
,*PNEWTEXTMETRICW
,*LPNEWTEXTMETRICW
;
2647 #include "poppack.h"
2648 typedef struct tagNEWTEXTMETRICEXA
{
2649 NEWTEXTMETRICA ntmTm
;
2650 FONTSIGNATURE ntmFontSig
;
2652 typedef struct tagNEWTEXTMETRICEXW
{
2653 NEWTEXTMETRICW ntmTm
;
2654 FONTSIGNATURE ntmFontSig
;
2656 typedef struct tagPELARRAY
{
2662 } PELARRAY
,*PPELARRAY
,*LPPELARRAY
;
2663 typedef struct tagENUMLOGFONTA
{
2664 LOGFONTA elfLogFont
;
2665 BYTE elfFullName
[LF_FULLFACESIZE
];
2666 BYTE elfStyle
[LF_FACESIZE
];
2667 } ENUMLOGFONTA
,*LPENUMLOGFONTA
;
2668 typedef struct tagENUMLOGFONTW
{
2669 LOGFONTW elfLogFont
;
2670 WCHAR elfFullName
[LF_FULLFACESIZE
];
2671 WCHAR elfStyle
[LF_FACESIZE
];
2672 } ENUMLOGFONTW
,*LPENUMLOGFONTW
;
2673 typedef struct tagENUMLOGFONTEXA
{
2674 LOGFONTA elfLogFont
;
2675 BYTE elfFullName
[LF_FULLFACESIZE
];
2676 BYTE elfStyle
[LF_FACESIZE
];
2677 BYTE elfScript
[LF_FACESIZE
];
2678 } ENUMLOGFONTEXA
,*LPENUMLOGFONTEXA
;
2679 typedef struct tagENUMLOGFONTEXW
{
2680 LOGFONTW elfLogFont
;
2681 WCHAR elfFullName
[LF_FULLFACESIZE
];
2682 WCHAR elfStyle
[LF_FACESIZE
];
2683 WCHAR elfScript
[LF_FACESIZE
];
2684 } ENUMLOGFONTEXW
,*LPENUMLOGFONTEXW
;
2685 typedef struct tagPOINTFX
{
2688 } POINTFX
,*LPPOINTFX
;
2689 typedef struct tagTTPOLYCURVE
{
2693 } TTPOLYCURVE
,*LPTTPOLYCURVE
;
2694 typedef struct tagTTPOLYGONHEADER
{
2698 } TTPOLYGONHEADER
,*LPTTPOLYGONHEADER
;
2699 typedef struct _POINTFLOAT
{
2702 } POINTFLOAT
,*PPOINTFLOAT
;
2703 typedef struct _GLYPHMETRICSFLOAT
{
2706 POINTFLOAT gmfptGlyphOrigin
;
2709 } GLYPHMETRICSFLOAT
,*PGLYPHMETRICSFLOAT
,*LPGLYPHMETRICSFLOAT
;
2710 typedef struct tagLAYERPLANEDESCRIPTOR
{
2726 BYTE cAccumGreenBits
;
2727 BYTE cAccumBlueBits
;
2728 BYTE cAccumAlphaBits
;
2734 COLORREF crTransparent
;
2735 } LAYERPLANEDESCRIPTOR
,*PLAYERPLANEDESCRIPTOR
,*LPLAYERPLANEDESCRIPTOR
;
2736 typedef struct _BLENDFUNCTION
{
2739 BYTE SourceConstantAlpha
;
2741 } BLENDFUNCTION
,*PBLENDFUNCTION
,*LPBLENDFUNCTION
;
2742 #define STAMP_DESIGNVECTOR (0x8000000 + 'd' + ('v' << 8))
2743 #define STAMP_AXESLIST (0x8000000 + 'a' + ('l' << 8))
2744 #define MM_MAX_NUMAXES 16
2745 typedef struct _DESIGNVECTOR
{
2748 LONG dvValues
[MM_MAX_NUMAXES
];
2749 } DESIGNVECTOR
, *PDESIGNVECTOR
, *LPDESIGNVECTOR
;
2750 typedef struct tagENUMLOGFONTEXDVA
2752 ENUMLOGFONTEXA elfEnumLogfontEx
;
2753 DESIGNVECTOR elfDesignVector
;
2754 } ENUMLOGFONTEXDVA
, *PENUMLOGFONTEXDVA
, *LPENUMLOGFONTEXDVA
;
2755 typedef struct tagENUMLOGFONTEXDVW
2757 ENUMLOGFONTEXW elfEnumLogfontEx
;
2758 DESIGNVECTOR elfDesignVector
;
2759 } ENUMLOGFONTEXDVW
, *PENUMLOGFONTEXDVW
, *LPENUMLOGFONTEXDVW
;
2760 typedef USHORT COLOR16
;
2761 typedef struct _TRIVERTEX
{
2768 } TRIVERTEX
, *PTRIVERTEX
, *LPTRIVERTEX
;
2769 typedef struct tagEMRGRADIENTFILL
{
2776 } EMRGRADIENTFILL
, *PEMRGRADIENTFILL
;
2777 typedef struct _GRADIENT_TRIANGLE
{
2781 } GRADIENT_TRIANGLE
,*PGRADIENT_TRIANGLE
,*LPGRADIENT_TRIANGLE
;
2782 typedef struct _GRADIENT_RECT
{
2785 }GRADIENT_RECT
,*PGRADIENT_RECT
,*LPGRADIENT_RECT
;
2786 typedef struct _DISPLAY_DEVICEA
{
2788 CHAR DeviceName
[32];
2789 CHAR DeviceString
[128];
2792 CHAR DeviceKey
[128];
2793 } DISPLAY_DEVICEA
, *PDISPLAY_DEVICEA
, *LPDISPLAY_DEVICEA
;
2794 typedef struct _DISPLAY_DEVICEW
{
2796 WCHAR DeviceName
[32];
2797 WCHAR DeviceString
[128];
2799 WCHAR DeviceID
[128];
2800 WCHAR DeviceKey
[128];
2801 } DISPLAY_DEVICEW
, *PDISPLAY_DEVICEW
, *LPDISPLAY_DEVICEW
;
2802 #define MM_MAX_AXES_NAMELEN 16
2803 typedef struct _AXISINFOA
2807 BYTE axAxisName
[MM_MAX_AXES_NAMELEN
];
2808 } AXISINFOA
, *PAXISINFOA
, *LPAXISINFOA
;
2809 typedef struct _AXISINFOW
2813 WCHAR axAxisName
[MM_MAX_AXES_NAMELEN
];
2814 } AXISINFOW
, *PAXISINFOW
, *LPAXISINFOW
;
2815 typedef struct _AXESLISTA
2819 AXISINFOA axlAxisInfo
[MM_MAX_NUMAXES
];
2820 } AXESLISTA
, *PAXESLISTA
, *LPAXESLISTA
;
2821 typedef struct _AXESLISTW
2825 AXISINFOW axlAxisInfo
[MM_MAX_NUMAXES
];
2826 } AXESLISTW
, *PAXESLISTW
, *LPAXESLISTW
;
2827 typedef struct _ENUMTEXTMETRICA
2829 NEWTEXTMETRICEXA etmNewTextMetricEx
;
2830 AXESLISTA etmAxesList
;
2831 } ENUMTEXTMETRICA
, *PENUMTEXTMETRICA
, *LPENUMTEXTMETRICA
;
2832 typedef struct _ENUMTEXTMETRICW
2834 NEWTEXTMETRICEXW etmNewTextMetricEx
;
2835 AXESLISTW etmAxesList
;
2836 } ENUMTEXTMETRICW
, *PENUMTEXTMETRICW
, *LPENUMTEXTMETRICW
;
2841 #if !defined(NOTEXTMETRIC)
2843 typedef int (CALLBACK
*OLDFONTENUMPROCA
)(CONST LOGFONTA
*, CONST TEXTMETRICA
*, DWORD
, LPARAM
);
2844 typedef int (CALLBACK
*OLDFONTENUMPROCW
)(CONST LOGFONTW
*, CONST TEXTMETRICW
*, DWORD
, LPARAM
);
2848 typedef int (CALLBACK
* OLDFONTENUMPROCA
)(CONST LOGFONTA
*, CONST VOID
*, DWORD
, LPARAM
);
2849 typedef int (CALLBACK
* OLDFONTENUMPROCW
)(CONST LOGFONTW
*, CONST VOID
*, DWORD
, LPARAM
);
2854 #define OLDFONTENUMPROC OLDFONTENUMPROCW
2856 #define OLDFONTENUMPROC OLDFONTENUMPROCA
2859 typedef OLDFONTENUMPROCA FONTENUMPROCA
;
2860 typedef OLDFONTENUMPROCW FONTENUMPROCW
;
2863 typedef FONTENUMPROCW FONTENUMPROC
;
2865 typedef FONTENUMPROCA FONTENUMPROC
;
2868 typedef INT (CALLBACK
*GOBJENUMPROC
)(LPVOID
, LPARAM
);
2869 typedef VOID (CALLBACK
*LINEDDAPROC
)(INT
, INT
, LPARAM
);
2871 #else // defined(STRICT)
2873 typedef FARPROC OLDFONTENUMPROC
;
2874 typedef FARPROC FONTENUMPROCA
;
2875 typedef FARPROC FONTENUMPROCW
;
2878 typedef FONTENUMPROCW FONTENUMPROC
;
2880 typedef FONTENUMPROCA FONTENUMPROC
;
2883 typedef FARPROC GOBJENUMPROC
;
2884 typedef FARPROC LINEDDAPROC
;
2889 typedef BOOL (CALLBACK
*ABORTPROC
)(HDC
,int);
2892 (CALLBACK
*MFENUMPROC
)(
2894 _In_reads_(nObj
) HANDLETABLE FAR
* lpht
,
2895 _In_ METARECORD FAR
* lpMR
,
2897 _In_opt_ LPARAM param
);
2900 (CALLBACK
*ENHMFENUMPROC
)(
2902 _In_reads_(nHandles
) HANDLETABLE FAR
* lpht
,
2903 _In_ CONST ENHMETARECORD
* lpmr
,
2905 _In_opt_ LPARAM data
);
2907 typedef int (CALLBACK
*ICMENUMPROCA
)(LPSTR
,LPARAM
);
2908 typedef int (CALLBACK
*ICMENUMPROCW
)(LPWSTR
,LPARAM
);
2909 typedef UINT (CALLBACK
*LPFNDEVMODE
)(HWND
,HMODULE
,LPDEVMODEA
,LPSTR
,LPSTR
,LPDEVMODEA
,LPSTR
,UINT
);
2910 typedef DWORD (CALLBACK
*LPFNDEVCAPS
)(LPSTR
,LPSTR
,UINT
,LPSTR
,LPDEVMODEA
);
2913 #define GetRValue(rgb) ((BYTE)(rgb))
2914 #define GetGValue(rgb) ((BYTE)(((WORD)(rgb)) >> 8))
2915 #define GetBValue(rgb) ((BYTE)((rgb)>>16))
2916 #define GetAValue(rgb) ((BYTE)((rgb)>>24))
2918 #define RGB(r,g,b) ((COLORREF)(((BYTE)(r)|((WORD)((BYTE)(g))<<8))|(((DWORD)(BYTE)(b))<<16)))
2919 #define RGBA(r,g,b,a) ((COLORREF)((((DWORD)(BYTE)(a))<<24) | RGB(r,g,b)))
2920 #define PALETTERGB(r,g,b) (0x02000000 | RGB(r,g,b))
2921 #define PALETTEINDEX(i) ((COLORREF)(0x01000000 | (DWORD)(WORD)(i)))
2923 #define MAKEPOINTS(l) (*((POINTS*)&(l)))
2924 #define MAKEROP4(f,b) (DWORD)((((b)<<8)&0xFF000000)|(f))
2939 _In_ LPCSTR pszFilename
);
2944 _In_ LPCWSTR pszFilename
);
2948 AddFontMemResourceEx(
2949 _In_reads_bytes_(cjSize
) PVOID pvFileView
,
2951 _Reserved_ PVOID pvResrved
,
2952 _In_ DWORD
* pNumFonts
);
2957 _In_ LPCSTR pszFilename
,
2959 _Reserved_ PVOID pvReserved
);
2964 _In_ LPCWSTR pszFilename
,
2966 _Reserved_ PVOID pvReserved
);
2974 _In_ DWORD dwRadius
,
2975 _In_ FLOAT eStartAngle
,
2976 _In_ FLOAT eSweepAngle
);
2982 _In_ UINT iStartIndex
,
2984 _In_reads_(cEntries
) CONST PALETTEENTRY
*ppe
);
3025 _In_opt_ HDC hdcSrc
,
3039 _In_reads_(nCount
) LPVOID pRGBTriple
,
3040 _Out_writes_bytes_(nCount
) LPVOID pvBuffer
,
3060 _In_
const PIXELFORMATDESCRIPTOR
* ppfd
);
3082 _In_ DWORD uAction
);
3087 _In_opt_ HRGN hrgnDest
,
3088 _In_opt_ HRGN hrgnSrc1
,
3089 _In_opt_ HRGN hrgnSrc2
,
3090 _In_
int fnCombineMode
);
3095 _Out_ LPXFORM pxformResult
,
3096 _In_
const XFORM
* pxform1
,
3097 _In_
const XFORM
* pxform2
);
3102 _In_ HENHMETAFILE hemfSrc
,
3103 _In_opt_ LPCSTR pszFile
);
3108 _In_ HENHMETAFILE hemfSrc
,
3109 _In_opt_ LPCWSTR pszFile
);
3114 _In_ HMETAFILE hmfSrc
,
3115 _In_opt_ LPCSTR pszFile
);
3120 _In_ HMETAFILE hmfSrc
,
3121 _In_opt_ LPCWSTR pszFile
);
3129 _In_ UINT cBitsPerPel
,
3130 _In_opt_
const VOID
* pvBits
);
3134 CreateBitmapIndirect(
3135 _In_
const BITMAP
* pbm
);
3139 CreateBrushIndirect(
3140 _In_
const LOGBRUSH
* plb
);
3145 _In_ LPLOGCOLORSPACEA pLogColorSpace
);
3150 _In_ LPLOGCOLORSPACEW pLogColorSpace
);
3154 CreateCompatibleBitmap(
3167 _In_opt_ LPCSTR pszDriver
,
3168 _In_opt_ LPCSTR pszDevice
,
3169 _In_opt_ LPCSTR pszOutput
,
3170 _In_opt_
const DEVMODEA
* pdmInit
);
3175 _In_opt_ LPCWSTR pszDriver
,
3176 _In_opt_ LPCWSTR pszDevice
,
3177 _In_opt_ LPCWSTR psz
,
3178 _In_opt_
const DEVMODEW
* pdmInit
);
3184 _In_opt_
const BITMAPINFOHEADER
* pbmih
,
3186 _In_opt_
const VOID
* pvInit
,
3187 _In_opt_
const BITMAPINFO
* pbmi
,
3192 CreateDIBPatternBrush(
3193 _In_ HGLOBAL hglbDIBPacked
,
3198 CreateDIBPatternBrushPt(
3199 _In_
const VOID
* pvPackedDIB
,
3202 #define GDI_WIDTHBYTES(bits) ((DWORD)(((bits) + 31) & (~31)) / 8)
3203 #define GDI_DIBWIDTHBYTES(bi) (DWORD)GDI_WIDTHBYTES((DWORD)(bi).biWidth * (DWORD)(bi).biBitCount)
3204 #define GDI__DIBSIZE(bi) (GDI_DIBWIDTHBYTES(bi) * (DWORD)(bi).biHeight)
3205 #define GDI_DIBSIZE(bi) ((bi).biHeight < 0 ? (-1) * (GDI__DIBSIZE(bi)) : GDI__DIBSIZE(bi))
3207 _Success_(return != NULL
)
3212 _In_
const BITMAPINFO
*pbmi
,
3214 _When_((pbmi
->bmiHeader
.biBitCount
!= 0), _Outptr_result_bytebuffer_(GDI_DIBSIZE((pbmi
->bmiHeader
))))
3215 _When_((pbmi
->bmiHeader
.biBitCount
== 0), _Outptr_result_bytebuffer_((pbmi
->bmiHeader
).biSizeImage
))
3217 _In_opt_ HANDLE hSection
,
3220 HBITMAP WINAPI
CreateDiscardableBitmap(_In_ HDC
, _In_
int, _In_
int);
3221 HRGN WINAPI
CreateEllipticRgn(_In_
int, _In_
int, _In_
int, _In_
int);
3222 HRGN WINAPI
CreateEllipticRgnIndirect(_In_ LPCRECT
);
3223 HDC WINAPI
CreateEnhMetaFileA(_In_opt_ HDC
, _In_opt_ LPCSTR
, _In_opt_ LPCRECT
, _In_opt_ LPCSTR
);
3224 HDC WINAPI
CreateEnhMetaFileW(_In_opt_ HDC
, _In_opt_ LPCWSTR
, _In_opt_ LPCRECT
, _In_opt_ LPCWSTR
);
3225 HFONT WINAPI
CreateFontA(_In_
int, _In_
int, _In_
int, _In_
int, _In_
int, _In_ DWORD
, _In_ DWORD
, _In_ DWORD
, _In_ DWORD
, _In_ DWORD
, _In_ DWORD
, _In_ DWORD
, _In_ DWORD
, _In_opt_ LPCSTR
);
3226 HFONT WINAPI
CreateFontW(_In_
int, _In_
int, _In_
int, _In_
int, _In_
int, _In_ DWORD
, _In_ DWORD
, _In_ DWORD
, _In_ DWORD
, _In_ DWORD
, _In_ DWORD
, _In_ DWORD
, _In_ DWORD
, _In_opt_ LPCWSTR
);
3227 HFONT WINAPI
CreateFontIndirectA(_In_
const LOGFONTA
*);
3228 HFONT WINAPI
CreateFontIndirectW(_In_
const LOGFONTW
*);
3229 HFONT WINAPI
CreateFontIndirectExA(const ENUMLOGFONTEXDVA
*);
3230 HFONT WINAPI
CreateFontIndirectExW(const ENUMLOGFONTEXDVW
*);
3231 HPALETTE WINAPI
CreateHalftonePalette(_In_opt_ HDC
);
3232 HBRUSH WINAPI
CreateHatchBrush(_In_
int, _In_ COLORREF
);
3233 HDC WINAPI
CreateICA(_In_opt_ LPCSTR
, _In_opt_ LPCSTR
, _In_opt_ LPCSTR
, _In_opt_
const DEVMODEA
*);
3234 HDC WINAPI
CreateICW(_In_opt_ LPCWSTR
, _In_opt_ LPCWSTR
, _In_opt_ LPCWSTR
, _In_opt_
const DEVMODEW
*);
3235 HDC WINAPI
CreateMetaFileA(_In_opt_ LPCSTR
);
3236 HDC WINAPI
CreateMetaFileW(_In_opt_ LPCWSTR
);
3241 _In_reads_(_Inexpressible_(2*sizeof(WORD
) + plpal
->palNumEntries
* sizeof(PALETTEENTRY
))) const LOGPALETTE
*);
3243 HBRUSH WINAPI
CreatePatternBrush(_In_ HBITMAP
);
3244 HPEN WINAPI
CreatePen(_In_
int, _In_
int, _In_ COLORREF
);
3245 HPEN WINAPI
CreatePenIndirect(_In_
const LOGPEN
*);
3250 _In_reads_(cPoint
) const POINT
*pptl
,
3256 CreatePolyPolygonRgn(
3257 _In_
const POINT
*pptl
,
3258 _In_reads_(cPoly
) const INT
*pc
,
3262 HRGN WINAPI
CreateRectRgn(_In_
int, _In_
int, _In_
int, _In_
int);
3263 HRGN WINAPI
CreateRectRgnIndirect(_In_ LPCRECT
);
3264 HRGN WINAPI
CreateRoundRectRgn(_In_
int, _In_
int, _In_
int, _In_
int, _In_
int, _In_
int);
3265 BOOL WINAPI
CreateScalableFontResourceA(_In_ DWORD
, _In_ LPCSTR
, _In_ LPCSTR
, _In_opt_ LPCSTR
);
3266 BOOL WINAPI
CreateScalableFontResourceW(_In_ DWORD
, _In_ LPCWSTR
, _In_ LPCWSTR
, _In_opt_ LPCWSTR
);
3267 HBRUSH WINAPI
CreateSolidBrush(_In_ COLORREF
);
3268 BOOL WINAPI
DeleteColorSpace(_In_ HCOLORSPACE
);
3269 BOOL WINAPI
DeleteDC(_In_ HDC
);
3270 BOOL WINAPI
DeleteEnhMetaFile(_In_opt_ HENHMETAFILE
);
3271 BOOL WINAPI
DeleteMetaFile(_In_ HMETAFILE
);
3272 BOOL WINAPI
DeleteObject(_In_ HGDIOBJ
);
3276 DescribePixelFormat(
3278 _In_
int iPixelFormat
,
3280 _Out_writes_bytes_opt_(nBytes
) LPPIXELFORMATDESCRIPTOR ppfd
);
3284 DeviceCapabilitiesA(
3285 _In_ LPCSTR pDevice
,
3286 _In_opt_ LPCSTR pPort
,
3287 _In_ WORD fwCapability
,
3288 _Out_writes_opt_(_Inexpressible_(1)) LPSTR pOutput
,
3289 _In_opt_
const DEVMODEA
*pDevMode
);
3293 DeviceCapabilitiesW(
3294 _In_ LPCWSTR pDevice
,
3295 _In_opt_ LPCWSTR pPort
,
3296 _In_ WORD fwCapability
,
3297 _Out_writes_opt_(_Inexpressible_(1)) LPWSTR pOutput
,
3298 _In_opt_
const DEVMODEW
*pDevMode
);
3304 _Inout_updates_(c
) LPPOINT lppt
,
3313 _In_reads_bytes_opt_(cjIn
) LPCSTR lpIn
);
3315 BOOL WINAPI
Ellipse(_In_ HDC
, _In_
int, _In_
int, _In_
int, _In_
int);
3316 int WINAPI
EndDoc(_In_ HDC
);
3317 int WINAPI
EndPage(_In_ HDC
);
3318 BOOL WINAPI
EndPath(_In_ HDC
);
3319 BOOL WINAPI
EnumEnhMetaFile(_In_opt_ HDC
, _In_ HENHMETAFILE
, _In_ ENHMFENUMPROC
, _In_opt_ PVOID
, _In_opt_ LPCRECT
);
3320 int WINAPI
EnumFontFamiliesA(_In_ HDC
, _In_opt_ LPCSTR
, _In_ FONTENUMPROCA
, _In_ LPARAM
);
3321 int WINAPI
EnumFontFamiliesW(_In_ HDC
, _In_opt_ LPCWSTR
, _In_ FONTENUMPROCW
, _In_ LPARAM
);
3322 int WINAPI
EnumFontFamiliesExA(_In_ HDC
, _In_ PLOGFONTA
, _In_ FONTENUMPROCA
, _In_ LPARAM
, _In_ DWORD
);
3323 int WINAPI
EnumFontFamiliesExW(_In_ HDC
, _In_ PLOGFONTW
, _In_ FONTENUMPROCW
, _In_ LPARAM
, _In_ DWORD
);
3324 int WINAPI
EnumFontsA(_In_ HDC
, _In_opt_ LPCSTR
, _In_ FONTENUMPROCA
, _In_ LPARAM
);
3325 int WINAPI
EnumFontsW(_In_ HDC
, _In_opt_ LPCWSTR
, _In_ FONTENUMPROCW
, _In_ LPARAM
);
3326 int WINAPI
EnumICMProfilesA(_In_ HDC
, _In_ ICMENUMPROCA
, _In_opt_ LPARAM
);
3327 int WINAPI
EnumICMProfilesW(_In_ HDC
, _In_ ICMENUMPROCW
, _In_opt_ LPARAM
);
3328 BOOL WINAPI
EnumMetaFile(_In_ HDC
, _In_ HMETAFILE
, _In_ MFENUMPROC
, _In_opt_ LPARAM
);
3329 int WINAPI
EnumObjects(_In_ HDC
, _In_
int, _In_ GOBJENUMPROC
, _In_ LPARAM
);
3330 BOOL WINAPI
EqualRgn(_In_ HRGN
, _In_ HRGN
);
3338 _In_reads_bytes_opt_(cjIn
) LPCSTR pvIn
,
3339 _Out_opt_ LPVOID pvOut
);
3341 int WINAPI
ExcludeClipRect(_In_ HDC
, _In_
int, _In_
int, _In_
int, _In_
int);
3342 int WINAPI
ExcludeUpdateRgn(HDC
,HWND
);
3347 _In_ DWORD iPenStyle
,
3349 _In_
const LOGBRUSH
*plbrush
,
3351 _In_reads_opt_(cStyle
) const DWORD
*pstyle
);
3356 _In_opt_
const XFORM
*lpx
,
3358 _In_reads_bytes_(nCount
) const RGNDATA
*lpData
);
3366 _In_reads_bytes_opt_(cjInput
) LPCSTR lpInData
,
3368 _Out_writes_bytes_opt_(cjOutput
) LPSTR lpOutData
);
3370 BOOL WINAPI
ExtFloodFill(_In_ HDC
, _In_
int, _In_
int, _In_ COLORREF
, _In_ UINT
);
3371 int WINAPI
ExtSelectClipRgn(_In_ HDC
, _In_opt_ HRGN
, _In_
int);
3380 _In_opt_
const RECT
*lprect
,
3381 _In_reads_opt_(c
) LPCSTR lpString
,
3383 _In_reads_opt_(c
) const INT
*lpDx
);
3392 _In_opt_
const RECT
*lprect
,
3393 _In_reads_opt_(c
) LPCWSTR lpString
,
3395 _In_reads_opt_(c
) const INT
*lpDx
);
3397 BOOL WINAPI
FillPath(_In_ HDC
);
3398 int WINAPI
FillRect(HDC
,LPCRECT
,HBRUSH
);
3399 int WINAPI
FillRgn(_In_ HDC
, _In_ HRGN
, _In_ HBRUSH
);
3400 BOOL WINAPI
FixBrushOrgEx(_In_ HDC
, _In_
int, _In_
int, _In_opt_ LPPOINT
);
3401 BOOL WINAPI
FlattenPath(_In_ HDC
);
3402 BOOL WINAPI
FloodFill(_In_ HDC
, _In_
int, _In_
int, _In_ COLORREF
);
3403 BOOL WINAPI
FrameRgn(_In_ HDC
, _In_ HRGN
, _In_ HBRUSH
, _In_
int, _In_
int);
3404 BOOL WINAPI
GdiAlphaBlend(_In_ HDC
, _In_
int, _In_
int, _In_
int, _In_
int, _In_ HDC
, _In_
int, _In_
int, _In_
int, _In_
int, _In_ BLENDFUNCTION
);
3411 _In_reads_bytes_(nSize
) const BYTE
*lpData
);
3413 DEVMODEW
* WINAPI
GdiConvertToDevmodeW(const DEVMODEA
*);
3414 BOOL WINAPI
GdiFlush(void);
3415 LONG WINAPI
GdiGetCharDimensions(HDC
, LPTEXTMETRICW
, LONG
*);
3416 DWORD WINAPI
GdiGetCodePage(HDC
);
3417 DWORD WINAPI
GdiGetBatchLimit(void);
3418 DWORD WINAPI
GdiSetBatchLimit(_In_ DWORD
);
3424 _In_reads_(nVertex
) PTRIVERTEX pVertex
,
3430 BOOL WINAPI
GdiTransparentBlt(_In_ HDC
, _In_
int, _In_
int, _In_
int, _In_
int, _In_ HDC
, _In_
int, _In_
int, _In_
int, _In_
int, _In_ UINT
);
3431 BOOL WINAPI
GdiIsMetaFileDC(HDC
);
3433 #define GetKValue(cmyk) ((BYTE)(cmyk))
3434 #define GetYValue(cmyk) ((BYTE)((cmyk)>> 8))
3435 #define GetMValue(cmyk) ((BYTE)((cmyk)>>16))
3436 #define GetCValue(cmyk) ((BYTE)((cmyk)>>24))
3437 #define CMYK(c,m,y,k) ((COLORREF)((((BYTE)(k)|((WORD)((BYTE)(y))<<8))|(((DWORD)(BYTE)(m))<<16))|(((DWORD)(BYTE)(c))<<24)))
3439 int WINAPI
GetArcDirection(_In_ HDC
);
3440 BOOL WINAPI
GetAspectRatioFilterEx(_In_ HDC
, _Out_ LPSIZE
);
3447 _Out_writes_bytes_(cb
) LPVOID lpvBits
);
3449 BOOL WINAPI
GetBitmapDimensionEx(_In_ HBITMAP
, _Out_ LPSIZE
);
3450 COLORREF WINAPI
GetBkColor(_In_ HDC
);
3451 int WINAPI
GetBkMode(_In_ HDC
);
3452 UINT WINAPI
GetBoundsRect(_In_ HDC
, _Out_ LPRECT
, _In_ UINT
);
3453 BOOL WINAPI
GetBrushOrgEx(_In_ HDC
, _Out_ LPPOINT
);
3461 _Out_writes_(wLast
- wFirst
+ 1) LPABC lpABC
);
3469 _Out_writes_(wLast
- wFirst
+ 1) LPABC lpABC
);
3473 GetCharABCWidthsFloatA(
3477 _Out_writes_(iLast
+ 1 - iFirst
) LPABCFLOAT lpABC
);
3481 GetCharABCWidthsFloatW(
3485 _Out_writes_(iLast
+ 1 - iFirst
) LPABCFLOAT lpABC
);
3493 _In_reads_opt_(cgi
) LPWORD pgi
,
3494 _Out_writes_(cgi
) LPABC pabc
);
3498 GetCharacterPlacementA(
3500 _In_reads_(nCount
) LPCSTR lpString
,
3502 _In_
int nMexExtent
,
3503 _Inout_ LPGCP_RESULTSA lpResults
,
3504 _In_ DWORD dwFlags
);
3508 GetCharacterPlacementW(
3510 _In_reads_(nCount
) LPCWSTR lpString
,
3512 _In_
int nMexExtent
,
3513 _Inout_ LPGCP_RESULTSW lpResults
,
3514 _In_ DWORD dwFlags
);
3522 _Out_writes_(iLast
+ 1 - iFirst
) LPINT lpBuffer
);
3530 _Out_writes_(iLast
+ 1 - iFirst
) LPINT lpBuffer
);
3538 _Out_writes_(iLast
+ 1 - iFirst
) LPINT lpBuffer
);
3546 _Out_writes_(iLast
+ 1 - iFirst
) LPINT lpBuffer
);
3554 _In_reads_opt_(cgi
) LPWORD pgi
,
3555 _Out_writes_(cgi
) LPINT piWidths
);
3563 _Out_writes_(iLast
+ 1 - iFirst
) PFLOAT lpBuffer
);
3571 _Out_writes_(iLast
+ 1 - iFirst
) PFLOAT lpBuffer
);
3573 int WINAPI
GetClipBox(_In_ HDC
, _Out_ LPRECT
);
3574 int WINAPI
GetClipRgn(_In_ HDC
, _In_ HRGN
);
3575 BOOL WINAPI
GetColorAdjustment(_In_ HDC
, _Out_ LPCOLORADJUSTMENT
);
3576 HCOLORSPACE WINAPI
GetColorSpace(_In_ HDC
);
3577 HGDIOBJ WINAPI
GetCurrentObject(_In_ HDC
, _In_ UINT
);
3578 BOOL WINAPI
GetCurrentPositionEx(_In_ HDC
, _Out_ LPPOINT
);
3579 HCURSOR WINAPI
GetCursor(void);
3580 BOOL WINAPI
GetDCOrgEx(_In_ HDC
, _Out_ LPPOINT
);
3581 #if (_WIN32_WINNT >= 0x0500)
3582 COLORREF WINAPI
GetDCBrushColor(_In_ HDC
);
3583 COLORREF WINAPI
GetDCPenColor(_In_ HDC
);
3585 int WINAPI
GetDeviceCaps(_In_opt_ HDC
, _In_
int);
3591 _Out_writes_bytes_(3*256*2) LPVOID lpRamp
);
3593 _Ret_range_(0,cEntries
)
3600 _Out_writes_to_(cEntries
,return) RGBQUAD
*prgbq
);
3609 _Out_opt_ LPVOID lpvBits
,
3610 _At_((LPBITMAPINFOHEADER
)lpbmi
, _Inout_
) LPBITMAPINFO lpbmi
,
3613 HENHMETAFILE WINAPI
GetEnhMetaFileA(_In_ LPCSTR
);
3614 HENHMETAFILE WINAPI
GetEnhMetaFileW(_In_ LPCWSTR
);
3619 _In_ HENHMETAFILE hEMF
,
3621 _Out_writes_bytes_opt_(nSize
) LPBYTE lpData
);
3625 GetEnhMetaFileDescriptionA(
3626 _In_ HENHMETAFILE hemf
,
3627 _In_ UINT cchBuffer
,
3628 _Out_writes_opt_(cchBuffer
) LPSTR lpDescription
);
3632 GetEnhMetaFileDescriptionW(
3633 _In_ HENHMETAFILE hemf
,
3634 _In_ UINT cchBuffer
,
3635 _Out_writes_opt_(cchBuffer
) LPWSTR lpDescription
);
3639 GetEnhMetaFileHeader(
3640 _In_ HENHMETAFILE hemf
,
3642 _Out_writes_bytes_opt_(nSize
) LPENHMETAHEADER lpEnhMetaHeader
);
3646 GetEnhMetaFilePaletteEntries(
3647 _In_ HENHMETAFILE hemf
,
3648 _In_ UINT nNumEntries
,
3649 _Out_writes_opt_(nNumEntries
) LPPALETTEENTRY lpPaletteEntries
);
3653 GetEnhMetaFilePixelFormat(
3654 _In_ HENHMETAFILE hemf
,
3656 _Out_writes_bytes_opt_(cbBuffer
) PIXELFORMATDESCRIPTOR
*ppfd
);
3658 _Success_(return != GDI_ERROR
)
3664 _In_ DWORD dwOffset
,
3665 _Out_writes_bytes_to_opt_(cjBuffer
, return) PVOID pvBuffer
,
3666 _In_ DWORD cjBuffer
);
3668 DWORD WINAPI
GetFontLanguageInfo(_In_ HDC
);
3669 #if (_WIN32_WINNT >= 0x0500)
3670 DWORD WINAPI
GetFontUnicodeRanges(_In_ HDC
, _Out_opt_ LPGLYPHSET
);
3677 _In_reads_(c
) LPCSTR lpstr
,
3679 _Out_writes_(c
) LPWORD pgi
,
3686 _In_reads_(c
) LPCWSTR lpstr
,
3688 _Out_writes_(c
) LPWORD pgi
,
3697 _Out_ LPGLYPHMETRICS lpgm
,
3698 _In_ DWORD cjBuffer
,
3699 _Out_writes_bytes_opt_(cjBuffer
) LPVOID pvBuffer
,
3700 _In_ CONST MAT2
*lpmat2
);
3708 _Out_ LPGLYPHMETRICS lpgm
,
3709 _In_ DWORD cjBuffer
,
3710 _Out_writes_bytes_opt_(cjBuffer
) LPVOID pvBuffer
,
3711 _In_ CONST MAT2
*lpmat2
);
3713 int WINAPI
GetGraphicsMode(_In_ HDC
);
3719 _Inout_ LPDWORD pBufSize
,
3720 _Out_writes_opt_(*pBufSize
) LPSTR pszFilename
);
3726 _Inout_ LPDWORD pBufSize
,
3727 _Out_writes_opt_(*pBufSize
) LPWSTR pszFilename
);
3734 _Out_writes_to_opt_(nPairs
, return) LPKERNINGPAIR lpKernPair
);
3741 _Out_writes_to_opt_(nPairs
, return) LPKERNINGPAIR lpKernPair
);
3746 _In_ HCOLORSPACE hColorSpace
,
3747 _Out_writes_bytes_(nSize
) LPLOGCOLORSPACEA lpBuffer
,
3753 _In_ HCOLORSPACE hColorSpace
,
3754 _Out_writes_bytes_(nSize
) LPLOGCOLORSPACEW lpBuffer
,
3757 int WINAPI
GetMapMode(_In_ HDC
);
3758 HMETAFILE WINAPI
GetMetaFileA(_In_ LPCSTR
);
3759 HMETAFILE WINAPI
GetMetaFileW(_In_ LPCWSTR
);
3766 _Out_writes_bytes_opt_(cbBuffer
) LPVOID lpData
);
3768 int WINAPI
GetMetaRgn(_In_ HDC
, _In_ HRGN
);
3769 BOOL WINAPI
GetMiterLimit(_In_ HDC
, _Out_ PFLOAT
);
3770 COLORREF WINAPI
GetNearestColor(_In_ HDC
, _In_ COLORREF
);
3771 UINT WINAPI
GetNearestPaletteIndex(_In_ HPALETTE
, _In_ COLORREF
);
3778 _Out_writes_bytes_opt_(c
) LPVOID pv
);
3785 _Out_writes_bytes_opt_(c
) LPVOID pv
);
3787 DWORD WINAPI
GetObjectType(_In_ HGDIOBJ
);
3791 GetOutlineTextMetricsA(
3794 _Out_writes_bytes_opt_(cjCopy
) LPOUTLINETEXTMETRICA potm
);
3798 GetOutlineTextMetricsW(
3801 _Out_writes_bytes_opt_(cjCopy
) LPOUTLINETEXTMETRICW potm
);
3803 _Ret_range_(0,cEntries
)
3810 _Out_writes_to_opt_(cEntries
,return) LPPALETTEENTRY pPalEntries
);
3816 _Out_writes_opt_(cpt
) LPPOINT apt
,
3817 _Out_writes_opt_(cpt
) LPBYTE aj
,
3820 COLORREF WINAPI
GetPixel(_In_ HDC
, _In_
int, _In_
int);
3821 int WINAPI
GetPixelFormat(_In_ HDC
);
3822 int WINAPI
GetPolyFillMode(_In_ HDC
);
3827 _Out_writes_bytes_(cjBytes
) LPRASTERIZER_STATUS lpraststat
,
3830 int WINAPI
GetRandomRgn(_In_ HDC
, _In_ HRGN
, _In_ INT
);
3837 _Out_writes_bytes_to_opt_(nCount
, return) LPRGNDATA lpRgnData
);
3839 int WINAPI
GetRgnBox(_In_ HRGN
, _Out_ LPRECT
);
3840 int WINAPI
GetROP2(_In_ HDC
);
3841 HGDIOBJ WINAPI
GetStockObject(_In_
int);
3842 int WINAPI
GetStretchBltMode(_In_ HDC
);
3846 GetSystemPaletteEntries(
3850 _Out_writes_opt_(cEntries
) LPPALETTEENTRY pPalEntries
);
3852 UINT WINAPI
GetSystemPaletteUse(_In_ HDC
);
3853 UINT WINAPI
GetTextAlign(_In_ HDC
);
3854 int WINAPI
GetTextCharacterExtra(_In_ HDC
);
3855 int WINAPI
GetTextCharset(_In_ HDC
);
3856 int WINAPI
GetTextCharsetInfo(_In_ HDC
, _Out_opt_ LPFONTSIGNATURE
, _In_ DWORD
);
3857 COLORREF WINAPI
GetTextColor(_In_ HDC
);
3861 GetTextExtentExPointA(
3863 _In_reads_(cchString
) LPCSTR lpszString
,
3865 _In_
int nMaxExtent
,
3866 _Out_opt_ LPINT lpnFit
,
3867 _Out_writes_to_opt_ (cchString
, *lpnFit
) LPINT lpnDx
,
3868 _Out_ LPSIZE lpSize
);
3872 GetTextExtentExPointW(
3874 _In_reads_(cchString
) LPCWSTR lpszString
,
3876 _In_
int nMaxExtent
,
3877 _Out_opt_ LPINT lpnFit
,
3878 _Out_writes_to_opt_ (cchString
, *lpnFit
) LPINT lpnDx
,
3879 _Out_ LPSIZE lpSize
);
3883 GetTextExtentExPointI(
3885 _In_reads_(cwchString
) LPWORD lpwszString
,
3886 _In_
int cwchString
,
3887 _In_
int nMaxExtent
,
3888 _Out_opt_ LPINT lpnFit
,
3889 _Out_writes_to_opt_(cwchString
, *lpnFit
) LPINT lpnDx
,
3890 _Out_ LPSIZE lpSize
);
3894 GetTextExtentPointA(
3896 _In_reads_(c
) LPCSTR lpString
,
3902 GetTextExtentPointW(
3904 _In_reads_(c
) LPCWSTR lpString
,
3910 GetTextExtentPointI(
3912 _In_reads_(cgi
) LPWORD pgiIn
,
3914 _Out_ LPSIZE psize
);
3918 GetTextExtentPoint32A(
3920 _In_reads_(c
) LPCSTR lpString
,
3922 _Out_ LPSIZE psizl
);
3926 GetTextExtentPoint32W(
3928 _In_reads_(c
) LPCWSTR lpString
,
3930 _Out_ LPSIZE psizl
);
3937 _Out_writes_to_opt_(c
, return) LPSTR lpName
);
3944 _Out_writes_to_opt_(c
, return) LPWSTR lpName
);
3946 BOOL WINAPI
GetTextMetricsA(_In_ HDC
, _Out_ LPTEXTMETRICA
);
3947 BOOL WINAPI
GetTextMetricsW(_In_ HDC
, _Out_ LPTEXTMETRICW
);
3948 BOOL WINAPI
GetTransform(HDC
,DWORD
,XFORM
*);
3949 BOOL WINAPI
GetViewportExtEx(_In_ HDC
, _Out_ LPSIZE
);
3950 BOOL WINAPI
GetViewportOrgEx(_In_ HDC
, _Out_ LPPOINT
);
3951 BOOL WINAPI
GetWindowExtEx(_In_ HDC
, _Out_ LPSIZE
);
3952 BOOL WINAPI
GetWindowOrgEx(_In_ HDC
, _Out_ LPPOINT
);
3957 _In_ HENHMETAFILE hemf
,
3959 _Out_writes_bytes_opt_(cbData16
) LPBYTE pData16
,
3963 BOOL WINAPI
GetWorldTransform(_In_ HDC
, _Out_ LPXFORM
);
3964 int WINAPI
IntersectClipRect(_In_ HDC
, _In_
int, _In_
int, _In_
int, _In_
int);
3965 BOOL WINAPI
InvertRgn(_In_ HDC
, _In_ HRGN
);
3966 BOOL WINAPI
LineDDA(_In_
int, _In_
int, _In_
int, _In_
int, _In_ LINEDDAPROC
, _In_opt_ LPARAM
);
3967 BOOL WINAPI
LineTo(_In_ HDC
, _In_
int, _In_
int);
3973 _Inout_updates_(c
) LPPOINT lppt
,
3976 BOOL WINAPI
MaskBlt(_In_ HDC
, _In_
int, _In_
int, _In_
int, _In_
int, _In_ HDC
, _In_
int, _In_
int, _In_ HBITMAP
, _In_
int, _In_
int, _In_ DWORD
);
3977 BOOL WINAPI
ModifyWorldTransform(_In_ HDC
, _In_opt_
const XFORM
*, _In_ DWORD
);
3978 BOOL WINAPI
MoveToEx(_In_ HDC
, _In_
int, _In_
int, _Out_opt_ LPPOINT
);
3979 int WINAPI
OffsetClipRgn(_In_ HDC
, _In_
int, _In_
int);
3980 int WINAPI
OffsetRgn(_In_ HRGN
, _In_
int, _In_
int);
3981 BOOL WINAPI
OffsetViewportOrgEx(_In_ HDC
, _In_
int, _In_
int, _Out_opt_ LPPOINT
);
3982 BOOL WINAPI
OffsetWindowOrgEx(_In_ HDC
, _In_
int, _In_
int, _Out_opt_ LPPOINT
);
3983 BOOL WINAPI
PaintRgn(_In_ HDC
, _In_ HRGN
);
3984 BOOL WINAPI
PatBlt(_In_ HDC
, _In_
int, _In_
int, _In_
int, _In_
int, _In_ DWORD
);
3985 HRGN WINAPI
PathToRegion(_In_ HDC
);
3986 BOOL WINAPI
Pie(_In_ HDC
, _In_
int, _In_
int, _In_
int, _In_
int, _In_
int, _In_
int, _In_
int, _In_
int);
3987 BOOL WINAPI
PlayEnhMetaFile(_In_ HDC
, _In_ HENHMETAFILE
, _In_ LPCRECT
);
3991 PlayEnhMetaFileRecord(
3993 _In_reads_(cht
) LPHANDLETABLE pht
,
3994 _In_ CONST ENHMETARECORD
*pmr
,
3997 BOOL WINAPI
PlayMetaFile(_In_ HDC
, _In_ HMETAFILE
);
4003 _In_reads_(noObjs
) LPHANDLETABLE lpHandleTable
,
4004 _In_ LPMETARECORD lpMR
,
4011 _In_reads_(3) const POINT
*lpPoint
,
4017 _In_opt_ HBITMAP hbmMask
,
4025 _In_reads_(cpt
) const POINT
*apt
,
4032 _In_reads_(cpt
) const POINT
*apt
,
4039 _In_reads_(cpt
) const POINT
* apt
,
4040 _In_reads_(cpt
) const BYTE
* aj
,
4047 _In_reads_(cpt
) const POINT
*apt
,
4054 _In_reads_(cpt
) const POINT
*apt
,
4061 _In_reads_(cpt
) const POINT
*apt
,
4068 _In_
const POINT
*apt
,
4069 _In_reads_(csz
) const INT
*asz
,
4076 _In_
const POINT
*apt
,
4077 _In_reads_(csz
) const DWORD
*asz
,
4084 _In_reads_(nstrings
) const POLYTEXTA
*ppt
,
4091 _In_reads_(nstrings
) const POLYTEXTW
*ppt
,
4094 BOOL WINAPI
PtInRegion(_In_ HRGN
, _In_
int, _In_
int);
4095 BOOL WINAPI
PtVisible(_In_ HDC
, _In_
int, _In_
int);
4096 UINT WINAPI
RealizePalette(_In_ HDC
);
4097 BOOL WINAPI
Rectangle(_In_ HDC
, _In_
int, _In_
int, _In_
int, _In_
int);
4098 BOOL WINAPI
RectInRegion(_In_ HRGN
, _In_ LPCRECT
);
4099 BOOL WINAPI
RectVisible(_In_ HDC
, _In_ LPCRECT
);
4100 BOOL WINAPI
RemoveFontResourceA(_In_ LPCSTR
);
4101 BOOL WINAPI
RemoveFontResourceW(_In_ LPCWSTR
);
4102 #if (_WIN32_WINNT >= 0x0500)
4103 BOOL WINAPI
RemoveFontMemResourceEx(_In_ HANDLE
);
4104 BOOL WINAPI
RemoveFontResourceExA(_In_ LPCSTR
, _In_ DWORD
, _Reserved_ PVOID
);
4105 BOOL WINAPI
RemoveFontResourceExW(_In_ LPCWSTR
, _In_ DWORD
, _Reserved_ PVOID
);
4107 HDC WINAPI
ResetDCA(_In_ HDC
, _In_
const DEVMODEA
*);
4108 HDC WINAPI
ResetDCW(_In_ HDC
, _In_
const DEVMODEW
*);
4109 BOOL WINAPI
ResizePalette(_In_ HPALETTE
, _In_ UINT
);
4110 BOOL WINAPI
RestoreDC(_In_ HDC
, _In_
int);
4111 BOOL WINAPI
RoundRect(_In_ HDC
, _In_
int, _In_
int, _In_
int, _In_
int, _In_
int, _In_
int);
4112 int WINAPI
SaveDC(_In_ HDC
);
4113 BOOL WINAPI
ScaleViewportExtEx(_In_ HDC
, _In_
int, _In_
int, _In_
int, _In_
int, _Out_opt_ LPSIZE
);
4114 BOOL WINAPI
ScaleWindowExtEx(_In_ HDC
, _In_
int, _In_
int, _In_
int, _In_
int, _Out_opt_ LPSIZE
);
4115 BOOL WINAPI
SelectClipPath(_In_ HDC
, _In_
int);
4116 int WINAPI
SelectClipRgn(_In_ HDC
, _In_opt_ HRGN
);
4117 HGDIOBJ WINAPI
SelectObject(_In_ HDC
, _In_ HGDIOBJ
);
4118 HPALETTE WINAPI
SelectPalette(_In_ HDC
, _In_ HPALETTE
, _In_ BOOL
);
4119 int WINAPI
SetAbortProc(_In_ HDC
, _In_ ABORTPROC
);
4120 int WINAPI
SetArcDirection(_In_ HDC
, _In_
int);
4127 _In_reads_bytes_(cb
) CONST VOID
*pvBits
);
4129 BOOL WINAPI
SetBitmapDimensionEx(_In_ HBITMAP
, _In_
int, _In_
int, _Out_opt_ LPSIZE
);
4130 COLORREF WINAPI
SetBkColor(_In_ HDC
, _In_ COLORREF
);
4131 int WINAPI
SetBkMode(_In_ HDC
, _In_
int);
4132 UINT WINAPI
SetBoundsRect(_In_ HDC
, _In_opt_ LPCRECT
, _In_ UINT
);
4133 BOOL WINAPI
SetBrushOrgEx(_In_ HDC
, _In_
int, _In_
int, _Out_opt_ LPPOINT
);
4134 BOOL WINAPI
SetColorAdjustment(_In_ HDC
, _In_
const COLORADJUSTMENT
*);
4135 HCOLORSPACE WINAPI
SetColorSpace(_In_ HDC
, _In_ HCOLORSPACE
);
4136 #if (_WIN32_WINNT >= 0x0500)
4137 COLORREF WINAPI
SetDCBrushColor(_In_ HDC
, _In_ COLORREF
);
4138 COLORREF WINAPI
SetDCPenColor(_In_ HDC
, _In_ COLORREF
);
4145 _In_reads_bytes_(3*256*2) LPVOID lpRamp
);
4153 _In_reads_(cEntries
) const RGBQUAD
*prgbq
);
4155 int WINAPI
SetDIBits(_In_opt_ HDC
, _In_ HBITMAP
, _In_ UINT
, _In_ UINT
, _In_ CONST VOID
*, _In_ CONST BITMAPINFO
*, _In_ UINT
);
4156 int WINAPI
SetDIBitsToDevice(_In_ HDC
, _In_
int, _In_
int, _In_ DWORD
, _In_ DWORD
, _In_
int, _In_
int, _In_ UINT
, _In_ UINT
, _In_ CONST VOID
*, _In_ CONST BITMAPINFO
*, _In_ UINT
);
4162 _In_reads_bytes_(nSize
) const BYTE
* pb
);
4164 int WINAPI
SetGraphicsMode(_In_ HDC
, _In_
int);
4165 int WINAPI
SetICMMode(_In_ HDC
, _In_
int);
4166 BOOL WINAPI
SetICMProfileA(_In_ HDC
, _In_ LPSTR
);
4167 BOOL WINAPI
SetICMProfileW(_In_ HDC
, _In_ LPWSTR
);
4168 int WINAPI
SetMapMode(_In_ HDC
, _In_
int);
4169 DWORD WINAPI
SetMapperFlags(_In_ HDC
, _In_ DWORD
);
4170 #if (_WIN32_WINNT >= 0x0500)
4171 DWORD WINAPI
SetLayout(_In_ HDC
, _In_ DWORD
);
4172 DWORD WINAPI
GetLayout(_In_ HDC
);
4179 _In_reads_bytes_(cbBuffer
) CONST BYTE
*lpData
);
4181 int WINAPI
SetMetaRgn(_In_ HDC
);
4182 BOOL WINAPI
SetMiterLimit(_In_ HDC
, _In_ FLOAT
, _Out_opt_ PFLOAT
);
4190 _In_reads_(cEntries
) CONST PALETTEENTRY
*pPalEntries
);
4192 COLORREF WINAPI
SetPixel(_In_ HDC
, _In_
int, _In_
int, _In_ COLORREF
);
4193 BOOL WINAPI
SetPixelFormat(_In_ HDC
, _In_
int, _In_
const PIXELFORMATDESCRIPTOR
*);
4194 BOOL WINAPI
SetPixelV(_In_ HDC
, _In_
int, _In_
int, _In_ COLORREF
);
4195 int WINAPI
SetPolyFillMode(_In_ HDC
, _In_
int);
4196 BOOL WINAPI
SetRectRgn(_In_ HRGN
, _In_
int, _In_
int, _In_
int, _In_
int);
4197 INT WINAPI
SetRelAbs(HDC
,INT
);
4198 int WINAPI
SetROP2(_In_ HDC
, _In_
int);
4199 int WINAPI
SetStretchBltMode(_In_ HDC
, _In_
int);
4200 UINT WINAPI
SetSystemPaletteUse(_In_ HDC
, _In_ UINT
);
4201 UINT WINAPI
SetTextAlign(_In_ HDC
, _In_ UINT
);
4202 int WINAPI
SetTextCharacterExtra(_In_ HDC
, _In_
int);
4203 COLORREF WINAPI
SetTextColor(_In_ HDC
, _In_ COLORREF
);
4204 BOOL WINAPI
SetTextJustification(_In_ HDC
, _In_
int, _In_
int);
4205 BOOL WINAPI
SetViewportExtEx(_In_ HDC
, _In_
int, _In_
int, _Out_opt_ LPSIZE
);
4206 BOOL WINAPI
SetViewportOrgEx(_In_ HDC
, _In_
int, _In_
int, _Out_opt_ LPPOINT
);
4207 BOOL WINAPI
SetWindowExtEx(_In_ HDC
, _In_
int, _In_
int, _Out_opt_ LPSIZE
);
4208 BOOL WINAPI
SetWindowOrgEx(_In_ HDC
, _In_
int, _In_
int, _Out_opt_ LPPOINT
);
4214 _In_reads_bytes_(nSize
) const BYTE
*lpMeta16Data
,
4215 _In_opt_ HDC hdcRef
,
4216 _In_opt_
const METAFILEPICT
*lpMFP
);
4218 BOOL WINAPI
SetWorldTransform(_In_ HDC
, _In_
const XFORM
*);
4219 int WINAPI
StartDocA(_In_ HDC
, _In_
const DOCINFOA
*);
4220 int WINAPI
StartDocW(_In_ HDC
, _In_
const DOCINFOW
*);
4221 int WINAPI
StartPage(_In_ HDC
);
4222 BOOL WINAPI
StretchBlt(_In_ HDC
, _In_
int, _In_
int, _In_
int, _In_
int, _In_opt_ HDC
, _In_
int, _In_
int, _In_
int, _In_
int, _In_ DWORD
);
4223 int WINAPI
StretchDIBits(_In_ HDC
, _In_
int, _In_
int, _In_
int, _In_
int, _In_
int, _In_
int, _In_
int, _In_
int, _In_opt_
const VOID
*, _In_
const BITMAPINFO
*, _In_ UINT
, _In_ DWORD
);
4224 BOOL WINAPI
StrokeAndFillPath(_In_ HDC
);
4225 BOOL WINAPI
StrokePath(_In_ HDC
);
4226 BOOL WINAPI
SwapBuffers(HDC
);
4234 _In_reads_(c
) LPCSTR lpString
,
4243 _In_reads_(c
) LPCWSTR lpString
,
4246 BOOL WINAPI
TranslateCharsetInfo(_Inout_ PDWORD
, _Out_ LPCHARSETINFO
, _In_ DWORD
);
4247 BOOL WINAPI
UnrealizeObject(_In_ HGDIOBJ
);
4248 BOOL WINAPI
UpdateColors(_In_ HDC
);
4249 BOOL WINAPI
UpdateICMRegKeyA(_Reserved_ DWORD
, _In_ LPSTR
, _In_ LPSTR
, _In_ UINT
);
4250 BOOL WINAPI
UpdateICMRegKeyW(_Reserved_ DWORD
, _In_ LPWSTR
, _In_ LPWSTR
, _In_ UINT
);
4251 BOOL WINAPI
WidenPath(_In_ HDC
);
4252 BOOL WINAPI
wglCopyContext(HGLRC
,HGLRC
,UINT
);
4253 HGLRC WINAPI
wglCreateContext(HDC
);
4254 HGLRC WINAPI
wglCreateLayerContext(HDC
,int);
4255 BOOL WINAPI
wglDeleteContext(HGLRC
);
4256 BOOL WINAPI
wglDescribeLayerPlane(HDC
,int,int,UINT
,LPLAYERPLANEDESCRIPTOR
);
4257 HGLRC WINAPI
wglGetCurrentContext(void);
4258 HDC WINAPI
wglGetCurrentDC(void);
4259 int WINAPI
wglGetLayerPaletteEntries(HDC
,int,int,int,COLORREF
*);
4260 PROC WINAPI
wglGetProcAddress(LPCSTR
);
4261 BOOL WINAPI
wglMakeCurrent(HDC
,HGLRC
);
4262 BOOL WINAPI
wglRealizeLayerPalette(HDC
,int,BOOL
);
4263 int WINAPI
wglSetLayerPaletteEntries(HDC
,int,int,int,const COLORREF
*);
4264 BOOL WINAPI
wglShareLists(HGLRC
,HGLRC
);
4265 BOOL WINAPI
wglSwapLayerBuffers(HDC
,UINT
);
4266 BOOL WINAPI
wglUseFontBitmapsA(HDC
,DWORD
,DWORD
,DWORD
);
4267 BOOL WINAPI
wglUseFontBitmapsW(HDC
,DWORD
,DWORD
,DWORD
);
4268 BOOL WINAPI
wglUseFontOutlinesA(HDC
,DWORD
,DWORD
,DWORD
,FLOAT
,FLOAT
,int,LPGLYPHMETRICSFLOAT
);
4269 BOOL WINAPI
wglUseFontOutlinesW(HDC
,DWORD
,DWORD
,DWORD
,FLOAT
,FLOAT
,int,LPGLYPHMETRICSFLOAT
);
4271 #if (WINVER >= 0x0500)
4273 typedef struct _WGLSWAP
4277 } WGLSWAP
, *PWGLSWAP
, FAR
*LPWGLSWAP
;
4279 #define WGL_SWAPMULTIPLE_MAX 16
4281 DWORD WINAPI
wglSwapMultipleBuffers(UINT
, CONST WGLSWAP
*);
4283 #endif // (WINVER >= 0x0500)
4285 #if (WINVER>= 0x0500)
4287 BOOL WINAPI
AlphaBlend(_In_ HDC
, _In_
int, _In_
int, _In_
int, _In_
int, _In_ HDC
, _In_
int, _In_
int, _In_
int, _In_
int, _In_ BLENDFUNCTION
);
4293 _In_reads_(nVertex
) PTRIVERTEX pVertex
,
4299 BOOL WINAPI
TransparentBlt(_In_ HDC
, _In_
int, _In_
int, _In_
int, _In_
int, _In_ HDC
, _In_
int, _In_
int, _In_
int, _In_
int, _In_ UINT
);
4304 typedef AXESLISTW AXESLIST
;
4305 typedef PAXESLISTW PAXESLIST
;
4306 typedef LPAXESLISTW LPAXESLIST
;
4307 typedef AXISINFOA AXISINFO
;
4308 typedef PAXISINFOA PAXISINFO
;
4309 typedef LPAXISINFOA LPAXISINFO
;
4310 typedef WCHAR BCHAR
;
4311 typedef DOCINFOW DOCINFO
, *LPDOCINFO
;
4312 typedef LOGFONTW LOGFONT
,*PLOGFONT
,*LPLOGFONT
;
4313 typedef TEXTMETRICW TEXTMETRIC
,*PTEXTMETRIC
,*LPTEXTMETRIC
;
4314 #define ICMENUMPROC ICMENUMPROCW
4315 typedef DEVMODEW DEVMODE
,*PDEVMODE
,*LPDEVMODE
;
4316 typedef ENUMLOGFONTEXDVW ENUMLOGFONTEXDV
;
4317 typedef PENUMLOGFONTEXDVW PENUMLOGFONTEXDV
;
4318 typedef LPENUMLOGFONTEXDVW LPENUMLOGFONTEXDV
;
4319 typedef ENUMTEXTMETRICW ENUMTEXTMETRIC
;
4320 typedef PENUMTEXTMETRICW PENUMTEXTMETRIC
;
4321 typedef LPENUMTEXTMETRICW LPENUMTEXTMETRIC
;
4322 typedef EXTLOGFONTW EXTLOGFONT
,*PEXTLOGFONT
,*LPEXTLOGFONT
;
4323 typedef GCP_RESULTSW GCP_RESULTS
,*LPGCP_RESULTS
;
4324 typedef OUTLINETEXTMETRICW OUTLINETEXTMETRIC
,*POUTLINETEXTMETRIC
,*LPOUTLINETEXTMETRIC
;
4325 typedef POLYTEXTW POLYTEXT
,*PPOLYTEXT
,*LPPOLYTEXT
;
4326 typedef LOGCOLORSPACEW LOGCOLORSPACE
,*LPLOGCOLORSPACE
;
4327 typedef NEWTEXTMETRICW NEWTEXTMETRIC
,*PNEWTEXTMETRIC
,*LPNEWTEXTMETRIC
;
4328 typedef NEWTEXTMETRICEXW NEWTEXTMETRICEX
;
4329 typedef ENUMLOGFONTW ENUMLOGFONT
,*LPENUMLOGFONT
;
4330 typedef ENUMLOGFONTEXW ENUMLOGFONTEX
,*LPENUMLOGFONTEX
;
4331 typedef DISPLAY_DEVICEW DISPLAY_DEVICE
, *PDISPLAY_DEVICE
, *LPDISPLAY_DEVICE
;
4332 #define AddFontResource AddFontResourceW
4333 #if (_WIN32_WINNT >= 0x0500)
4334 #define AddFontResourceEx AddFontResourceExW
4336 #define CopyEnhMetaFile CopyEnhMetaFileW
4337 #define CopyMetaFile CopyMetaFileW
4338 #define CreateDC CreateDCW
4339 #define CreateEnhMetaFile CreateEnhMetaFileW
4340 #define CreateFont CreateFontW
4341 #define CreateFontIndirect CreateFontIndirectW
4342 #define CreateFontIndirectEx CreateFontIndirectExW
4343 #define CreateIC CreateICW
4344 #define CreateMetaFile CreateMetaFileW
4345 #define CreateScalableFontResource CreateScalableFontResourceW
4346 #define DeviceCapabilities DeviceCapabilitiesW
4347 #define EnumFontFamilies EnumFontFamiliesW
4348 #define EnumFontFamiliesEx EnumFontFamiliesExW
4349 #define EnumFonts EnumFontsW
4350 #define EnumICMProfiles EnumICMProfilesW
4351 #define ExtTextOut ExtTextOutW
4352 #define GetCharABCWidthsFloat GetCharABCWidthsFloatW
4353 #define GetCharABCWidths GetCharABCWidthsW
4354 #define GetCharacterPlacement GetCharacterPlacementW
4355 #define GetCharWidth32 GetCharWidth32W
4356 #define GetCharWidthFloat GetCharWidthFloatW
4357 #define GetCharWidth GetCharWidthW
4358 #define GetEnhMetaFile GetEnhMetaFileW
4359 #define GetEnhMetaFileDescription GetEnhMetaFileDescriptionW
4360 #define GetGlyphOutline GetGlyphOutlineW
4361 #define GetICMProfile GetICMProfileW
4362 #define GetKerningPairs GetKerningPairsW
4363 #define GetLogColorSpace GetLogColorSpaceW
4364 #define GetMetaFile GetMetaFileW
4365 #define GetObject GetObjectW
4366 #define GetOutlineTextMetrics GetOutlineTextMetricsW
4367 #define GetTextExtentPoint GetTextExtentPointW
4368 #define GetTextExtentExPoint GetTextExtentExPointW
4369 #define GetTextExtentPoint32 GetTextExtentPoint32W
4370 #define GetTextFace GetTextFaceW
4371 #define GetTextMetrics GetTextMetricsW
4372 #define PolyTextOut PolyTextOutW
4373 #define RemoveFontResource RemoveFontResourceW
4374 #if (_WIN32_WINNT >= 0x0500)
4375 #define RemoveFontResourceEx RemoveFontResourceExW
4377 #define ResetDC ResetDCW
4378 #define SetICMProfile SetICMProfileW
4379 #define StartDoc StartDocW
4380 #define TextOut TextOutW
4381 #define UpdateICMRegKey UpdateICMRegKeyW
4382 #define wglUseFontBitmaps wglUseFontBitmapsW
4383 #define wglUseFontOutlines wglUseFontOutlinesW
4385 typedef AXESLISTA AXESLIST
;
4386 typedef PAXESLISTA PAXESLIST
;
4387 typedef LPAXESLISTA LPAXESLIST
;
4388 typedef AXISINFOA AXISINFO
;
4389 typedef PAXISINFOA PAXISINFO
;
4390 typedef LPAXISINFOA LPAXISINFO
;
4392 typedef DOCINFOA DOCINFO
, *LPDOCINFO
;
4393 typedef LOGFONTA LOGFONT
,*PLOGFONT
,*LPLOGFONT
;
4394 typedef TEXTMETRICA TEXTMETRIC
,*PTEXTMETRIC
,*LPTEXTMETRIC
;
4395 #define ICMENUMPROC ICMENUMPROCA
4396 typedef DEVMODEA DEVMODE
,*PDEVMODE
,*LPDEVMODE
;
4397 typedef ENUMLOGFONTEXDVA ENUMLOGFONTEXDV
;
4398 typedef PENUMLOGFONTEXDVA PENUMLOGFONTEXDV
;
4399 typedef LPENUMLOGFONTEXDVA LPENUMLOGFONTEXDV
;
4400 typedef ENUMTEXTMETRICA ENUMTEXTMETRIC
;
4401 typedef PENUMTEXTMETRICA PENUMTEXTMETRIC
;
4402 typedef LPENUMTEXTMETRICA LPENUMTEXTMETRIC
;
4403 typedef EXTLOGFONTA EXTLOGFONT
,*PEXTLOGFONT
,*LPEXTLOGFONT
;
4404 typedef GCP_RESULTSA GCP_RESULTS
,*LPGCP_RESULTS
;
4405 typedef OUTLINETEXTMETRICA OUTLINETEXTMETRIC
,*POUTLINETEXTMETRIC
,*LPOUTLINETEXTMETRIC
;
4406 typedef POLYTEXTA POLYTEXT
,*PPOLYTEXT
,*LPPOLYTEXT
;
4407 typedef LOGCOLORSPACEA LOGCOLORSPACE
,*LPLOGCOLORSPACE
;
4408 typedef NEWTEXTMETRICA NEWTEXTMETRIC
,*PNEWTEXTMETRIC
,*LPNEWTEXTMETRIC
;
4409 typedef NEWTEXTMETRICEXA NEWTEXTMETRICEX
;
4410 typedef ENUMLOGFONTA ENUMLOGFONT
,*LPENUMLOGFONT
;
4411 typedef ENUMLOGFONTEXA ENUMLOGFONTEX
,*LPENUMLOGFONTEX
;
4412 typedef DISPLAY_DEVICEA DISPLAY_DEVICE
, *PDISPLAY_DEVICE
, *LPDISPLAY_DEVICE
;
4413 #define AddFontResource AddFontResourceA
4414 #if (_WIN32_WINNT >= 0x0500)
4415 #define AddFontResourceEx AddFontResourceExA
4417 #define CopyEnhMetaFile CopyEnhMetaFileA
4418 #define CopyMetaFile CopyMetaFileA
4419 #define CreateDC CreateDCA
4420 #define CreateEnhMetaFile CreateEnhMetaFileA
4421 #define CreateFont CreateFontA
4422 #define CreateFontIndirect CreateFontIndirectA
4423 #define CreateFontIndirectEx CreateFontIndirectExA
4424 #define CreateIC CreateICA
4425 #define CreateMetaFile CreateMetaFileA
4426 #define CreateScalableFontResource CreateScalableFontResourceA
4427 #define DeviceCapabilities DeviceCapabilitiesA
4428 #define EnumFontFamilies EnumFontFamiliesA
4429 #define EnumFontFamiliesEx EnumFontFamiliesExA
4430 #define EnumFonts EnumFontsA
4431 #define EnumICMProfiles EnumICMProfilesA
4432 #define ExtTextOut ExtTextOutA
4433 #define GetCharWidthFloat GetCharWidthFloatA
4434 #define GetCharWidth GetCharWidthA
4435 #define GetCharacterPlacement GetCharacterPlacementA
4436 #define GetCharABCWidths GetCharABCWidthsA
4437 #define GetCharABCWidthsFloat GetCharABCWidthsFloatA
4438 #define GetCharWidth32 GetCharWidth32A
4439 #define GetEnhMetaFile GetEnhMetaFileA
4440 #define GetEnhMetaFileDescription GetEnhMetaFileDescriptionA
4441 #define GetGlyphOutline GetGlyphOutlineA
4442 #define GetICMProfile GetICMProfileA
4443 #define GetKerningPairs GetKerningPairsA
4444 #define GetLogColorSpace GetLogColorSpaceA
4445 #define GetMetaFile GetMetaFileA
4446 #define GetObject GetObjectA
4447 #define GetOutlineTextMetrics GetOutlineTextMetricsA
4448 #define GetTextExtentPoint GetTextExtentPointA
4449 #define GetTextExtentExPoint GetTextExtentExPointA
4450 #define GetTextExtentPoint32 GetTextExtentPoint32A
4451 #define GetTextFace GetTextFaceA
4452 #define GetTextMetrics GetTextMetricsA
4453 #define PolyTextOut PolyTextOutA
4454 #define RemoveFontResource RemoveFontResourceA
4455 #if (_WIN32_WINNT >= 0x0500)
4456 #define RemoveFontResourceEx RemoveFontResourceExA
4458 #define ResetDC ResetDCA
4459 #define SetICMProfile SetICMProfileA
4460 #define StartDoc StartDocA
4461 #define TextOut TextOutA
4462 #define UpdateICMRegKey UpdateICMRegKeyA
4463 #define wglUseFontBitmaps wglUseFontBitmapsA
4464 #define wglUseFontOutlines wglUseFontOutlinesA
4469 /* the DC hook support is only exported on Win16, the 32-bit version is a Wine extension */
4471 #define DCHC_INVALIDVISRGN 0x0001
4472 #define DCHC_DELETEDC 0x0002
4473 #define DCHF_INVALIDATEVISRGN 0x0001
4474 #define DCHF_VALIDATEVISRGN 0x0002
4476 typedef BOOL (CALLBACK
*DCHOOKPROC
)(HDC
,WORD
,DWORD_PTR
,LPARAM
);
4478 WINGDIAPI DWORD_PTR WINAPI
GetDCHook(HDC
,DCHOOKPROC
*);
4479 WINGDIAPI BOOL WINAPI
SetDCHook(HDC
,DCHOOKPROC
,DWORD_PTR
);
4480 WINGDIAPI WORD WINAPI
SetHookFlags(HDC
,WORD
);
4481 WINGDIAPI INT WINAPI
SelectVisRgn(HDC
,HRGN
);
4482 #endif /* __WINESRC__ */
4485 #pragma warning(pop)