Merge freeldr from amd64 branch:
[reactos.git] / reactos / include / psdk / wingdi.h
1 #ifndef _WINGDI_H
2 #define _WINGDI_H
3 #define _WINGDI_
4
5 #ifdef __cplusplus
6 extern "C" {
7 #endif
8
9 /* Get/SetSystemPaletteUse() values */
10 #define SYSPAL_ERROR 0
11 #define SYSPAL_STATIC 1
12 #define SYSPAL_NOSTATIC 2
13 #define SYSPAL_NOSTATIC256 3
14
15 #define WINGDIAPI
16
17 #define NTM_NONNEGATIVE_AC 0x00010000
18 #define NTM_PS_OPENTYPE 0x00020000
19 #define NTM_TT_OPENTYPE 0x00040000
20 #define NTM_MULTIPLEMASTER 0x00080000
21 #define NTM_TYPE1 0x00100000
22 #define NTM_DSIG 0x00200000
23
24 #define AC_SRC_OVER 0
25 #define AC_SRC_ALPHA 1
26 #define BI_RGB 0
27 #define BI_RLE8 1
28 #define BI_RLE4 2
29 #define BI_BITFIELDS 3
30 #define BI_JPEG 4
31 #define BI_PNG 5
32 #define LF_FACESIZE 32
33 #define LF_FULLFACESIZE 64
34 #define CA_NEGATIVE 1
35 #define CA_LOG_FILTER 2
36 #define ILLUMINANT_DEVICE_DEFAULT 0
37 #define ILLUMINANT_A 1
38 #define ILLUMINANT_B 2
39 #define ILLUMINANT_C 3
40 #define ILLUMINANT_D50 4
41 #define ILLUMINANT_D55 5
42 #define ILLUMINANT_D65 6
43 #define ILLUMINANT_D75 7
44 #define ILLUMINANT_F2 8
45 #define ILLUMINANT_MAX_INDEX ILLUMINANT_F2
46 #define ILLUMINANT_TUNGSTEN ILLUMINANT_A
47 #define ILLUMINANT_DAYLIGHT ILLUMINANT_C
48 #define ILLUMINANT_FLUORESCENT ILLUMINANT_F2
49 #define ILLUMINANT_NTSC ILLUMINANT_C
50 #define RGB_GAMMA_MIN 2500
51 #define RGB_GAMMA_MAX 65000
52 #define REFERENCE_WHITE_MIN 6000
53 #define REFERENCE_WHITE_MAX 10000
54 #define REFERENCE_BLACK_MIN 0
55 #define REFERENCE_BLACK_MAX 4000
56 #define COLOR_ADJ_MIN (-100)
57 #define COLOR_ADJ_MAX 100
58 #define CCHDEVICENAME 32
59 #define CCHFORMNAME 32
60 #define DI_COMPAT 4
61 #define DI_DEFAULTSIZE 8
62 #define DI_IMAGE 2
63 #define DI_MASK 1
64 #define DI_NORMAL 3
65 #define DI_APPBANDING 1
66 #define EMR_HEADER 1
67 #define EMR_POLYBEZIER 2
68 #define EMR_POLYGON 3
69 #define EMR_POLYLINE 4
70 #define EMR_POLYBEZIERTO 5
71 #define EMR_POLYLINETO 6
72 #define EMR_POLYPOLYLINE 7
73 #define EMR_POLYPOLYGON 8
74 #define EMR_SETWINDOWEXTEX 9
75 #define EMR_SETWINDOWORGEX 10
76 #define EMR_SETVIEWPORTEXTEX 11
77 #define EMR_SETVIEWPORTORGEX 12
78 #define EMR_SETBRUSHORGEX 13
79 #define EMR_EOF 14
80 #define EMR_SETPIXELV 15
81 #define EMR_SETMAPPERFLAGS 16
82 #define EMR_SETMAPMODE 17
83 #define EMR_SETBKMODE 18
84 #define EMR_SETPOLYFILLMODE 19
85 #define EMR_SETROP2 20
86 #define EMR_SETSTRETCHBLTMODE 21
87 #define EMR_SETTEXTALIGN 22
88 #define EMR_SETCOLORADJUSTMENT 23
89 #define EMR_SETTEXTCOLOR 24
90 #define EMR_SETBKCOLOR 25
91 #define EMR_OFFSETCLIPRGN 26
92 #define EMR_MOVETOEX 27
93 #define EMR_SETMETARGN 28
94 #define EMR_EXCLUDECLIPRECT 29
95 #define EMR_INTERSECTCLIPRECT 30
96 #define EMR_SCALEVIEWPORTEXTEX 31
97 #define EMR_SCALEWINDOWEXTEX 32
98 #define EMR_SAVEDC 33
99 #define EMR_RESTOREDC 34
100 #define EMR_SETWORLDTRANSFORM 35
101 #define EMR_MODIFYWORLDTRANSFORM 36
102 #define EMR_SELECTOBJECT 37
103 #define EMR_CREATEPEN 38
104 #define EMR_CREATEBRUSHINDIRECT 39
105 #define EMR_DELETEOBJECT 40
106 #define EMR_ANGLEARC 41
107 #define EMR_ELLIPSE 42
108 #define EMR_RECTANGLE 43
109 #define EMR_ROUNDRECT 44
110 #define EMR_ARC 45
111 #define EMR_CHORD 46
112 #define EMR_PIE 47
113 #define EMR_SELECTPALETTE 48
114 #define EMR_CREATEPALETTE 49
115 #define EMR_SETPALETTEENTRIES 50
116 #define EMR_RESIZEPALETTE 51
117 #define EMR_REALIZEPALETTE 52
118 #define EMR_EXTFLOODFILL 53
119 #define EMR_LINETO 54
120 #define EMR_ARCTO 55
121 #define EMR_POLYDRAW 56
122 #define EMR_SETARCDIRECTION 57
123 #define EMR_SETMITERLIMIT 58
124 #define EMR_BEGINPATH 59
125 #define EMR_ENDPATH 60
126 #define EMR_CLOSEFIGURE 61
127 #define EMR_FILLPATH 62
128 #define EMR_STROKEANDFILLPATH 63
129 #define EMR_STROKEPATH 64
130 #define EMR_FLATTENPATH 65
131 #define EMR_WIDENPATH 66
132 #define EMR_SELECTCLIPPATH 67
133 #define EMR_ABORTPATH 68
134 #define EMR_GDICOMMENT 70
135 #define EMR_FILLRGN 71
136 #define EMR_FRAMERGN 72
137 #define EMR_INVERTRGN 73
138 #define EMR_PAINTRGN 74
139 #define EMR_EXTSELECTCLIPRGN 75
140 #define EMR_BITBLT 76
141 #define EMR_STRETCHBLT 77
142 #define EMR_MASKBLT 78
143 #define EMR_PLGBLT 79
144 #define EMR_SETDIBITSTODEVICE 80
145 #define EMR_STRETCHDIBITS 81
146 #define EMR_EXTCREATEFONTINDIRECTW 82
147 #define EMR_EXTTEXTOUTA 83
148 #define EMR_EXTTEXTOUTW 84
149 #define EMR_POLYBEZIER16 85
150 #define EMR_POLYGON16 86
151 #define EMR_POLYLINE16 87
152 #define EMR_POLYBEZIERTO16 88
153 #define EMR_POLYLINETO16 89
154 #define EMR_POLYPOLYLINE16 90
155 #define EMR_POLYPOLYGON16 91
156 #define EMR_POLYDRAW16 92
157 #define EMR_CREATEMONOBRUSH 93
158 #define EMR_CREATEDIBPATTERNBRUSHPT 94
159 #define EMR_EXTCREATEPEN 95
160 #define EMR_POLYTEXTOUTA 96
161 #define EMR_POLYTEXTOUTW 97
162 #define EMR_SETICMMODE 98
163 #define EMR_CREATECOLORSPACE 99
164 #define EMR_SETCOLORSPACE 100
165 #define EMR_DELETECOLORSPACE 101
166 #define EMR_GLSRECORD 102
167 #define EMR_GLSBOUNDEDRECORD 103
168 #define EMR_PIXELFORMAT 104
169 #define ENHMETA_SIGNATURE 1179469088
170 #define EPS_SIGNATURE 0x46535045
171 #if (_WIN32_WINNT >= 0x0500)
172 #define FR_PRIVATE 0x10
173 #define FR_NOT_ENUM 0x20
174 #endif
175 #define META_SETBKCOLOR 0x201
176 #define META_SETBKMODE 0x102
177 #define META_SETMAPMODE 0x103
178 #define META_SETROP2 0x104
179 #define META_SETRELABS 0x105
180 #define META_SETPOLYFILLMODE 0x106
181 #define META_SETSTRETCHBLTMODE 0x107
182 #define META_SETTEXTCHAREXTRA 0x108
183 #define META_SETTEXTCOLOR 0x209
184 #define META_SETTEXTJUSTIFICATION 0x20A
185 #define META_SETWINDOWORG 0x20B
186 #define META_SETWINDOWEXT 0x20C
187 #define META_SETVIEWPORTORG 0x20D
188 #define META_SETVIEWPORTEXT 0x20E
189 #define META_OFFSETWINDOWORG 0x20F
190 #define META_SCALEWINDOWEXT 0x410
191 #define META_OFFSETVIEWPORTORG 0x211
192 #define META_SCALEVIEWPORTEXT 0x412
193 #define META_LINETO 0x213
194 #define META_MOVETO 0x214
195 #define META_EXCLUDECLIPRECT 0x415
196 #define META_INTERSECTCLIPRECT 0x416
197 #define META_ARC 0x817
198 #define META_ELLIPSE 0x418
199 #define META_FLOODFILL 0x419
200 #define META_PIE 0x81A
201 #define META_RECTANGLE 0x41B
202 #define META_ROUNDRECT 0x61C
203 #define META_PATBLT 0x61D
204 #define META_SAVEDC 0x1E
205 #define META_SETPIXEL 0x41F
206 #define META_OFFSETCLIPRGN 0x220
207 #define META_TEXTOUT 0x521
208 #define META_BITBLT 0x922
209 #define META_STRETCHBLT 0xB23
210 #define META_POLYGON 0x324
211 #define META_POLYLINE 0x325
212 #define META_ESCAPE 0x626
213 #define META_RESTOREDC 0x127
214 #define META_FILLREGION 0x228
215 #define META_FRAMEREGION 0x429
216 #define META_INVERTREGION 0x12A
217 #define META_PAINTREGION 0x12B
218 #define META_SELECTCLIPREGION 0x12C
219 #define META_SELECTOBJECT 0x12D
220 #define META_SETTEXTALIGN 0x12E
221 #define META_CHORD 0x830
222 #define META_SETMAPPERFLAGS 0x231
223 #define META_EXTTEXTOUT 0xa32
224 #define META_SETDIBTODEV 0xd33
225 #define META_SELECTPALETTE 0x234
226 #define META_REALIZEPALETTE 0x35
227 #define META_ANIMATEPALETTE 0x436
228 #define META_SETPALENTRIES 0x37
229 #define META_POLYPOLYGON 0x538
230 #define META_RESIZEPALETTE 0x139
231 #define META_DIBBITBLT 0x940
232 #define META_DIBSTRETCHBLT 0xb41
233 #define META_DIBCREATEPATTERNBRUSH 0x142
234 #define META_STRETCHDIB 0xf43
235 #define META_EXTFLOODFILL 0x548
236 #define META_DELETEOBJECT 0x1f0
237 #define META_CREATEPALETTE 0xf7
238 #define META_CREATEPATTERNBRUSH 0x1F9
239 #define META_CREATEPENINDIRECT 0x2FA
240 #define META_CREATEFONTINDIRECT 0x2FB
241 #define META_CREATEBRUSHINDIRECT 0x2FC
242 #define META_CREATEREGION 0x6FF
243 #define PT_MOVETO 6
244 #define PT_LINETO 2
245 #define PT_BEZIERTO 4
246 #define PT_CLOSEFIGURE 1
247 #define ELF_VENDOR_SIZE 4
248 #define ELF_VERSION 0
249 #define ELF_CULTURE_LATIN 0
250 #define PFD_TYPE_RGBA 0
251 #define PFD_TYPE_COLORINDEX 1
252 #define PFD_MAIN_PLANE 0
253 #define PFD_OVERLAY_PLANE 1
254 #define PFD_UNDERLAY_PLANE (-1)
255 #define PFD_DOUBLEBUFFER 1
256 #define PFD_STEREO 2
257 #define PFD_DRAW_TO_WINDOW 4
258 #define PFD_DRAW_TO_BITMAP 8
259 #define PFD_SUPPORT_GDI 16
260 #define PFD_SUPPORT_OPENGL 32
261 #define PFD_GENERIC_FORMAT 64
262 #define PFD_NEED_PALETTE 128
263 #define PFD_NEED_SYSTEM_PALETTE 0x00000100
264 #define PFD_SWAP_EXCHANGE 0x00000200
265 #define PFD_SWAP_COPY 0x00000400
266 #define PFD_SWAP_LAYER_BUFFERS 0x00000800
267 #define PFD_GENERIC_ACCELERATED 0x00001000
268 #define PFD_DEPTH_DONTCARE 0x20000000
269 #define PFD_DOUBLEBUFFER_DONTCARE 0x40000000
270 #define PFD_STEREO_DONTCARE 0x80000000
271 #define SP_ERROR (-1)
272 #define SP_OUTOFDISK (-4)
273 #define SP_OUTOFMEMORY (-5)
274 #define SP_USERABORT (-3)
275 #define SP_APPABORT (-2)
276 #define BLACKNESS 0x42
277 #define NOTSRCERASE 0x1100A6
278 #define NOTSRCCOPY 0x330008
279 #define SRCERASE 0x440328
280 #define DSTINVERT 0x550009
281 #define PATINVERT 0x5A0049
282 #define SRCINVERT 0x660046
283 #define SRCAND 0x8800C6
284 #define MERGEPAINT 0xBB0226
285 #define MERGECOPY 0xC000CA
286 #define SRCCOPY 0xCC0020
287 #define SRCPAINT 0xEE0086
288 #define PATCOPY 0xF00021
289 #define PATPAINT 0xFB0A09
290 #define WHITENESS 0xFF0062
291 #define R2_BLACK 1
292 #define R2_COPYPEN 13
293 #define R2_MASKNOTPEN 3
294 #define R2_MASKPEN 9
295 #define R2_MASKPENNOT 5
296 #define R2_MERGENOTPEN 12
297 #define R2_MERGEPEN 15
298 #define R2_MERGEPENNOT 14
299 #define R2_NOP 11
300 #define R2_NOT 6
301 #define R2_NOTCOPYPEN 4
302 #define R2_NOTMASKPEN 8
303 #define R2_NOTMERGEPEN 2
304 #define R2_NOTXORPEN 10
305 #define R2_WHITE 16
306 #define R2_XORPEN 7
307 #define CM_OUT_OF_GAMUT 255
308 #define CM_IN_GAMUT 0
309 #define RGN_AND 1
310 #define RGN_COPY 5
311 #define RGN_DIFF 4
312 #define RGN_OR 2
313 #define RGN_XOR 3
314 #define NULLREGION 1
315 #define SIMPLEREGION 2
316 #define COMPLEXREGION 3
317 #define ERROR 0
318 #define CBM_INIT 4
319 #define DIB_PAL_COLORS 1
320 #define DIB_RGB_COLORS 0
321 #define FW_DONTCARE 0
322 #define FW_THIN 100
323 #define FW_EXTRALIGHT 200
324 #define FW_ULTRALIGHT FW_EXTRALIGHT
325 #define FW_LIGHT 300
326 #define FW_NORMAL 400
327 #define FW_REGULAR 400
328 #define FW_MEDIUM 500
329 #define FW_SEMIBOLD 600
330 #define FW_DEMIBOLD FW_SEMIBOLD
331 #define FW_BOLD 700
332 #define FW_EXTRABOLD 800
333 #define FW_ULTRABOLD FW_EXTRABOLD
334 #define FW_HEAVY 900
335 #define FW_BLACK FW_HEAVY
336 #define ANSI_CHARSET 0
337 #define DEFAULT_CHARSET 1
338 #define SYMBOL_CHARSET 2
339 #define SHIFTJIS_CHARSET 128
340 #define HANGEUL_CHARSET 129
341 #define HANGUL_CHARSET 129
342 #define GB2312_CHARSET 134
343 #define CHINESEBIG5_CHARSET 136
344 #define GREEK_CHARSET 161
345 #define TURKISH_CHARSET 162
346 #define HEBREW_CHARSET 177
347 #define ARABIC_CHARSET 178
348 #define BALTIC_CHARSET 186
349 #define RUSSIAN_CHARSET 204
350 #define THAI_CHARSET 222
351 #define EE_CHARSET 238
352 #define EASTEUROPE_CHARSET 238
353 #define OEM_CHARSET 255
354 #define JOHAB_CHARSET 130
355 #define VIETNAMESE_CHARSET 163
356 #define MAC_CHARSET 77
357 #define OUT_DEFAULT_PRECIS 0
358 #define OUT_STRING_PRECIS 1
359 #define OUT_CHARACTER_PRECIS 2
360 #define OUT_STROKE_PRECIS 3
361 #define OUT_TT_PRECIS 4
362 #define OUT_DEVICE_PRECIS 5
363 #define OUT_RASTER_PRECIS 6
364 #define OUT_TT_ONLY_PRECIS 7
365 #define OUT_OUTLINE_PRECIS 8
366 #define CLIP_DEFAULT_PRECIS 0
367 #define CLIP_CHARACTER_PRECIS 1
368 #define CLIP_STROKE_PRECIS 2
369 #define CLIP_MASK 15
370 #define CLIP_LH_ANGLES 16
371 #define CLIP_TT_ALWAYS 32
372 #define CLIP_EMBEDDED 128
373 #define DEFAULT_QUALITY 0
374 #define DRAFT_QUALITY 1
375 #define PROOF_QUALITY 2
376 #define NONANTIALIASED_QUALITY 3
377 #define ANTIALIASED_QUALITY 4
378 #define DEFAULT_PITCH 0
379 #define FIXED_PITCH 1
380 #define VARIABLE_PITCH 2
381 #define MONO_FONT 8
382 #define FF_DECORATIVE 80
383 #define FF_DONTCARE 0
384 #define FF_MODERN 48
385 #define FF_ROMAN 16
386 #define FF_SCRIPT 64
387 #define FF_SWISS 32
388 #define PANOSE_COUNT 10
389 #define PAN_FAMILYTYPE_INDEX 0
390 #define PAN_SERIFSTYLE_INDEX 1
391 #define PAN_WEIGHT_INDEX 2
392 #define PAN_PROPORTION_INDEX 3
393 #define PAN_CONTRAST_INDEX 4
394 #define PAN_STROKEVARIATION_INDEX 5
395 #define PAN_ARMSTYLE_INDEX 6
396 #define PAN_LETTERFORM_INDEX 7
397 #define PAN_MIDLINE_INDEX 8
398 #define PAN_XHEIGHT_INDEX 9
399 #define PAN_CULTURE_LATIN 0
400 #define PAN_ANY 0
401 #define PAN_NO_FIT 1
402 #define PAN_FAMILY_TEXT_DISPLAY 2
403 #define PAN_FAMILY_SCRIPT 3
404 #define PAN_FAMILY_DECORATIVE 4
405 #define PAN_FAMILY_PICTORIAL 5
406 #define PAN_SERIF_COVE 2
407 #define PAN_SERIF_OBTUSE_COVE 3
408 #define PAN_SERIF_SQUARE_COVE 4
409 #define PAN_SERIF_OBTUSE_SQUARE_COVE 5
410 #define PAN_SERIF_SQUARE 6
411 #define PAN_SERIF_THIN 7
412 #define PAN_SERIF_BONE 8
413 #define PAN_SERIF_EXAGGERATED 9
414 #define PAN_SERIF_TRIANGLE 10
415 #define PAN_SERIF_NORMAL_SANS 11
416 #define PAN_SERIF_OBTUSE_SANS 12
417 #define PAN_SERIF_PERP_SANS 13
418 #define PAN_SERIF_FLARED 14
419 #define PAN_SERIF_ROUNDED 15
420 #define PAN_WEIGHT_VERY_LIGHT 2
421 #define PAN_WEIGHT_LIGHT 3
422 #define PAN_WEIGHT_THIN 4
423 #define PAN_WEIGHT_BOOK 5
424 #define PAN_WEIGHT_MEDIUM 6
425 #define PAN_WEIGHT_DEMI 7
426 #define PAN_WEIGHT_BOLD 8
427 #define PAN_WEIGHT_HEAVY 9
428 #define PAN_WEIGHT_BLACK 10
429 #define PAN_WEIGHT_NORD 11
430 #define PAN_PROP_OLD_STYLE 2
431 #define PAN_PROP_MODERN 3
432 #define PAN_PROP_EVEN_WIDTH 4
433 #define PAN_PROP_EXPANDED 5
434 #define PAN_PROP_CONDENSED 6
435 #define PAN_PROP_VERY_EXPANDED 7
436 #define PAN_PROP_VERY_CONDENSED 8
437 #define PAN_PROP_MONOSPACED 9
438 #define PAN_CONTRAST_NONE 2
439 #define PAN_CONTRAST_VERY_LOW 3
440 #define PAN_CONTRAST_LOW 4
441 #define PAN_CONTRAST_MEDIUM_LOW 5
442 #define PAN_CONTRAST_MEDIUM 6
443 #define PAN_CONTRAST_MEDIUM_HIGH 7
444 #define PAN_CONTRAST_HIGH 8
445 #define PAN_CONTRAST_VERY_HIGH 9
446 #define PAN_STROKE_GRADUAL_DIAG 2
447 #define PAN_STROKE_GRADUAL_TRAN 3
448 #define PAN_STROKE_GRADUAL_VERT 4
449 #define PAN_STROKE_GRADUAL_HORZ 5
450 #define PAN_STROKE_RAPID_VERT 6
451 #define PAN_STROKE_RAPID_HORZ 7
452 #define PAN_STROKE_INSTANT_VERT 8
453 #define PAN_STRAIGHT_ARMS_HORZ 2
454 #define PAN_STRAIGHT_ARMS_WEDGE 3
455 #define PAN_STRAIGHT_ARMS_VERT 4
456 #define PAN_STRAIGHT_ARMS_SINGLE_SERIF 5
457 #define PAN_STRAIGHT_ARMS_DOUBLE_SERIF 6
458 #define PAN_BENT_ARMS_HORZ 7
459 #define PAN_BENT_ARMS_WEDGE 8
460 #define PAN_BENT_ARMS_VERT 9
461 #define PAN_BENT_ARMS_SINGLE_SERIF 10
462 #define PAN_BENT_ARMS_DOUBLE_SERIF 11
463 #define PAN_LETT_NORMAL_CONTACT 2
464 #define PAN_LETT_NORMAL_WEIGHTED 3
465 #define PAN_LETT_NORMAL_BOXED 4
466 #define PAN_LETT_NORMAL_FLATTENED 5
467 #define PAN_LETT_NORMAL_ROUNDED 6
468 #define PAN_LETT_NORMAL_OFF_CENTER 7
469 #define PAN_LETT_NORMAL_SQUARE 8
470 #define PAN_LETT_OBLIQUE_CONTACT 9
471 #define PAN_LETT_OBLIQUE_WEIGHTED 10
472 #define PAN_LETT_OBLIQUE_BOXED 11
473 #define PAN_LETT_OBLIQUE_FLATTENED 12
474 #define PAN_LETT_OBLIQUE_ROUNDED 13
475 #define PAN_LETT_OBLIQUE_OFF_CENTER 14
476 #define PAN_LETT_OBLIQUE_SQUARE 15
477 #define PAN_MIDLINE_STANDARD_TRIMMED 2
478 #define PAN_MIDLINE_STANDARD_POINTED 3
479 #define PAN_MIDLINE_STANDARD_SERIFED 4
480 #define PAN_MIDLINE_HIGH_TRIMMED 5
481 #define PAN_MIDLINE_HIGH_POINTED 6
482 #define PAN_MIDLINE_HIGH_SERIFED 7
483 #define PAN_MIDLINE_CONSTANT_TRIMMED 8
484 #define PAN_MIDLINE_CONSTANT_POINTED 9
485 #define PAN_MIDLINE_CONSTANT_SERIFED 10
486 #define PAN_MIDLINE_LOW_TRIMMED 11
487 #define PAN_MIDLINE_LOW_POINTED 12
488 #define PAN_MIDLINE_LOW_SERIFED 13
489 #define PAN_XHEIGHT_CONSTANT_SMALL 2
490 #define PAN_XHEIGHT_CONSTANT_STD 3
491 #define PAN_XHEIGHT_CONSTANT_LARGE 4
492 #define PAN_XHEIGHT_DUCKING_SMALL 5
493 #define PAN_XHEIGHT_DUCKING_STD 6
494 #define PAN_XHEIGHT_DUCKING_LARGE 7
495 #define FS_LATIN1 1
496 #define FS_LATIN2 2
497 #define FS_CYRILLIC 4
498 #define FS_GREEK 8
499 #define FS_TURKISH 16
500 #define FS_HEBREW 32
501 #define FS_ARABIC 64
502 #define FS_BALTIC 128
503 #define FS_VIETNAMESE 256
504 #define FS_THAI 0x10000
505 #define FS_JISJAPAN 0x20000
506 #define FS_CHINESESIMP 0x40000
507 #define FS_WANSUNG 0x80000
508 #define FS_CHINESETRAD 0x100000
509 #define FS_JOHAB 0x200000
510 #define FS_SYMBOL 0x80000000
511 #define HS_BDIAGONAL 3
512 #define HS_CROSS 4
513 #define HS_DIAGCROSS 5
514 #define HS_FDIAGONAL 2
515 #define HS_HORIZONTAL 0
516 #define HS_VERTICAL 1
517 #define PS_GEOMETRIC 65536
518 #define PS_COSMETIC 0
519 #define PS_ALTERNATE 8
520 #define PS_SOLID 0
521 #define PS_DASH 1
522 #define PS_DOT 2
523 #define PS_DASHDOT 3
524 #define PS_DASHDOTDOT 4
525 #define PS_NULL 5
526 #define PS_USERSTYLE 7
527 #define PS_INSIDEFRAME 6
528 #define PS_ENDCAP_ROUND 0
529 #define PS_ENDCAP_SQUARE 256
530 #define PS_ENDCAP_FLAT 512
531 #define PS_JOIN_BEVEL 4096
532 #define PS_JOIN_MITER 8192
533 #define PS_JOIN_ROUND 0
534 #define PS_JOIN_MASK 0x0000F000
535 #define PS_STYLE_MASK 15
536 #define PS_ENDCAP_MASK 3840
537 #define PS_TYPE_MASK 983040
538 #define ALTERNATE 1
539 #define WINDING 2
540 #define DC_BINNAMES 12
541 #define DC_BINS 6
542 #define DC_COPIES 18
543 #define DC_DRIVER 11
544 #define DC_DATATYPE_PRODUCED 21
545 #define DC_DUPLEX 7
546 #define DC_EMF_COMPLIANT 20
547 #define DC_ENUMRESOLUTIONS 13
548 #define DC_EXTRA 9
549 #define DC_FIELDS 1
550 #define DC_FILEDEPENDENCIES 14
551 #define DC_MAXEXTENT 5
552 #define DC_MINEXTENT 4
553 #define DC_ORIENTATION 17
554 #define DC_PAPERNAMES 16
555 #define DC_PAPERS 2
556 #define DC_PAPERSIZE 3
557 #define DC_SIZE 8
558 #define DC_TRUETYPE 15
559 #define DCTT_BITMAP 1
560 #define DCTT_DOWNLOAD 2
561 #define DCTT_SUBDEV 4
562 #define DCTT_DOWNLOAD_OUTLINE 8
563 #define DC_VERSION 10
564 #define DC_BINADJUST 19
565 #define DC_EMF_COMPLIANT 20
566 #define DC_DATATYPE_PRODUCED 21
567 #define DC_MANUFACTURER 23
568 #define DC_MODEL 24
569 #define DCBA_FACEUPNONE 0
570 #define DCBA_FACEUPCENTER 1
571 #define DCBA_FACEUPLEFT 2
572 #define DCBA_FACEUPRIGHT 3
573 #define DCBA_FACEDOWNNONE 256
574 #define DCBA_FACEDOWNCENTER 257
575 #define DCBA_FACEDOWNLEFT 258
576 #define DCBA_FACEDOWNRIGHT 259
577 #define FLOODFILLBORDER 0
578 #define FLOODFILLSURFACE 1
579 #define ETO_OPAQUE 0x00002
580 #define ETO_CLIPPED 0x00004
581 #if (WINVER >= 0x0400)
582 #define ETO_GLYPH_INDEX 0x00010
583 #define ETO_RTLREADING 0x00080
584 #define ETO_NUMERICSLOCAL 0x00400
585 #define ETO_NUMERICSLATIN 0x00800
586 #define ETO_IGNORELANGUAGE 0x01000
587 #endif
588 #if (_WIN32_WINNT >= _WIN32_WINNT_WIN2K)
589 #define ETO_PDY 0x02000
590 #endif
591 #if (_WIN32_WINNT >= _WIN32_WINNT_LONGHORN)
592 #define ETO_REVERSE_INDEX_MAP 0x10000
593 #endif
594 #define GDICOMMENT_WINDOWS_METAFILE (-2147483647)
595 #define GDICOMMENT_BEGINGROUP 2
596 #define GDICOMMENT_ENDGROUP 3
597 #define GDICOMMENT_MULTIFORMATS 1073741828
598 #define GDICOMMENT_IDENTIFIER 1128875079
599 #define AD_COUNTERCLOCKWISE 1
600 #define AD_CLOCKWISE 2
601 #define RDH_RECTANGLES 1
602 #define GCPCLASS_LATIN 1
603 #define GCPCLASS_HEBREW 2
604 #define GCPCLASS_ARABIC 2
605 #define GCPCLASS_NEUTRAL 3
606 #define GCPCLASS_LOCALNUMBER 4
607 #define GCPCLASS_LATINNUMBER 5
608 #define GCPCLASS_LATINNUMERICTERMINATOR 6
609 #define GCPCLASS_LATINNUMERICSEPARATOR 7
610 #define GCPCLASS_NUMERICSEPARATOR 8
611 #define GCPCLASS_PREBOUNDLTR 128
612 #define GCPCLASS_PREBOUNDRTL 64
613 #define GCPCLASS_POSTBOUNDLTR 32
614 #define GCPCLASS_POSTBOUNDRTL 16
615 #define GCPGLYPH_LINKBEFORE 0x8000
616 #define GCPGLYPH_LINKAFTER 0x4000
617 #define DCB_DISABLE 8
618 #define DCB_ENABLE 4
619 #define DCB_RESET 1
620 #define DCB_SET 3
621 #define DCB_ACCUMULATE 2
622 #define DCB_DIRTY 2
623 #define OBJ_BRUSH 2
624 #define OBJ_PEN 1
625 #define OBJ_PAL 5
626 #define OBJ_FONT 6
627 #define OBJ_BITMAP 7
628 #define OBJ_EXTPEN 11
629 #define OBJ_REGION 8
630 #define OBJ_DC 3
631 #define OBJ_MEMDC 10
632 #define OBJ_METAFILE 9
633 #define OBJ_METADC 4
634 #define OBJ_ENHMETAFILE 13
635 #define OBJ_ENHMETADC 12
636 #define OBJ_COLORSPACE 14
637 #define DRIVERVERSION 0
638 #define TECHNOLOGY 2
639 #define DT_PLOTTER 0
640 #define DT_RASDISPLAY 1
641 #define DT_RASPRINTER 2
642 #define DT_RASCAMERA 3
643 #define DT_CHARSTREAM 4
644 #define DT_METAFILE 5
645 #define DT_DISPFILE 6
646 #define HORZSIZE 4
647 #define VERTSIZE 6
648 #define HORZRES 8
649 #define VERTRES 10
650 #define LOGPIXELSX 88
651 #define LOGPIXELSY 90
652 #define BITSPIXEL 12
653 #define PLANES 14
654 #define NUMBRUSHES 16
655 #define NUMPENS 18
656 #define NUMFONTS 22
657 #define NUMCOLORS 24
658 #define NUMMARKERS 20
659 #define ASPECTX 40
660 #define ASPECTY 42
661 #define ASPECTXY 44
662 #define PDEVICESIZE 26
663 #define CLIPCAPS 36
664 #define SIZEPALETTE 104
665 #define NUMRESERVED 106
666 #define COLORRES 108
667 #define PHYSICALWIDTH 110
668 #define PHYSICALHEIGHT 111
669 #define PHYSICALOFFSETX 112
670 #define PHYSICALOFFSETY 113
671 #define SCALINGFACTORX 114
672 #define SCALINGFACTORY 115
673 #define VREFRESH 116
674 #define DESKTOPHORZRES 118
675 #define DESKTOPVERTRES 117
676 #define BLTALIGNMENT 119
677 #define RASTERCAPS 38
678 #define RC_BANDING 2
679 #define RC_BITBLT 1
680 #define RC_BITMAP64 8
681 #define RC_DI_BITMAP 128
682 #define RC_DIBTODEV 512
683 #define RC_FLOODFILL 4096
684 #define RC_GDI20_OUTPUT 16
685 #define RC_PALETTE 256
686 #define RC_SCALING 4
687 #define RC_STRETCHBLT 2048
688 #define RC_STRETCHDIB 8192
689 #define RC_DEVBITS 0x8000
690 #define RC_OP_DX_OUTPUT 0x4000
691 #define CURVECAPS 28
692 #define CC_NONE 0
693 #define CC_CIRCLES 1
694 #define CC_PIE 2
695 #define CC_CHORD 4
696 #define CC_ELLIPSES 8
697 #define CC_WIDE 16
698 #define CC_STYLED 32
699 #define CC_WIDESTYLED 64
700 #define CC_INTERIORS 128
701 #define CC_ROUNDRECT 256
702 #define LINECAPS 30
703 #define LC_NONE 0
704 #define LC_POLYLINE 2
705 #define LC_MARKER 4
706 #define LC_POLYMARKER 8
707 #define LC_WIDE 16
708 #define LC_STYLED 32
709 #define LC_WIDESTYLED 64
710 #define LC_INTERIORS 128
711 #define POLYGONALCAPS 32
712 #define RC_BANDING 2
713 #define RC_BIGFONT 1024
714 #define RC_BITBLT 1
715 #define RC_BITMAP64 8
716 #define RC_DEVBITS 0x8000
717 #define RC_DI_BITMAP 128
718 #define RC_GDI20_OUTPUT 16
719 #define RC_GDI20_STATE 32
720 #define RC_NONE 0
721 #define RC_OP_DX_OUTPUT 0x4000
722 #define RC_PALETTE 256
723 #define RC_SAVEBITMAP 64
724 #define RC_SCALING 4
725 #define PC_NONE 0
726 #define PC_POLYGON 1
727 #define PC_POLYPOLYGON 256
728 #define PC_PATHS 512
729 #define PC_RECTANGLE 2
730 #define PC_WINDPOLYGON 4
731 #define PC_SCANLINE 8
732 #define PC_TRAPEZOID 4
733 #define PC_WIDE 16
734 #define PC_STYLED 32
735 #define PC_WIDESTYLED 64
736 #define PC_INTERIORS 128
737 #define PC_PATHS 512
738 #define TEXTCAPS 34
739 #define TC_OP_CHARACTER 1
740 #define TC_OP_STROKE 2
741 #define TC_CP_STROKE 4
742 #define TC_CR_90 8
743 #define TC_CR_ANY 16
744 #define TC_SF_X_YINDEP 32
745 #define TC_SA_DOUBLE 64
746 #define TC_SA_INTEGER 128
747 #define TC_SA_CONTIN 256
748 #define TC_EA_DOUBLE 512
749 #define TC_IA_ABLE 1024
750 #define TC_UA_ABLE 2048
751 #define TC_SO_ABLE 4096
752 #define TC_RA_ABLE 8192
753 #define TC_VA_ABLE 16384
754 #define TC_RESERVED 32768
755 #define TC_SCROLLBLT 65536
756 /* CLIPCAPS */
757 #define CP_NONE 0
758 #define CP_RECTANGLE 1
759 #define CP_REGION 2
760 #define GCP_DBCS 1
761 #define GCP_ERROR 0x8000
762 #define GCP_CLASSIN 0x80000
763 #define GCP_DIACRITIC 256
764 #define GCP_DISPLAYZWG 0x400000
765 #define GCP_GLYPHSHAPE 16
766 #define GCP_JUSTIFY 0x10000
767 #define GCP_JUSTIFYIN 0x200000
768 #define GCP_KASHIDA 1024
769 #define GCP_LIGATE 32
770 #define GCP_MAXEXTENT 0x100000
771 #define GCP_NEUTRALOVERRIDE 0x2000000
772 #define GCP_NUMERICOVERRIDE 0x1000000
773 #define GCP_NUMERICSLATIN 0x4000000
774 #define GCP_NUMERICSLOCAL 0x8000000
775 #define GCP_REORDER 2
776 #define GCP_SYMSWAPOFF 0x800000
777 #define GCP_USEKERNING 8
778 #define FLI_GLYPHS 0x40000
779 #define FLI_MASK 0x103b
780 #define GGO_METRICS 0
781 #define GGO_BITMAP 1
782 #define GGO_NATIVE 2
783 #define GGO_BEZIER 3
784 #define GGO_GRAY2_BITMAP 4
785 #define GGO_GRAY4_BITMAP 5
786 #define GGO_GRAY8_BITMAP 6
787 #define GGO_GLYPH_INDEX 128
788 #define GGO_UNHINTED 256
789 #define GM_COMPATIBLE 1
790 #define GM_ADVANCED 2
791 #define MM_ANISOTROPIC 8
792 #define MM_HIENGLISH 5
793 #define MM_HIMETRIC 3
794 #define MM_ISOTROPIC 7
795 #define MM_LOENGLISH 4
796 #define MM_LOMETRIC 2
797 #define MM_TEXT 1
798 #define MM_TWIPS 6
799 #define MM_MAX_FIXEDSCALE MM_TWIPS
800 #define ABSOLUTE 1
801 #define RELATIVE 2
802 #define PC_EXPLICIT 2
803 #define PC_NOCOLLAPSE 4
804 #define PC_RESERVED 1
805 #define CLR_INVALID 0xFFFFFFFF
806 #define PT_MOVETO 6
807 #define PT_LINETO 2
808 #define PT_BEZIERTO 4
809 #define PT_CLOSEFIGURE 1
810 #define TT_AVAILABLE 1
811 #define TT_ENABLED 2
812 #define BLACK_BRUSH 4
813 #define DKGRAY_BRUSH 3
814 #define GRAY_BRUSH 2
815 #define HOLLOW_BRUSH 5
816 #define LTGRAY_BRUSH 1
817 #define NULL_BRUSH 5
818 #define WHITE_BRUSH 0
819 #define BLACK_PEN 7
820 #define NULL_PEN 8
821 #define WHITE_PEN 6
822 #define ANSI_FIXED_FONT 11
823 #define ANSI_VAR_FONT 12
824 #define DEVICE_DEFAULT_FONT 14
825 #define DEFAULT_GUI_FONT 17
826 #define OEM_FIXED_FONT 10
827 #define SYSTEM_FONT 13
828 #define SYSTEM_FIXED_FONT 16
829 #define DEFAULT_PALETTE 15
830 #if (_WIN32_WINNT >= 0x0500)
831 #define DC_BRUSH 18
832 #define DC_PEN 19
833 #endif
834 #if (_WIN32_WINNT >= 0x0500)
835 #define STOCK_LAST 19
836 #elif (WINVER >= 0x0400)
837 #define STOCK_LAST 17
838 #else
839 #define STOCK_LAST 16
840 #endif
841 #define SYSPAL_NOSTATIC 2
842 #define SYSPAL_STATIC 1
843 #define SYSPAL_ERROR 0
844 #define TA_BASELINE 24
845 #define TA_BOTTOM 8
846 #define TA_TOP 0
847 #define TA_CENTER 6
848 #define TA_LEFT 0
849 #define TA_RIGHT 2
850 #define TA_RTLREADING 256
851 #define TA_NOUPDATECP 0
852 #define TA_UPDATECP 1
853 #define TA_MASK (TA_BASELINE+TA_CENTER+TA_UPDATECP+TA_RTLREADING)
854 #define VTA_BASELINE 24
855 #define VTA_CENTER 6
856 #define VTA_LEFT TA_BOTTOM
857 #define VTA_RIGHT TA_TOP
858 #define VTA_BOTTOM TA_RIGHT
859 #define VTA_TOP TA_LEFT
860 #define MWT_IDENTITY 1
861 #define MWT_LEFTMULTIPLY 2
862 #define MWT_RIGHTMULTIPLY 3
863 #define MWT_MIN MWT_IDENTITY
864 #define MWT_MAX MWT_RIGHTMULTIPLY
865 #define OPAQUE 2
866 #define TRANSPARENT 1
867 #define BLACKONWHITE 1
868 #define WHITEONBLACK 2
869 #define COLORONCOLOR 3
870 #define HALFTONE 4
871 #define MAXSTRETCHBLTMODE 4
872 #define STRETCH_ANDSCANS 1
873 #define STRETCH_DELETESCANS 3
874 #define STRETCH_HALFTONE 4
875 #define STRETCH_ORSCANS 2
876 #define TCI_SRCCHARSET 1
877 #define TCI_SRCCODEPAGE 2
878 #define TCI_SRCFONTSIG 3
879 #if (_WIN32_WINNT >= 0x0500)
880 #define SHADEBLENDCAPS 120
881 #define COLORMGMTCAPS 121
882 /* SHADEBLENDCAPS */
883 #define SB_NONE 0x00000000
884 #define SB_CONST_ALPHA 0x00000001
885 #define SB_PIXEL_ALPHA 0x00000002
886 #define SB_PREMULT_ALPHA 0x00000004
887 #define SB_GRAD_RECT 0x00000010
888 #define SB_GRAD_TRI 0x00000020
889 /* Color Management caps */
890 #define CM_NONE 0x00000000
891 #define CM_DEVICE_ICM 0x00000001
892 #define CM_GAMMA_RAMP 0x00000002
893 #define CM_CMYK_COLOR 0x00000004
894 #endif
895 #define ICM_ON 2
896 #define ICM_OFF 1
897 #define ICM_QUERY 3
898 #define NEWFRAME 1
899 #define ABORTDOC 2
900 #define NEXTBAND 3
901 #define SETCOLORTABLE 4
902 #define GETCOLORTABLE 5
903 #define FLUSHOUTPUT 6
904 #define DRAFTMODE 7
905 #define QUERYESCSUPPORT 8
906 #define SETABORTPROC 9
907 #define STARTDOC 10
908 #define ENDDOC 11
909 #define GETPHYSPAGESIZE 12
910 #define GETPRINTINGOFFSET 13
911 #define GETSCALINGFACTOR 14
912 #define MFCOMMENT 15
913 #define GETPENWIDTH 16
914 #define SETCOPYCOUNT 17
915 #define SELECTPAPERSOURCE 18
916 #define DEVICEDATA 19
917 #define PASSTHROUGH 19
918 #define GETTECHNOLGY 20
919 #define GETTECHNOLOGY 20
920 #define SETLINECAP 21
921 #define SETLINEJOIN 22
922 #define SETMITERLIMIT 23
923 #define BANDINFO 24
924 #define DRAWPATTERNRECT 25
925 #define GETVECTORPENSIZE 26
926 #define GETVECTORBRUSHSIZE 27
927 #define ENABLEDUPLEX 28
928 #define GETSETPAPERBINS 29
929 #define GETSETPRINTORIENT 30
930 #define ENUMPAPERBINS 31
931 #define SETDIBSCALING 32
932 #define EPSPRINTING 33
933 #define ENUMPAPERMETRICS 34
934 #define GETSETPAPERMETRICS 35
935 #define POSTSCRIPT_DATA 37
936 #define POSTSCRIPT_IGNORE 38
937 #define MOUSETRAILS 39
938 #define GETDEVICEUNITS 42
939 #define GETEXTENDEDTEXTMETRICS 256
940 #define GETEXTENTTABLE 257
941 #define GETPAIRKERNTABLE 258
942 #define GETTRACKKERNTABLE 259
943 #define EXTTEXTOUT 512
944 #define GETFACENAME 513
945 #define DOWNLOADFACE 514
946 #define ENABLERELATIVEWIDTHS 768
947 #define ENABLEPAIRKERNING 769
948 #define SETKERNTRACK 770
949 #define SETALLJUSTVALUES 771
950 #define SETCHARSET 772
951 #define STRETCHBLT 2048
952 #define GETSETSCREENPARAMS 3072
953 #define QUERYDIBSUPPORT 3073
954 #define BEGIN_PATH 4096
955 #define CLIP_TO_PATH 4097
956 #define END_PATH 4098
957 #define EXT_DEVICE_CAPS 4099
958 #define RESTORE_CTM 4100
959 #define SAVE_CTM 4101
960 #define SET_ARC_DIRECTION 4102
961 #define SET_BACKGROUND_COLOR 4103
962 #define SET_POLY_MODE 4104
963 #define SET_SCREEN_ANGLE 4105
964 #define SET_SPREAD 4106
965 #define TRANSFORM_CTM 4107
966 #define SET_CLIP_BOX 4108
967 #define SET_BOUNDS 4109
968 #define SET_MIRROR_MODE 4110
969 #define OPENCHANNEL 4110
970 #define DOWNLOADHEADER 4111
971 #define CLOSECHANNEL 4112
972 #define POSTSCRIPT_PASSTHROUGH 4115
973 #define ENCAPSULATED_POSTSCRIPT 4116
974 #define QDI_SETDIBITS 1
975 #define QDI_GETDIBITS 2
976 #define QDI_DIBTOSCREEN 4
977 #define QDI_STRETCHDIB 8
978 #define SP_NOTREPORTED 0x4000
979 #define PR_JOBSTATUS 0
980 #define ASPECT_FILTERING 1
981 #define GS_8BIT_INDICES 0x00000001
982 #define GGI_MARK_NONEXISTING_GLYPHS 0X0001
983 #define BS_SOLID 0
984 #define BS_NULL 1
985 #define BS_HOLLOW 1
986 #define BS_HATCHED 2
987 #define BS_PATTERN 3
988 #define BS_INDEXED 4
989 #define BS_DIBPATTERN 5
990 #define BS_DIBPATTERNPT 6
991 #define BS_PATTERN8X8 7
992 #define BS_DIBPATTERN8X8 8
993 #define LCS_CALIBRATED_RGB 0
994 #define LCS_DEVICE_RGB 1
995 #define LCS_DEVICE_CMYK 2
996 #define LCS_GM_BUSINESS 1
997 #define LCS_GM_GRAPHICS 2
998 #define LCS_GM_IMAGES 4
999 #define LCS_GM_ABS_COLORIMETRIC 8
1000 #define LCS_SIGNATURE 0x50534F43 // 'PSOC'
1001 #define LCS_sRGB 'sRGB'
1002 #define LCS_WINDOWS_COLOR_SPACE 'Win '
1003 #define RASTER_FONTTYPE 1
1004 #define DEVICE_FONTTYPE 2
1005 #define TRUETYPE_FONTTYPE 4
1006 #define DMORIENT_PORTRAIT 1
1007 #define DMORIENT_LANDSCAPE 2
1008 #define DMPAPER_FIRST 1
1009 #define DMPAPER_LETTER 1
1010 #define DMPAPER_LETTERSMALL 2
1011 #define DMPAPER_TABLOID 3
1012 #define DMPAPER_LEDGER 4
1013 #define DMPAPER_LEGAL 5
1014 #define DMPAPER_STATEMENT 6
1015 #define DMPAPER_EXECUTIVE 7
1016 #define DMPAPER_A3 8
1017 #define DMPAPER_A4 9
1018 #define DMPAPER_A4SMALL 10
1019 #define DMPAPER_A5 11
1020 #define DMPAPER_B4 12
1021 #define DMPAPER_B5 13
1022 #define DMPAPER_FOLIO 14
1023 #define DMPAPER_QUARTO 15
1024 #define DMPAPER_10X14 16
1025 #define DMPAPER_11X17 17
1026 #define DMPAPER_NOTE 18
1027 #define DMPAPER_ENV_9 19
1028 #define DMPAPER_ENV_10 20
1029 #define DMPAPER_ENV_11 21
1030 #define DMPAPER_ENV_12 22
1031 #define DMPAPER_ENV_14 23
1032 #define DMPAPER_CSHEET 24
1033 #define DMPAPER_DSHEET 25
1034 #define DMPAPER_ESHEET 26
1035 #define DMPAPER_ENV_DL 27
1036 #define DMPAPER_ENV_C5 28
1037 #define DMPAPER_ENV_C3 29
1038 #define DMPAPER_ENV_C4 30
1039 #define DMPAPER_ENV_C6 31
1040 #define DMPAPER_ENV_C65 32
1041 #define DMPAPER_ENV_B4 33
1042 #define DMPAPER_ENV_B5 34
1043 #define DMPAPER_ENV_B6 35
1044 #define DMPAPER_ENV_ITALY 36
1045 #define DMPAPER_ENV_MONARCH 37
1046 #define DMPAPER_ENV_PERSONAL 38
1047 #define DMPAPER_FANFOLD_US 39
1048 #define DMPAPER_FANFOLD_STD_GERMAN 40
1049 #define DMPAPER_FANFOLD_LGL_GERMAN 41
1050 #define DMPAPER_ISO_B4 42
1051 #define DMPAPER_JAPANESE_POSTCARD 43
1052 #define DMPAPER_9X11 44
1053 #define DMPAPER_10X11 45
1054 #define DMPAPER_15X11 46
1055 #define DMPAPER_ENV_INVITE 47
1056 #define DMPAPER_RESERVED_48 48
1057 #define DMPAPER_RESERVED_49 49
1058 #define DMPAPER_LETTER_EXTRA 50
1059 #define DMPAPER_LEGAL_EXTRA 51
1060 #define DMPAPER_TABLOID_EXTRA 52
1061 #define DMPAPER_A4_EXTRA 53
1062 #define DMPAPER_LETTER_TRANSVERSE 54
1063 #define DMPAPER_A4_TRANSVERSE 55
1064 #define DMPAPER_LETTER_EXTRA_TRANSVERSE 56
1065 #define DMPAPER_A_PLUS 57
1066 #define DMPAPER_B_PLUS 58
1067 #define DMPAPER_LETTER_PLUS 59
1068 #define DMPAPER_A4_PLUS 60
1069 #define DMPAPER_A5_TRANSVERSE 61
1070 #define DMPAPER_B5_TRANSVERSE 62
1071 #define DMPAPER_A3_EXTRA 63
1072 #define DMPAPER_A5_EXTRA 64
1073 #define DMPAPER_B5_EXTRA 65
1074 #define DMPAPER_A2 66
1075 #define DMPAPER_A3_TRANSVERSE 67
1076 #define DMPAPER_A3_EXTRA_TRANSVERSE 68
1077 #define DMPAPER_LAST 68
1078 #define DMPAPER_USER 256
1079 #define DMBIN_FIRST 1
1080 #define DMBIN_UPPER 1
1081 #define DMBIN_ONLYONE 1
1082 #define DMBIN_LOWER 2
1083 #define DMBIN_MIDDLE 3
1084 #define DMBIN_MANUAL 4
1085 #define DMBIN_ENVELOPE 5
1086 #define DMBIN_ENVMANUAL 6
1087 #define DMBIN_AUTO 7
1088 #define DMBIN_TRACTOR 8
1089 #define DMBIN_SMALLFMT 9
1090 #define DMBIN_LARGEFMT 10
1091 #define DMBIN_LARGECAPACITY 11
1092 #define DMBIN_CASSETTE 14
1093 #define DMBIN_FORMSOURCE 15
1094 #define DMBIN_LAST 15
1095 #define DMBIN_USER 256
1096 #define DMRES_DRAFT (-1)
1097 #define DMRES_LOW (-2)
1098 #define DMRES_MEDIUM (-3)
1099 #define DMRES_HIGH (-4)
1100 #define DMCOLOR_MONOCHROME 1
1101 #define DMCOLOR_COLOR 2
1102 #define DMDUP_SIMPLEX 1
1103 #define DMDUP_VERTICAL 2
1104 #define DMDUP_HORIZONTAL 3
1105 #define DMTT_BITMAP 1
1106 #define DMTT_DOWNLOAD 2
1107 #define DMTT_SUBDEV 3
1108 #define DMTT_DOWNLOAD_OUTLINE 4
1109 #define DMCOLLATE_FALSE 0
1110 #define DMCOLLATE_TRUE 1
1111 #define DM_SPECVERSION 800
1112 #define DM_GRAYSCALE 1
1113 #define DM_INTERLACED 2
1114 #define DM_UPDATE 1
1115 #define DM_COPY 2
1116 #define DM_PROMPT 4
1117 #define DM_MODIFY 8
1118 #define DM_IN_BUFFER DM_MODIFY
1119 #define DM_IN_PROMPT DM_PROMPT
1120 #define DM_OUT_BUFFER DM_COPY
1121 #define DM_OUT_DEFAULT DM_UPDATE
1122 #define DM_ORIENTATION 1
1123 #define DM_PAPERSIZE 2
1124 #define DM_PAPERLENGTH 4
1125 #define DM_PAPERWIDTH 8
1126 #define DM_POSITION 32
1127 #define DM_SCALE 16
1128 #define DM_COPIES 256
1129 #define DM_DEFAULTSOURCE 512
1130 #define DM_PRINTQUALITY 1024
1131 #define DM_COLOR 2048
1132 #define DM_DUPLEX 4096
1133 #define DM_YRESOLUTION 8192
1134 #define DM_TTOPTION 16384
1135 #define DM_COLLATE 32768
1136 #define DM_FORMNAME 65536
1137 #define DM_LOGPIXELS 0x20000
1138 #define DM_BITSPERPEL 0x40000
1139 #define DM_PELSWIDTH 0x80000
1140 #define DM_PELSHEIGHT 0x100000
1141 #define DM_DISPLAYFLAGS 0x200000
1142 #define DM_DISPLAYFREQUENCY 0x400000
1143 #define DM_ICMMETHOD 0x800000
1144 #define DM_ICMINTENT 0x1000000
1145 #define DM_MEDIATYPE 0x2000000
1146 #define DM_DITHERTYPE 0x4000000
1147 #define DMICMMETHOD_NONE 1
1148 #define DMICMMETHOD_SYSTEM 2
1149 #define DMICMMETHOD_DRIVER 3
1150 #define DMICMMETHOD_DEVICE 4
1151 #define DMICMMETHOD_USER 256
1152 #define DMICM_SATURATE 1
1153 #define DMICM_CONTRAST 2
1154 #define DMICM_COLORMETRIC 3
1155 #define DMICM_USER 256
1156 #define DMMEDIA_STANDARD 1
1157 #define DMMEDIA_TRANSPARENCY 2
1158 #define DMMEDIA_GLOSSY 3
1159 #define DMMEDIA_USER 256
1160 #define DMDITHER_NONE 1
1161 #define DMDITHER_COARSE 2
1162 #define DMDITHER_FINE 3
1163 #define DMDITHER_LINEART 4
1164 #define DMDITHER_ERRORDIFFUSION 5
1165 #define DMDITHER_RESERVED6 6
1166 #define DMDITHER_RESERVED7 7
1167 #define DMDITHER_RESERVED8 8
1168 #define DMDITHER_RESERVED9 9
1169 #define DMDITHER_GRAYSCALE 10
1170 #define DMDITHER_USER 256
1171 #define GDI_ERROR 0xFFFFFFFF
1172 #define HGDI_ERROR ((HANDLE)GDI_ERROR)
1173 #define TMPF_FIXED_PITCH 1
1174 #define TMPF_VECTOR 2
1175 #define TMPF_TRUETYPE 4
1176 #define TMPF_DEVICE 8
1177 #define NTM_ITALIC 1
1178 #define NTM_BOLD 32
1179 #define NTM_REGULAR 64
1180 #define TT_POLYGON_TYPE 24
1181 #define TT_PRIM_LINE 1
1182 #define TT_PRIM_QSPLINE 2
1183 #define TT_PRIM_CSPLINE 3
1184 #define FONTMAPPER_MAX 10
1185 #define ENHMETA_STOCK_OBJECT 0x80000000
1186 #define WGL_FONT_LINES 0
1187 #define WGL_FONT_POLYGONS 1
1188 #define LPD_DOUBLEBUFFER 1
1189 #define LPD_STEREO 2
1190 #define LPD_SUPPORT_GDI 16
1191 #define LPD_SUPPORT_OPENGL 32
1192 #define LPD_SHARE_DEPTH 64
1193 #define LPD_SHARE_STENCIL 128
1194 #define LPD_SHARE_ACCUM 256
1195 #define LPD_SWAP_EXCHANGE 512
1196 #define LPD_SWAP_COPY 1024
1197 #define LPD_TRANSPARENT 4096
1198 #define LPD_TYPE_RGBA 0
1199 #define LPD_TYPE_COLORINDEX 1
1200 #define WGL_SWAP_MAIN_PLANE 1
1201 #define WGL_SWAP_OVERLAY1 2
1202 #define WGL_SWAP_OVERLAY2 4
1203 #define WGL_SWAP_OVERLAY3 8
1204 #define WGL_SWAP_OVERLAY4 16
1205 #define WGL_SWAP_OVERLAY5 32
1206 #define WGL_SWAP_OVERLAY6 64
1207 #define WGL_SWAP_OVERLAY7 128
1208 #define WGL_SWAP_OVERLAY8 256
1209 #define WGL_SWAP_OVERLAY9 512
1210 #define WGL_SWAP_OVERLAY10 1024
1211 #define WGL_SWAP_OVERLAY11 2048
1212 #define WGL_SWAP_OVERLAY12 4096
1213 #define WGL_SWAP_OVERLAY13 8192
1214 #define WGL_SWAP_OVERLAY14 16384
1215 #define WGL_SWAP_OVERLAY15 32768
1216 #define WGL_SWAP_UNDERLAY1 65536
1217 #define WGL_SWAP_UNDERLAY2 0x20000
1218 #define WGL_SWAP_UNDERLAY3 0x40000
1219 #define WGL_SWAP_UNDERLAY4 0x80000
1220 #define WGL_SWAP_UNDERLAY5 0x100000
1221 #define WGL_SWAP_UNDERLAY6 0x200000
1222 #define WGL_SWAP_UNDERLAY7 0x400000
1223 #define WGL_SWAP_UNDERLAY8 0x800000
1224 #define WGL_SWAP_UNDERLAY9 0x1000000
1225 #define WGL_SWAP_UNDERLAY10 0x2000000
1226 #define WGL_SWAP_UNDERLAY11 0x4000000
1227 #define WGL_SWAP_UNDERLAY12 0x8000000
1228 #define WGL_SWAP_UNDERLAY13 0x10000000
1229 #define WGL_SWAP_UNDERLAY14 0x20000000
1230 #define WGL_SWAP_UNDERLAY15 0x40000000
1231 #define AC_SRC_OVER 0
1232 #define LAYOUT_RTL 1 // Right to left
1233 #define LAYOUT_BTT 2 // Bottom to top
1234 #define LAYOUT_VBH 4 // Vertical before horizontal
1235 #define LAYOUT_ORIENTATIONMASK (LAYOUT_RTL | LAYOUT_BTT | LAYOUT_VBH)
1236 #define LAYOUT_BITMAPORIENTATIONPRESERVED 8
1237 #if (WINVER > 0x400)
1238 #define CS_ENABLE 0x00000001
1239 #define CS_DISABLE 0x00000002
1240 #define CS_DELETE_TRANSFORM 0x00000003
1241 #endif
1242
1243
1244
1245 #if (WINVER > 0x500)
1246 #define GRADIENT_FILL_RECT_H 0x00
1247 #define GRADIENT_FILL_RECT_V 0x01
1248 #define GRADIENT_FILL_TRIANGLE 0x02
1249 #define GRADIENT_FILL_OP_FLAG 0xff
1250 #define COLORMATCHTOTARGET_EMBEDED 0x00000001
1251 #define CREATECOLORSPACE_EMBEDED 0x00000001
1252 #define SETICMPROFILE_EMBEDED 0x00000001
1253 #endif
1254
1255 #define DISPLAY_DEVICE_ATTACHED_TO_DESKTOP 0x00000001
1256 #define DISPLAY_DEVICE_MULTI_DRIVER 0x00000002
1257 #define DISPLAY_DEVICE_PRIMARY_DEVICE 0x00000004
1258 #define DISPLAY_DEVICE_MIRRORING_DRIVER 0x00000008
1259 #define DISPLAY_DEVICE_VGA_COMPATIBLE 0x00000010
1260 #define DISPLAY_DEVICE_REMOVABLE 0x00000020
1261 #define DISPLAY_DEVICE_DISCONNECT 0x02000000
1262 #define DISPLAY_DEVICE_REMOTE 0x04000000
1263 #define DISPLAY_DEVICE_MODESPRUNED 0x08000000
1264 #ifndef RC_INVOKED
1265 typedef struct _ABC {
1266 int abcA;
1267 UINT abcB;
1268 int abcC;
1269 } ABC, *PABC, *LPABC;
1270 typedef struct _ABCFLOAT {
1271 FLOAT abcfA;
1272 FLOAT abcfB;
1273 FLOAT abcfC;
1274 } ABCFLOAT, *PABCFLOAT, *LPABCFLOAT;
1275 typedef struct tagBITMAP {
1276 LONG bmType;
1277 LONG bmWidth;
1278 LONG bmHeight;
1279 LONG bmWidthBytes;
1280 WORD bmPlanes;
1281 WORD bmBitsPixel;
1282 LPVOID bmBits;
1283 } BITMAP,*PBITMAP,*LPBITMAP;
1284 typedef struct tagBITMAPCOREHEADER {
1285 DWORD bcSize;
1286 WORD bcWidth;
1287 WORD bcHeight;
1288 WORD bcPlanes;
1289 WORD bcBitCount;
1290 } BITMAPCOREHEADER,*LPBITMAPCOREHEADER,*PBITMAPCOREHEADER;
1291 #include "pshpack1.h"
1292 typedef struct tagRGBTRIPLE {
1293 BYTE rgbtBlue;
1294 BYTE rgbtGreen;
1295 BYTE rgbtRed;
1296 } RGBTRIPLE,*LPRGBTRIPLE;
1297 #include "poppack.h"
1298 #include "pshpack2.h"
1299 typedef struct tagBITMAPFILEHEADER {
1300 WORD bfType;
1301 DWORD bfSize;
1302 WORD bfReserved1;
1303 WORD bfReserved2;
1304 DWORD bfOffBits;
1305 } BITMAPFILEHEADER,*LPBITMAPFILEHEADER,*PBITMAPFILEHEADER;
1306 #include "poppack.h"
1307 typedef struct _BITMAPCOREINFO {
1308 BITMAPCOREHEADER bmciHeader;
1309 RGBTRIPLE bmciColors[1];
1310 } BITMAPCOREINFO,*LPBITMAPCOREINFO,*PBITMAPCOREINFO;
1311 typedef struct tagBITMAPINFOHEADER{
1312 DWORD biSize;
1313 LONG biWidth;
1314 LONG biHeight;
1315 WORD biPlanes;
1316 WORD biBitCount;
1317 DWORD biCompression;
1318 DWORD biSizeImage;
1319 LONG biXPelsPerMeter;
1320 LONG biYPelsPerMeter;
1321 DWORD biClrUsed;
1322 DWORD biClrImportant;
1323 } BITMAPINFOHEADER,*LPBITMAPINFOHEADER,*PBITMAPINFOHEADER;
1324 typedef struct tagRGBQUAD {
1325 BYTE rgbBlue;
1326 BYTE rgbGreen;
1327 BYTE rgbRed;
1328 BYTE rgbReserved;
1329 } RGBQUAD,*LPRGBQUAD;
1330 typedef struct tagBITMAPINFO {
1331 BITMAPINFOHEADER bmiHeader;
1332 RGBQUAD bmiColors[1];
1333 } BITMAPINFO,*LPBITMAPINFO,*PBITMAPINFO;
1334 typedef long FXPT16DOT16,*LPFXPT16DOT16;
1335 typedef long FXPT2DOT30,*LPFXPT2DOT30;
1336 typedef struct tagCIEXYZ {
1337 FXPT2DOT30 ciexyzX;
1338 FXPT2DOT30 ciexyzY;
1339 FXPT2DOT30 ciexyzZ;
1340 } CIEXYZ,*LPCIEXYZ;
1341 typedef struct tagCIEXYZTRIPLE {
1342 CIEXYZ ciexyzRed;
1343 CIEXYZ ciexyzGreen;
1344 CIEXYZ ciexyzBlue;
1345 } CIEXYZTRIPLE,*LPCIEXYZTRIPLE;
1346 typedef struct {
1347 DWORD bV4Size;
1348 LONG bV4Width;
1349 LONG bV4Height;
1350 WORD bV4Planes;
1351 WORD bV4BitCount;
1352 DWORD bV4V4Compression;
1353 DWORD bV4SizeImage;
1354 LONG bV4XPelsPerMeter;
1355 LONG bV4YPelsPerMeter;
1356 DWORD bV4ClrUsed;
1357 DWORD bV4ClrImportant;
1358 DWORD bV4RedMask;
1359 DWORD bV4GreenMask;
1360 DWORD bV4BlueMask;
1361 DWORD bV4AlphaMask;
1362 DWORD bV4CSType;
1363 CIEXYZTRIPLE bV4Endpoints;
1364 DWORD bV4GammaRed;
1365 DWORD bV4GammaGreen;
1366 DWORD bV4GammaBlue;
1367 } BITMAPV4HEADER,*LPBITMAPV4HEADER,*PBITMAPV4HEADER;
1368 #if (WINVER >= 0x500)
1369 typedef struct {
1370 DWORD bV5Size;
1371 LONG bV5Width;
1372 LONG bV5Height;
1373 WORD bV5Planes;
1374 WORD bV5BitCount;
1375 DWORD bV5Compression;
1376 DWORD bV5SizeImage;
1377 LONG bV5XPelsPerMeter;
1378 LONG bV5YPelsPerMeter;
1379 DWORD bV5ClrUsed;
1380 DWORD bV5ClrImportant;
1381 DWORD bV5RedMask;
1382 DWORD bV5GreenMask;
1383 DWORD bV5BlueMask;
1384 DWORD bV5AlphaMask;
1385 DWORD bV5CSType;
1386 CIEXYZTRIPLE bV5Endpoints;
1387 DWORD bV5GammaRed;
1388 DWORD bV5GammaGreen;
1389 DWORD bV5GammaBlue;
1390 DWORD bV5Intent;
1391 DWORD bV5ProfileData;
1392 DWORD bV5ProfileSize;
1393 DWORD bV5Reserved;
1394 } BITMAPV5HEADER,*LPBITMAPV5HEADER,*PBITMAPV5HEADER;
1395 #endif
1396 typedef struct tagFONTSIGNATURE {
1397 DWORD fsUsb[4];
1398 DWORD fsCsb[2];
1399 } FONTSIGNATURE, *PFONTSIGNATURE,*LPFONTSIGNATURE;
1400 typedef struct tagCHARSETINFO {
1401 UINT ciCharset;
1402 UINT ciACP;
1403 FONTSIGNATURE fs;
1404 } CHARSETINFO, *PCHARSETINFO, *LPCHARSETINFO;
1405 typedef struct tagCOLORADJUSTMENT {
1406 WORD caSize;
1407 WORD caFlags;
1408 WORD caIlluminantIndex;
1409 WORD caRedGamma;
1410 WORD caGreenGamma;
1411 WORD caBlueGamma;
1412 WORD caReferenceBlack;
1413 WORD caReferenceWhite;
1414 SHORT caContrast;
1415 SHORT caBrightness;
1416 SHORT caColorfulness;
1417 SHORT caRedGreenTint;
1418 } COLORADJUSTMENT, *PCOLORADJUSTMENT, FAR *LPCOLORADJUSTMENT;
1419 typedef struct _devicemodeA {
1420 BYTE dmDeviceName[CCHDEVICENAME];
1421 WORD dmSpecVersion;
1422 WORD dmDriverVersion;
1423 WORD dmSize;
1424 WORD dmDriverExtra;
1425 DWORD dmFields;
1426 _ANONYMOUS_UNION union {
1427 _ANONYMOUS_STRUCT struct {
1428 short dmOrientation;
1429 short dmPaperSize;
1430 short dmPaperLength;
1431 short dmPaperWidth;
1432 short dmScale;
1433 short dmCopies;
1434 short dmDefaultSource;
1435 short dmPrintQuality;
1436 #ifdef __WINESRC__
1437 } DUMMYSTRUCTNAME1;
1438 #else
1439 } DUMMYSTRUCTNAME;
1440 #endif
1441 POINTL dmPosition;
1442 DWORD dmDisplayOrientation;
1443 DWORD dmDisplayFixedOutput;
1444 #ifdef __WINESRC__
1445 } DUMMYUNIONNAME1;
1446 #else
1447 } DUMMYUNIONNAME;
1448 #endif
1449
1450 short dmColor;
1451 short dmDuplex;
1452 short dmYResolution;
1453 short dmTTOption;
1454 short dmCollate;
1455 BYTE dmFormName[CCHFORMNAME];
1456 WORD dmLogPixels;
1457 DWORD dmBitsPerPel;
1458 DWORD dmPelsWidth;
1459 DWORD dmPelsHeight;
1460 _ANONYMOUS_UNION union {
1461 DWORD dmDisplayFlags;
1462 DWORD dmNup;
1463 } DUMMYUNIONNAME2;
1464 DWORD dmDisplayFrequency;
1465 #if(WINVER >= 0x0400)
1466 DWORD dmICMMethod;
1467 DWORD dmICMIntent;
1468 DWORD dmMediaType;
1469 DWORD dmDitherType;
1470 DWORD dmReserved1;
1471 DWORD dmReserved2;
1472 #if (WINVER >= 0x0500) || (_WIN32_WINNT >= 0x0400)
1473 DWORD dmPanningWidth;
1474 DWORD dmPanningHeight;
1475 #endif
1476 #endif /* WINVER >= 0x0400 */
1477 } DEVMODEA,*LPDEVMODEA,*PDEVMODEA;
1478 typedef struct _devicemodeW {
1479 WCHAR dmDeviceName[CCHDEVICENAME];
1480 WORD dmSpecVersion;
1481 WORD dmDriverVersion;
1482 WORD dmSize;
1483 WORD dmDriverExtra;
1484 DWORD dmFields;
1485 _ANONYMOUS_UNION union {
1486 _ANONYMOUS_STRUCT struct {
1487 short dmOrientation;
1488 short dmPaperSize;
1489 short dmPaperLength;
1490 short dmPaperWidth;
1491 short dmScale;
1492 short dmCopies;
1493 short dmDefaultSource;
1494 short dmPrintQuality;
1495 #ifdef __WINESRC__
1496 } DUMMYSTRUCTNAME1;
1497 #else
1498 } DUMMYSTRUCTNAME;
1499 #endif
1500 POINTL dmPosition;
1501 DWORD dmDisplayOrientation;
1502 DWORD dmDisplayFixedOutput;
1503 #ifdef __WINESRC__
1504 } DUMMYUNIONNAME1;
1505 #else
1506 } DUMMYUNIONNAME;
1507 #endif
1508
1509 short dmColor;
1510 short dmDuplex;
1511 short dmYResolution;
1512 short dmTTOption;
1513 short dmCollate;
1514 WCHAR dmFormName[CCHFORMNAME];
1515 WORD dmLogPixels;
1516 DWORD dmBitsPerPel;
1517 DWORD dmPelsWidth;
1518 DWORD dmPelsHeight;
1519 _ANONYMOUS_UNION union {
1520 DWORD dmDisplayFlags;
1521 DWORD dmNup;
1522 } DUMMYUNIONNAME2;
1523 DWORD dmDisplayFrequency;
1524 #if(WINVER >= 0x0400)
1525 DWORD dmICMMethod;
1526 DWORD dmICMIntent;
1527 DWORD dmMediaType;
1528 DWORD dmDitherType;
1529 DWORD dmReserved1;
1530 DWORD dmReserved2;
1531 #if (WINVER >= 0x0500) || (_WIN32_WINNT >= 0x0400)
1532 DWORD dmPanningWidth;
1533 DWORD dmPanningHeight;
1534 #endif
1535 #endif /* WINVER >= 0x0400 */
1536 } DEVMODEW,*LPDEVMODEW,*PDEVMODEW;
1537 typedef struct tagDIBSECTION {
1538 BITMAP dsBm;
1539 BITMAPINFOHEADER dsBmih;
1540 DWORD dsBitfields[3];
1541 HANDLE dshSection;
1542 DWORD dsOffset;
1543 } DIBSECTION,*PDIBSECTION,*LPDIBSECTION;
1544 typedef struct _DOCINFOA {
1545 int cbSize;
1546 LPCSTR lpszDocName;
1547 LPCSTR lpszOutput;
1548 LPCSTR lpszDatatype;
1549 DWORD fwType;
1550 } DOCINFOA,*LPDOCINFOA;
1551 typedef struct _DOCINFOW {
1552 int cbSize;
1553 LPCWSTR lpszDocName;
1554 LPCWSTR lpszOutput;
1555 LPCWSTR lpszDatatype;
1556 DWORD fwType;
1557 } DOCINFOW,*LPDOCINFOW;
1558 typedef struct tagEMR {
1559 DWORD iType;
1560 DWORD nSize;
1561 } EMR,*PEMR;
1562
1563 #if(WINVER >= 0x0400)
1564 typedef struct tagEMRGLSRECORD {
1565 EMR emr;
1566 DWORD cbData;
1567 BYTE Data[1];
1568 } EMRGLSRECORD, *PEMRGLSRECORD;
1569 typedef struct tagEMRGLSBOUNDEDRECORD {
1570 EMR emr;
1571 RECTL rclBounds;
1572 DWORD cbData;
1573 BYTE Data[1];
1574 } EMRGLSBOUNDEDRECORD, *PEMRGLSBOUNDEDRECORD;
1575 #endif
1576 typedef struct tagEMRANGLEARC {
1577 EMR emr;
1578 POINTL ptlCenter;
1579 DWORD nRadius;
1580 FLOAT eStartAngle;
1581 FLOAT eSweepAngle;
1582 } EMRANGLEARC,*PEMRANGLEARC;
1583 typedef struct tagEMRARC {
1584 EMR emr;
1585 RECTL rclBox;
1586 POINTL ptlStart;
1587 POINTL ptlEnd;
1588 } EMRARC,*PEMRARC,EMRARCTO,*PEMRARCTO,EMRCHORD,*PEMRCHORD,EMRPIE,*PEMRPIE;
1589 typedef struct _XFORM {
1590 FLOAT eM11;
1591 FLOAT eM12;
1592 FLOAT eM21;
1593 FLOAT eM22;
1594 FLOAT eDx;
1595 FLOAT eDy;
1596 } XFORM,*PXFORM,*LPXFORM;
1597 typedef struct tagEMRBITBLT {
1598 EMR emr;
1599 RECTL rclBounds;
1600 LONG xDest;
1601 LONG yDest;
1602 LONG cxDest;
1603 LONG cyDest;
1604 DWORD dwRop;
1605 LONG xSrc;
1606 LONG ySrc;
1607 XFORM xformSrc;
1608 COLORREF crBkColorSrc;
1609 DWORD iUsageSrc;
1610 DWORD offBmiSrc;
1611 DWORD cbBmiSrc;
1612 DWORD offBitsSrc;
1613 DWORD cbBitsSrc;
1614 } EMRBITBLT,*PEMRBITBLT;
1615 typedef struct tagLOGBRUSH {
1616 UINT lbStyle;
1617 COLORREF lbColor;
1618 LONG lbHatch;
1619 } LOGBRUSH,*PLOGBRUSH,*LPLOGBRUSH;
1620 typedef LOGBRUSH PATTERN,*PPATTERN,*LPPATTERN;
1621 typedef struct tagLOGBRUSH32 {
1622 UINT lbStyle;
1623 COLORREF lbColor;
1624 ULONG lbHatch;
1625 } LOGBRUSH32, *PLOGBRUSH32;
1626 typedef struct tagEMRCREATEBRUSHINDIRECT {
1627 EMR emr;
1628 DWORD ihBrush;
1629 LOGBRUSH lb;
1630 } EMRCREATEBRUSHINDIRECT,*PEMRCREATEBRUSHINDIRECT;
1631 typedef LONG LCSCSTYPE;
1632 typedef LONG LCSGAMUTMATCH;
1633 typedef struct tagLOGCOLORSPACEA {
1634 DWORD lcsSignature;
1635 DWORD lcsVersion;
1636 DWORD lcsSize;
1637 LCSCSTYPE lcsCSType;
1638 LCSGAMUTMATCH lcsIntent;
1639 CIEXYZTRIPLE lcsEndpoints;
1640 DWORD lcsGammaRed;
1641 DWORD lcsGammaGreen;
1642 DWORD lcsGammaBlue;
1643 CHAR lcsFilename[MAX_PATH];
1644 } LOGCOLORSPACEA,*LPLOGCOLORSPACEA;
1645 typedef struct tagLOGCOLORSPACEW {
1646 DWORD lcsSignature;
1647 DWORD lcsVersion;
1648 DWORD lcsSize;
1649 LCSCSTYPE lcsCSType;
1650 LCSGAMUTMATCH lcsIntent;
1651 CIEXYZTRIPLE lcsEndpoints;
1652 DWORD lcsGammaRed;
1653 DWORD lcsGammaGreen;
1654 DWORD lcsGammaBlue;
1655 WCHAR lcsFilename[MAX_PATH];
1656 } LOGCOLORSPACEW,*LPLOGCOLORSPACEW;
1657 typedef struct tagEMRCREATECOLORSPACEW {
1658 EMR emr;
1659 DWORD ihCS;
1660 LOGCOLORSPACEW lcs;
1661 DWORD dwFlags;
1662 DWORD cbData;
1663 BYTE Data[1];
1664 } EMRCREATECOLORSPACEW, *PEMRCREATECOLORSPACEW;
1665 typedef struct tagEMRCREATECOLORSPACE {
1666 EMR emr;
1667 DWORD ihCS;
1668 LOGCOLORSPACEA lcs;
1669 } EMRCREATECOLORSPACE,*PEMRCREATECOLORSPACE;
1670 typedef struct tagEMRCREATEDIBPATTERNBRUSHPT {
1671 EMR emr;
1672 DWORD ihBrush;
1673 DWORD iUsage;
1674 DWORD offBmi;
1675 DWORD cbBmi;
1676 DWORD offBits;
1677 DWORD cbBits;
1678 } EMRCREATEDIBPATTERNBRUSHPT,*PEMRCREATEDIBPATTERNBRUSHPT;
1679 typedef struct tagEMRCREATEMONOBRUSH {
1680 EMR emr;
1681 DWORD ihBrush;
1682 DWORD iUsage;
1683 DWORD offBmi;
1684 DWORD cbBmi;
1685 DWORD offBits;
1686 DWORD cbBits;
1687 } EMRCREATEMONOBRUSH,*PEMRCREATEMONOBRUSH;
1688
1689 #ifndef _PALETTEENTRY_DEFINED
1690 #define _PALETTEENTRY_DEFINED
1691 typedef struct tagPALETTEENTRY {
1692 BYTE peRed;
1693 BYTE peGreen;
1694 BYTE peBlue;
1695 BYTE peFlags;
1696 } PALETTEENTRY,*LPPALETTEENTRY,*PPALETTEENTRY;
1697 #endif
1698
1699 #ifndef _LOGPALETTE_DEFINED
1700 #define _LOGPALETTE_DEFINED
1701 typedef struct tagLOGPALETTE {
1702 WORD palVersion;
1703 WORD palNumEntries;
1704 PALETTEENTRY palPalEntry[1];
1705 } LOGPALETTE,*NPLOGPALETTE,*PLOGPALETTE,*LPLOGPALETTE;
1706 #endif
1707
1708 typedef struct tagEMRCREATEPALETTE {
1709 EMR emr;
1710 DWORD ihPal;
1711 LOGPALETTE lgpl;
1712 } EMRCREATEPALETTE,*PEMRCREATEPALETTE;
1713 typedef struct tagLOGPEN {
1714 UINT lopnStyle;
1715 POINT lopnWidth;
1716 COLORREF lopnColor;
1717 } LOGPEN,*PLOGPEN,*LPLOGPEN;
1718 typedef struct tagEMRCREATEPEN {
1719 EMR emr;
1720 DWORD ihPen;
1721 LOGPEN lopn;
1722 } EMRCREATEPEN,*PEMRCREATEPEN;
1723 typedef struct tagEMRELLIPSE {
1724 EMR emr;
1725 RECTL rclBox;
1726 } EMRELLIPSE,*PEMRELLIPSE,EMRRECTANGLE,*PEMRRECTANGLE;
1727 typedef struct tagEMREOF {
1728 EMR emr;
1729 DWORD nPalEntries;
1730 DWORD offPalEntries;
1731 DWORD nSizeLast;
1732 } EMREOF,*PEMREOF;
1733 typedef struct tagEMREXCLUDECLIPRECT {
1734 EMR emr;
1735 RECTL rclClip;
1736 } EMREXCLUDECLIPRECT,*PEMREXCLUDECLIPRECT,EMRINTERSECTCLIPRECT,*PEMRINTERSECTCLIPRECT;
1737 typedef struct tagPANOSE {
1738 BYTE bFamilyType;
1739 BYTE bSerifStyle;
1740 BYTE bWeight;
1741 BYTE bProportion;
1742 BYTE bContrast;
1743 BYTE bStrokeVariation;
1744 BYTE bArmStyle;
1745 BYTE bLetterform;
1746 BYTE bMidline;
1747 BYTE bXHeight;
1748 } PANOSE, *LPPANOSE;
1749 typedef struct tagLOGFONTA {
1750 LONG lfHeight;
1751 LONG lfWidth;
1752 LONG lfEscapement;
1753 LONG lfOrientation;
1754 LONG lfWeight;
1755 BYTE lfItalic;
1756 BYTE lfUnderline;
1757 BYTE lfStrikeOut;
1758 BYTE lfCharSet;
1759 BYTE lfOutPrecision;
1760 BYTE lfClipPrecision;
1761 BYTE lfQuality;
1762 BYTE lfPitchAndFamily;
1763 CHAR lfFaceName[LF_FACESIZE];
1764 } LOGFONTA,*PLOGFONTA,*LPLOGFONTA;
1765 typedef struct tagLOGFONTW {
1766 LONG lfHeight;
1767 LONG lfWidth;
1768 LONG lfEscapement;
1769 LONG lfOrientation;
1770 LONG lfWeight;
1771 BYTE lfItalic;
1772 BYTE lfUnderline;
1773 BYTE lfStrikeOut;
1774 BYTE lfCharSet;
1775 BYTE lfOutPrecision;
1776 BYTE lfClipPrecision;
1777 BYTE lfQuality;
1778 BYTE lfPitchAndFamily;
1779 WCHAR lfFaceName[LF_FACESIZE];
1780 } LOGFONTW,*PLOGFONTW,*LPLOGFONTW;
1781 typedef struct tagEXTLOGFONTA {
1782 LOGFONTA elfLogFont;
1783 BYTE elfFullName[LF_FULLFACESIZE];
1784 BYTE elfStyle[LF_FACESIZE];
1785 DWORD elfVersion;
1786 DWORD elfStyleSize;
1787 DWORD elfMatch;
1788 DWORD elfReserved;
1789 BYTE elfVendorId[ELF_VENDOR_SIZE];
1790 DWORD elfCulture;
1791 PANOSE elfPanose;
1792 } EXTLOGFONTA,*PEXTLOGFONTA,*LPEXTLOGFONTA;
1793 typedef struct tagEXTLOGFONTW {
1794 LOGFONTW elfLogFont;
1795 WCHAR elfFullName[LF_FULLFACESIZE];
1796 WCHAR elfStyle[LF_FACESIZE];
1797 DWORD elfVersion;
1798 DWORD elfStyleSize;
1799 DWORD elfMatch;
1800 DWORD elfReserved;
1801 BYTE elfVendorId[ELF_VENDOR_SIZE];
1802 DWORD elfCulture;
1803 PANOSE elfPanose;
1804 } EXTLOGFONTW,*PEXTLOGFONTW,*LPEXTLOGFONTW;
1805 typedef struct tagEMREXTCREATEFONTINDIRECTW {
1806 EMR emr;
1807 DWORD ihFont;
1808 EXTLOGFONTW elfw;
1809 } EMREXTCREATEFONTINDIRECTW,*PEMREXTCREATEFONTINDIRECTW;
1810 typedef struct tagEXTLOGPEN {
1811 UINT elpPenStyle;
1812 UINT elpWidth;
1813 UINT elpBrushStyle;
1814 COLORREF elpColor;
1815 LONG elpHatch;
1816 DWORD elpNumEntries;
1817 DWORD elpStyleEntry[1];
1818 } EXTLOGPEN,*PEXTLOGPEN,*LPEXTLOGPEN,*NPEXTLOGPEN;
1819 typedef struct tagEMREXTCREATEPEN {
1820 EMR emr;
1821 DWORD ihPen;
1822 DWORD offBmi;
1823 DWORD cbBmi;
1824 DWORD offBits;
1825 DWORD cbBits;
1826 EXTLOGPEN elp;
1827 } EMREXTCREATEPEN,*PEMREXTCREATEPEN;
1828 typedef struct tagEMREXTFLOODFILL {
1829 EMR emr;
1830 POINTL ptlStart;
1831 COLORREF crColor;
1832 DWORD iMode;
1833 } EMREXTFLOODFILL,*PEMREXTFLOODFILL;
1834 typedef struct tagEMREXTSELECTCLIPRGN {
1835 EMR emr;
1836 DWORD cbRgnData;
1837 DWORD iMode;
1838 BYTE RgnData[1];
1839 } EMREXTSELECTCLIPRGN,*PEMREXTSELECTCLIPRGN;
1840 typedef struct tagEMRTEXT {
1841 POINTL ptlReference;
1842 DWORD nChars;
1843 DWORD offString;
1844 DWORD fOptions;
1845 RECTL rcl;
1846 DWORD offDx;
1847 } EMRTEXT,*PEMRTEXT;
1848 typedef struct tagEMREXTTEXTOUTA {
1849 EMR emr;
1850 RECTL rclBounds;
1851 DWORD iGraphicsMode;
1852 FLOAT exScale;
1853 FLOAT eyScale;
1854 EMRTEXT emrtext;
1855 } EMREXTTEXTOUTA,*PEMREXTTEXTOUTA,EMREXTTEXTOUTW,*PEMREXTTEXTOUTW;
1856 typedef struct tagEMRFILLPATH {
1857 EMR emr;
1858 RECTL rclBounds;
1859 } EMRFILLPATH,*PEMRFILLPATH,EMRSTROKEANDFILLPATH,*PEMRSTROKEANDFILLPATH,EMRSTROKEPATH,*PEMRSTROKEPATH;
1860 typedef struct tagEMRFILLRGN {
1861 EMR emr;
1862 RECTL rclBounds;
1863 DWORD cbRgnData;
1864 DWORD ihBrush;
1865 BYTE RgnData[1];
1866 } EMRFILLRGN,*PEMRFILLRGN;
1867 typedef struct tagEMRFORMAT {
1868 DWORD dSignature;
1869 DWORD nVersion;
1870 DWORD cbData;
1871 DWORD offData;
1872 } EMRFORMAT, *PEMRFORMAT;
1873
1874
1875 typedef struct tagEMRSETCOLORSPACE
1876 {
1877 EMR emr;
1878 DWORD ihCS;
1879 } EMRSETCOLORSPACE, *PEMRSETCOLORSPACE, EMRSELECTCOLORSPACE, *PEMRSELECTCOLORSPACE,
1880 EMRDELETECOLORSPACE, *PEMRDELETECOLORSPACE;
1881
1882 typedef struct tagEMRFRAMERGN {
1883 EMR emr;
1884 RECTL rclBounds;
1885 DWORD cbRgnData;
1886 DWORD ihBrush;
1887 SIZEL szlStroke;
1888 BYTE RgnData[1];
1889 } EMRFRAMERGN,*PEMRFRAMERGN;
1890 typedef struct tagEMRGDICOMMENT {
1891 EMR emr;
1892 DWORD cbData;
1893 BYTE Data[1];
1894 } EMRGDICOMMENT,*PEMRGDICOMMENT;
1895 typedef struct tagEMRINVERTRGN {
1896 EMR emr;
1897 RECTL rclBounds;
1898 DWORD cbRgnData;
1899 BYTE RgnData[1];
1900 } EMRINVERTRGN,*PEMRINVERTRGN,EMRPAINTRGN,*PEMRPAINTRGN;
1901 typedef struct tagEMRLINETO {
1902 EMR emr;
1903 POINTL ptl;
1904 } EMRLINETO,*PEMRLINETO,EMRMOVETOEX,*PEMRMOVETOEX;
1905 typedef struct tagEMRMASKBLT {
1906 EMR emr;
1907 RECTL rclBounds;
1908 LONG xDest;
1909 LONG yDest;
1910 LONG cxDest;
1911 LONG cyDest;
1912 DWORD dwRop;
1913 LONG xSrc;
1914 LONG ySrc;
1915 XFORM xformSrc;
1916 COLORREF crBkColorSrc;
1917 DWORD iUsageSrc;
1918 DWORD offBmiSrc;
1919 DWORD cbBmiSrc;
1920 DWORD offBitsSrc;
1921 DWORD cbBitsSrc;
1922 LONG xMask;
1923 LONG yMask;
1924 DWORD iUsageMask;
1925 DWORD offBmiMask;
1926 DWORD cbBmiMask;
1927 DWORD offBitsMask;
1928 DWORD cbBitsMask;
1929 } EMRMASKBLT,*PEMRMASKBLT;
1930 typedef struct tagEMRMODIFYWORLDTRANSFORM {
1931 EMR emr;
1932 XFORM xform;
1933 DWORD iMode;
1934 } EMRMODIFYWORLDTRANSFORM,*PEMRMODIFYWORLDTRANSFORM;
1935 typedef struct tagEMROFFSETCLIPRGN {
1936 EMR emr;
1937 POINTL ptlOffset;
1938 } EMROFFSETCLIPRGN,*PEMROFFSETCLIPRGN;
1939 typedef struct tagEMRPLGBLT {
1940 EMR emr;
1941 RECTL rclBounds;
1942 POINTL aptlDest[3];
1943 LONG xSrc;
1944 LONG ySrc;
1945 LONG cxSrc;
1946 LONG cySrc;
1947 XFORM xformSrc;
1948 COLORREF crBkColorSrc;
1949 DWORD iUsageSrc;
1950 DWORD offBmiSrc;
1951 DWORD cbBmiSrc;
1952 DWORD offBitsSrc;
1953 DWORD cbBitsSrc;
1954 LONG xMask;
1955 LONG yMask;
1956 DWORD iUsageMask;
1957 DWORD offBmiMask;
1958 DWORD cbBmiMask;
1959 DWORD offBitsMask;
1960 DWORD cbBitsMask;
1961 } EMRPLGBLT,*PEMRPLGBLT;
1962 typedef struct tagEMRPOLYDRAW {
1963 EMR emr;
1964 RECTL rclBounds;
1965 DWORD cptl;
1966 POINTL aptl[1];
1967 BYTE abTypes[1];
1968 } EMRPOLYDRAW,*PEMRPOLYDRAW;
1969 typedef struct tagEMRPOLYDRAW16 {
1970 EMR emr;
1971 RECTL rclBounds;
1972 DWORD cpts;
1973 POINTS apts[1];
1974 BYTE abTypes[1];
1975 } EMRPOLYDRAW16,*PEMRPOLYDRAW16;
1976 typedef struct tagEMRPOLYLINE {
1977 EMR emr;
1978 RECTL rclBounds;
1979 DWORD cptl;
1980 POINTL aptl[1];
1981 } EMRPOLYLINE,*PEMRPOLYLINE,EMRPOLYBEZIER,*PEMRPOLYBEZIER,EMRPOLYGON,*PEMRPOLYGON,EMRPOLYBEZIERTO,*PEMRPOLYBEZIERTO,EMRPOLYLINETO,*PEMRPOLYLINETO;
1982 typedef struct tagEMRPOLYLINE16 {
1983 EMR emr;
1984 RECTL rclBounds;
1985 DWORD cpts;
1986 POINTS apts[1];
1987 } EMRPOLYLINE16,*PEMRPOLYLINE16,EMRPOLYBEZIER16,*PEMRPOLYBEZIER16,EMRPOLYGON16,*PEMRPOLYGON16,EMRPOLYBEZIERTO16,*PEMRPOLYBEZIERTO16,EMRPOLYLINETO16,*PEMRPOLYLINETO16;
1988 typedef struct tagEMRPOLYPOLYLINE {
1989 EMR emr;
1990 RECTL rclBounds;
1991 DWORD nPolys;
1992 DWORD cptl;
1993 DWORD aPolyCounts[1];
1994 POINTL aptl[1];
1995 } EMRPOLYPOLYLINE,*PEMRPOLYPOLYLINE,EMRPOLYPOLYGON,*PEMRPOLYPOLYGON;
1996 typedef struct tagEMRPOLYPOLYLINE16 {
1997 EMR emr;
1998 RECTL rclBounds;
1999 DWORD nPolys;
2000 DWORD cpts;
2001 DWORD aPolyCounts[1];
2002 POINTS apts[1];
2003 } EMRPOLYPOLYLINE16,*PEMRPOLYPOLYLINE16,EMRPOLYPOLYGON16,*PEMRPOLYPOLYGON16;
2004 typedef struct tagEMRPOLYTEXTOUTA {
2005 EMR emr;
2006 RECTL rclBounds;
2007 DWORD iGraphicsMode;
2008 FLOAT exScale;
2009 FLOAT eyScale;
2010 LONG cStrings;
2011 EMRTEXT aemrtext[1];
2012 } EMRPOLYTEXTOUTA,*PEMRPOLYTEXTOUTA,EMRPOLYTEXTOUTW,*PEMRPOLYTEXTOUTW;
2013 typedef struct tagEMRRESIZEPALETTE {
2014 EMR emr;
2015 DWORD ihPal;
2016 DWORD cEntries;
2017 } EMRRESIZEPALETTE,*PEMRRESIZEPALETTE;
2018 typedef struct tagEMRRESTOREDC {
2019 EMR emr;
2020 LONG iRelative;
2021 } EMRRESTOREDC,*PEMRRESTOREDC;
2022 typedef struct tagEMRROUNDRECT {
2023 EMR emr;
2024 RECTL rclBox;
2025 SIZEL szlCorner;
2026 } EMRROUNDRECT,*PEMRROUNDRECT;
2027 typedef struct tagEMRSCALEVIEWPORTEXTEX {
2028 EMR emr;
2029 LONG xNum;
2030 LONG xDenom;
2031 LONG yNum;
2032 LONG yDenom;
2033 } EMRSCALEVIEWPORTEXTEX,*PEMRSCALEVIEWPORTEXTEX,EMRSCALEWINDOWEXTEX,*PEMRSCALEWINDOWEXTEX;
2034
2035
2036 typedef struct tagEMRSELECTOBJECT {
2037 EMR emr;
2038 DWORD ihObject;
2039 } EMRSELECTOBJECT,*PEMRSELECTOBJECT,EMRDELETEOBJECT,*PEMRDELETEOBJECT;
2040 typedef struct tagEMRSELECTPALETTE {
2041 EMR emr;
2042 DWORD ihPal;
2043 } EMRSELECTPALETTE,*PEMRSELECTPALETTE;
2044 typedef struct tagEMRSETARCDIRECTION {
2045 EMR emr;
2046 DWORD iArcDirection;
2047 } EMRSETARCDIRECTION,*PEMRSETARCDIRECTION;
2048 typedef struct tagEMRSETTEXTCOLOR {
2049 EMR emr;
2050 COLORREF crColor;
2051 } EMRSETBKCOLOR,*PEMRSETBKCOLOR,EMRSETTEXTCOLOR,*PEMRSETTEXTCOLOR;
2052 typedef struct tagEMRSETCOLORADJUSTMENT {
2053 EMR emr;
2054 COLORADJUSTMENT ColorAdjustment;
2055 } EMRSETCOLORADJUSTMENT,*PEMRSETCOLORADJUSTMENT;
2056 typedef struct tagEMRSETDIBITSTODEVICE {
2057 EMR emr;
2058 RECTL rclBounds;
2059 LONG xDest;
2060 LONG yDest;
2061 LONG xSrc;
2062 LONG ySrc;
2063 LONG cxSrc;
2064 LONG cySrc;
2065 DWORD offBmiSrc;
2066 DWORD cbBmiSrc;
2067 DWORD offBitsSrc;
2068 DWORD cbBitsSrc;
2069 DWORD iUsageSrc;
2070 DWORD iStartScan;
2071 DWORD cScans;
2072 } EMRSETDIBITSTODEVICE,*PEMRSETDIBITSTODEVICE;
2073 typedef struct tagEMRSETMAPPERFLAGS {
2074 EMR emr;
2075 DWORD dwFlags;
2076 } EMRSETMAPPERFLAGS,*PEMRSETMAPPERFLAGS;
2077 typedef struct tagEMRSETMITERLIMIT {
2078 EMR emr;
2079 FLOAT eMiterLimit;
2080 } EMRSETMITERLIMIT,*PEMRSETMITERLIMIT;
2081 typedef struct tagEMRSETPALETTEENTRIES {
2082 EMR emr;
2083 DWORD ihPal;
2084 DWORD iStart;
2085 DWORD cEntries;
2086 PALETTEENTRY aPalEntries[1];
2087 } EMRSETPALETTEENTRIES,*PEMRSETPALETTEENTRIES;
2088 typedef struct tagEMRSETPIXELV {
2089 EMR emr;
2090 POINTL ptlPixel;
2091 COLORREF crColor;
2092 } EMRSETPIXELV,*PEMRSETPIXELV;
2093 typedef struct tagEMRSETVIEWPORTEXTEX {
2094 EMR emr;
2095 SIZEL szlExtent;
2096 } EMRSETVIEWPORTEXTEX,*PEMRSETVIEWPORTEXTEX,EMRSETWINDOWEXTEX,*PEMRSETWINDOWEXTEX;
2097 typedef struct tagEMRSETVIEWPORTORGEX {
2098 EMR emr;
2099 POINTL ptlOrigin;
2100 } EMRSETVIEWPORTORGEX,*PEMRSETVIEWPORTORGEX,EMRSETWINDOWORGEX,*PEMRSETWINDOWORGEX,EMRSETBRUSHORGEX,*PEMRSETBRUSHORGEX;
2101 typedef struct tagEMRSETWORLDTRANSFORM {
2102 EMR emr;
2103 XFORM xform;
2104 } EMRSETWORLDTRANSFORM,*PEMRSETWORLDTRANSFORM;
2105 typedef struct tagEMRSTRETCHBLT {
2106 EMR emr;
2107 RECTL rclBounds;
2108 LONG xDest;
2109 LONG yDest;
2110 LONG cxDest;
2111 LONG cyDest;
2112 DWORD dwRop;
2113 LONG xSrc;
2114 LONG ySrc;
2115 XFORM xformSrc;
2116 COLORREF crBkColorSrc;
2117 DWORD iUsageSrc;
2118 DWORD offBmiSrc;
2119 DWORD cbBmiSrc;
2120 DWORD offBitsSrc;
2121 DWORD cbBitsSrc;
2122 LONG cxSrc;
2123 LONG cySrc;
2124 } EMRSTRETCHBLT,*PEMRSTRETCHBLT;
2125 typedef struct tagEMRSTRETCHDIBITS {
2126 EMR emr;
2127 RECTL rclBounds;
2128 LONG xDest;
2129 LONG yDest;
2130 LONG xSrc;
2131 LONG ySrc;
2132 LONG cxSrc;
2133 LONG cySrc;
2134 DWORD offBmiSrc;
2135 DWORD cbBmiSrc;
2136 DWORD offBitsSrc;
2137 DWORD cbBitsSrc;
2138 DWORD iUsageSrc;
2139 DWORD dwRop;
2140 LONG cxDest;
2141 LONG cyDest;
2142 } EMRSTRETCHDIBITS,*PEMRSTRETCHDIBITS;
2143 typedef struct tagABORTPATH {
2144 EMR emr;
2145 } EMRABORTPATH,*PEMRABORTPATH,EMRBEGINPATH,*PEMRBEGINPATH,EMRENDPATH,*PEMRENDPATH,EMRCLOSEFIGURE,*PEMRCLOSEFIGURE,EMRFLATTENPATH,*PEMRFLATTENPATH,EMRWIDENPATH,*PEMRWIDENPATH,EMRSETMETARGN,*PEMRSETMETARGN,EMRSAVEDC,*PEMRSAVEDC,EMRREALIZEPALETTE,*PEMRREALIZEPALETTE;
2146 typedef struct tagEMRSELECTCLIPPATH {
2147 EMR emr;
2148 DWORD iMode;
2149 } EMRSELECTCLIPPATH,*PEMRSELECTCLIPPATH, EMRSETBKMODE,*PEMRSETBKMODE, EMRSETMAPMODE, *PEMRSETMAPMODE,
2150 EMRSETPOLYFILLMODE, *PEMRSETPOLYFILLMODE, EMRSETROP2, *PEMRSETROP2, EMRSETSTRETCHBLTMODE, *PEMRSETSTRETCHBLTMODE,
2151 EMRSETICMMODE, *PEMRSETICMMODE, EMRSETTEXTALIGN,
2152 #if(WINVER >= 0x0500)
2153 EMRSETLAYOUT, *PEMRSETLAYOUT,
2154 #endif
2155 *PEMRSETTEXTALIGN;
2156
2157 #include "pshpack2.h"
2158 typedef struct tagMETAHEADER {
2159 WORD mtType;
2160 WORD mtHeaderSize;
2161 WORD mtVersion;
2162 DWORD mtSize;
2163 WORD mtNoObjects;
2164 DWORD mtMaxRecord;
2165 WORD mtNoParameters;
2166 } METAHEADER,*PMETAHEADER,*LPMETAHEADER;
2167 #include "poppack.h"
2168 typedef struct tagENHMETAHEADER {
2169 DWORD iType;
2170 DWORD nSize;
2171 RECTL rclBounds;
2172 RECTL rclFrame;
2173 DWORD dSignature;
2174 DWORD nVersion;
2175 DWORD nBytes;
2176 DWORD nRecords;
2177 WORD nHandles;
2178 WORD sReserved;
2179 DWORD nDescription;
2180 DWORD offDescription;
2181 DWORD nPalEntries;
2182 SIZEL szlDevice;
2183 SIZEL szlMillimeters;
2184 #if (WINVER >= 0x0400)
2185 DWORD cbPixelFormat;
2186 DWORD offPixelFormat;
2187 DWORD bOpenGL;
2188 #endif
2189 #if (WINVER >= 0x0500)
2190 SIZEL szlMicrometers;
2191 #endif
2192 } ENHMETAHEADER,*PENHMETAHEADER,*LPENHMETAHEADER;
2193 typedef struct tagMETARECORD {
2194 DWORD rdSize;
2195 WORD rdFunction;
2196 WORD rdParm[1];
2197 } METARECORD,*PMETARECORD,*LPMETARECORD;
2198 typedef struct tagENHMETARECORD {
2199 DWORD iType;
2200 DWORD nSize;
2201 DWORD dParm[1];
2202 } ENHMETARECORD,*LPENHMETARECORD;
2203 typedef struct tagHANDLETABLE {
2204 HGDIOBJ objectHandle[1];
2205 } HANDLETABLE,*PHANDLETABLE, *LPHANDLETABLE;
2206
2207 #ifndef _TEXTMETRIC_DEFINED
2208 #define _TEXTMETRIC_DEFINED
2209 typedef struct tagTEXTMETRICA {
2210 LONG tmHeight;
2211 LONG tmAscent;
2212 LONG tmDescent;
2213 LONG tmInternalLeading;
2214 LONG tmExternalLeading;
2215 LONG tmAveCharWidth;
2216 LONG tmMaxCharWidth;
2217 LONG tmWeight;
2218 LONG tmOverhang;
2219 LONG tmDigitizedAspectX;
2220 LONG tmDigitizedAspectY;
2221 BYTE tmFirstChar;
2222 BYTE tmLastChar;
2223 BYTE tmDefaultChar;
2224 BYTE tmBreakChar;
2225 BYTE tmItalic;
2226 BYTE tmUnderlined;
2227 BYTE tmStruckOut;
2228 BYTE tmPitchAndFamily;
2229 BYTE tmCharSet;
2230 } TEXTMETRICA,*PTEXTMETRICA,*LPTEXTMETRICA;
2231 typedef struct tagTEXTMETRICW {
2232 LONG tmHeight;
2233 LONG tmAscent;
2234 LONG tmDescent;
2235 LONG tmInternalLeading;
2236 LONG tmExternalLeading;
2237 LONG tmAveCharWidth;
2238 LONG tmMaxCharWidth;
2239 LONG tmWeight;
2240 LONG tmOverhang;
2241 LONG tmDigitizedAspectX;
2242 LONG tmDigitizedAspectY;
2243 WCHAR tmFirstChar;
2244 WCHAR tmLastChar;
2245 WCHAR tmDefaultChar;
2246 WCHAR tmBreakChar;
2247 BYTE tmItalic;
2248 BYTE tmUnderlined;
2249 BYTE tmStruckOut;
2250 BYTE tmPitchAndFamily;
2251 BYTE tmCharSet;
2252 } TEXTMETRICW,*PTEXTMETRICW,*LPTEXTMETRICW;
2253 #endif
2254
2255 typedef struct _RGNDATAHEADER {
2256 DWORD dwSize;
2257 DWORD iType;
2258 DWORD nCount;
2259 DWORD nRgnSize;
2260 RECT rcBound;
2261 } RGNDATAHEADER, *PRGNDATAHEADER;
2262 typedef struct _RGNDATA {
2263 RGNDATAHEADER rdh;
2264 char Buffer[1];
2265 } RGNDATA,*PRGNDATA, *LPRGNDATA;
2266 /* for GetRandomRgn */
2267 #define SYSRGN 4
2268 typedef struct tagGCP_RESULTSA {
2269 DWORD lStructSize;
2270 LPSTR lpOutString;
2271 UINT *lpOrder;
2272 INT *lpDx;
2273 INT *lpCaretPos;
2274 LPSTR lpClass;
2275 LPWSTR lpGlyphs;
2276 UINT nGlyphs;
2277 UINT nMaxFit;
2278 } GCP_RESULTSA,*LPGCP_RESULTSA;
2279 typedef struct tagGCP_RESULTSW {
2280 DWORD lStructSize;
2281 LPWSTR lpOutString;
2282 UINT *lpOrder;
2283 INT *lpDx;
2284 INT *lpCaretPos;
2285 LPWSTR lpClass;
2286 LPWSTR lpGlyphs;
2287 UINT nGlyphs;
2288 UINT nMaxFit;
2289 } GCP_RESULTSW,*LPGCP_RESULTSW;
2290 typedef struct _GLYPHMETRICS {
2291 UINT gmBlackBoxX;
2292 UINT gmBlackBoxY;
2293 POINT gmptGlyphOrigin;
2294 short gmCellIncX;
2295 short gmCellIncY;
2296 } GLYPHMETRICS,*LPGLYPHMETRICS;
2297 #if (_WIN32_WINNT >= 0x0500)
2298 typedef struct tagWCRANGE
2299 {
2300 WCHAR wcLow;
2301 USHORT cGlyphs;
2302 } WCRANGE, *PWCRANGE, *LPWCRANGE;
2303 typedef struct tagGLYPHSET
2304 {
2305 DWORD cbThis;
2306 DWORD flAccel;
2307 DWORD cGlyphsSupported;
2308 DWORD cRanges;
2309 WCRANGE ranges[1];
2310 } GLYPHSET, *PGLYPHSET, *LPGLYPHSET;
2311 #endif
2312 typedef struct tagKERNINGPAIR {
2313 WORD wFirst;
2314 WORD wSecond;
2315 int iKernAmount;
2316 } KERNINGPAIR,*LPKERNINGPAIR;
2317 typedef struct _FIXED {
2318 WORD fract;
2319 short value;
2320 } FIXED;
2321 typedef struct _MAT2 {
2322 FIXED eM11;
2323 FIXED eM12;
2324 FIXED eM21;
2325 FIXED eM22;
2326 } MAT2,*LPMAT2;
2327 typedef struct _OUTLINETEXTMETRICA {
2328 UINT otmSize;
2329 TEXTMETRICA otmTextMetrics;
2330 BYTE otmFiller;
2331 PANOSE otmPanoseNumber;
2332 UINT otmfsSelection;
2333 UINT otmfsType;
2334 int otmsCharSlopeRise;
2335 int otmsCharSlopeRun;
2336 int otmItalicAngle;
2337 UINT otmEMSquare;
2338 int otmAscent;
2339 int otmDescent;
2340 UINT otmLineGap;
2341 UINT otmsCapEmHeight;
2342 UINT otmsXHeight;
2343 RECT otmrcFontBox;
2344 int otmMacAscent;
2345 int otmMacDescent;
2346 UINT otmMacLineGap;
2347 UINT otmusMinimumPPEM;
2348 POINT otmptSubscriptSize;
2349 POINT otmptSubscriptOffset;
2350 POINT otmptSuperscriptSize;
2351 POINT otmptSuperscriptOffset;
2352 UINT otmsStrikeoutSize;
2353 int otmsStrikeoutPosition;
2354 int otmsUnderscoreSize;
2355 int otmsUnderscorePosition;
2356 PSTR otmpFamilyName;
2357 PSTR otmpFaceName;
2358 PSTR otmpStyleName;
2359 PSTR otmpFullName;
2360 } OUTLINETEXTMETRICA,*POUTLINETEXTMETRICA,*LPOUTLINETEXTMETRICA;
2361 typedef struct _OUTLINETEXTMETRICW {
2362 UINT otmSize;
2363 TEXTMETRICW otmTextMetrics;
2364 BYTE otmFiller;
2365 PANOSE otmPanoseNumber;
2366 UINT otmfsSelection;
2367 UINT otmfsType;
2368 int otmsCharSlopeRise;
2369 int otmsCharSlopeRun;
2370 int otmItalicAngle;
2371 UINT otmEMSquare;
2372 int otmAscent;
2373 int otmDescent;
2374 UINT otmLineGap;
2375 UINT otmsCapEmHeight;
2376 UINT otmsXHeight;
2377 RECT otmrcFontBox;
2378 int otmMacAscent;
2379 int otmMacDescent;
2380 UINT otmMacLineGap;
2381 UINT otmusMinimumPPEM;
2382 POINT otmptSubscriptSize;
2383 POINT otmptSubscriptOffset;
2384 POINT otmptSuperscriptSize;
2385 POINT otmptSuperscriptOffset;
2386 UINT otmsStrikeoutSize;
2387 int otmsStrikeoutPosition;
2388 int otmsUnderscoreSize;
2389 int otmsUnderscorePosition;
2390 PSTR otmpFamilyName;
2391 PSTR otmpFaceName;
2392 PSTR otmpStyleName;
2393 PSTR otmpFullName;
2394 } OUTLINETEXTMETRICW,*POUTLINETEXTMETRICW,*LPOUTLINETEXTMETRICW;
2395 typedef struct _RASTERIZER_STATUS {
2396 short nSize;
2397 short wFlags;
2398 short nLanguageID;
2399 } RASTERIZER_STATUS,*LPRASTERIZER_STATUS;
2400 typedef struct _POLYTEXTA {
2401 int x;
2402 int y;
2403 UINT n;
2404 LPCSTR lpstr;
2405 UINT uiFlags;
2406 RECT rcl;
2407 int *pdx;
2408 } POLYTEXTA, *PPOLYTEXTA, *LPPOLYTEXTA;
2409 typedef struct _POLYTEXTW {
2410 int x;
2411 int y;
2412 UINT n;
2413 LPCWSTR lpstr;
2414 UINT uiFlags;
2415 RECT rcl;
2416 int *pdx;
2417 } POLYTEXTW, *PPOLYTEXTW, *LPPOLYTEXTW;
2418 typedef struct tagPIXELFORMATDESCRIPTOR {
2419 WORD nSize;
2420 WORD nVersion;
2421 DWORD dwFlags;
2422 BYTE iPixelType;
2423 BYTE cColorBits;
2424 BYTE cRedBits;
2425 BYTE cRedShift;
2426 BYTE cGreenBits;
2427 BYTE cGreenShift;
2428 BYTE cBlueBits;
2429 BYTE cBlueShift;
2430 BYTE cAlphaBits;
2431 BYTE cAlphaShift;
2432 BYTE cAccumBits;
2433 BYTE cAccumRedBits;
2434 BYTE cAccumGreenBits;
2435 BYTE cAccumBlueBits;
2436 BYTE cAccumAlphaBits;
2437 BYTE cDepthBits;
2438 BYTE cStencilBits;
2439 BYTE cAuxBuffers;
2440 BYTE iLayerType;
2441 BYTE bReserved;
2442 DWORD dwLayerMask;
2443 DWORD dwVisibleMask;
2444 DWORD dwDamageMask;
2445 } PIXELFORMATDESCRIPTOR,*PPIXELFORMATDESCRIPTOR,*LPPIXELFORMATDESCRIPTOR;
2446
2447 typedef struct tagEMRPIXELFORMAT
2448 {
2449 EMR emr;
2450 PIXELFORMATDESCRIPTOR pfd;
2451 } EMRPIXELFORMAT, *PEMRPIXELFORMAT;
2452
2453 typedef struct tagMETAFILEPICT {
2454 LONG mm;
2455 LONG xExt;
2456 LONG yExt;
2457 HMETAFILE hMF;
2458 } METAFILEPICT,*LPMETAFILEPICT;
2459 typedef struct tagLOCALESIGNATURE {
2460 DWORD lsUsb[4];
2461 DWORD lsCsbDefault[2];
2462 DWORD lsCsbSupported[2];
2463 } LOCALESIGNATURE,*PLOCALESIGNATURE,*LPLOCALESIGNATURE;
2464 typedef LONG LCSTYPE;
2465 #include "pshpack4.h"
2466 typedef struct tagNEWTEXTMETRICA {
2467 LONG tmHeight;
2468 LONG tmAscent;
2469 LONG tmDescent;
2470 LONG tmInternalLeading;
2471 LONG tmExternalLeading;
2472 LONG tmAveCharWidth;
2473 LONG tmMaxCharWidth;
2474 LONG tmWeight;
2475 LONG tmOverhang;
2476 LONG tmDigitizedAspectX;
2477 LONG tmDigitizedAspectY;
2478 BYTE tmFirstChar;
2479 BYTE tmLastChar;
2480 BYTE tmDefaultChar;
2481 BYTE tmBreakChar;
2482 BYTE tmItalic;
2483 BYTE tmUnderlined;
2484 BYTE tmStruckOut;
2485 BYTE tmPitchAndFamily;
2486 BYTE tmCharSet;
2487 DWORD ntmFlags;
2488 UINT ntmSizeEM;
2489 UINT ntmCellHeight;
2490 UINT ntmAvgWidth;
2491 } NEWTEXTMETRICA,*PNEWTEXTMETRICA,*LPNEWTEXTMETRICA;
2492 typedef struct tagNEWTEXTMETRICW {
2493 LONG tmHeight;
2494 LONG tmAscent;
2495 LONG tmDescent;
2496 LONG tmInternalLeading;
2497 LONG tmExternalLeading;
2498 LONG tmAveCharWidth;
2499 LONG tmMaxCharWidth;
2500 LONG tmWeight;
2501 LONG tmOverhang;
2502 LONG tmDigitizedAspectX;
2503 LONG tmDigitizedAspectY;
2504 WCHAR tmFirstChar;
2505 WCHAR tmLastChar;
2506 WCHAR tmDefaultChar;
2507 WCHAR tmBreakChar;
2508 BYTE tmItalic;
2509 BYTE tmUnderlined;
2510 BYTE tmStruckOut;
2511 BYTE tmPitchAndFamily;
2512 BYTE tmCharSet;
2513 DWORD ntmFlags;
2514 UINT ntmSizeEM;
2515 UINT ntmCellHeight;
2516 UINT ntmAvgWidth;
2517 } NEWTEXTMETRICW,*PNEWTEXTMETRICW,*LPNEWTEXTMETRICW;
2518 #include "poppack.h"
2519 typedef struct tagNEWTEXTMETRICEXA {
2520 NEWTEXTMETRICA ntmTm;
2521 FONTSIGNATURE ntmFontSig;
2522 } NEWTEXTMETRICEXA;
2523 typedef struct tagNEWTEXTMETRICEXW {
2524 NEWTEXTMETRICW ntmTm;
2525 FONTSIGNATURE ntmFontSig;
2526 } NEWTEXTMETRICEXW;
2527 typedef struct tagPELARRAY {
2528 LONG paXCount;
2529 LONG paYCount;
2530 LONG paXExt;
2531 LONG paYExt;
2532 BYTE paRGBs;
2533 } PELARRAY,*PPELARRAY,*LPPELARRAY;
2534 typedef struct tagENUMLOGFONTA {
2535 LOGFONTA elfLogFont;
2536 BYTE elfFullName[LF_FULLFACESIZE];
2537 BYTE elfStyle[LF_FACESIZE];
2538 } ENUMLOGFONTA,*LPENUMLOGFONTA;
2539 typedef struct tagENUMLOGFONTW {
2540 LOGFONTW elfLogFont;
2541 WCHAR elfFullName[LF_FULLFACESIZE];
2542 WCHAR elfStyle[LF_FACESIZE];
2543 } ENUMLOGFONTW,*LPENUMLOGFONTW;
2544 typedef struct tagENUMLOGFONTEXA {
2545 LOGFONTA elfLogFont;
2546 BYTE elfFullName[LF_FULLFACESIZE];
2547 BYTE elfStyle[LF_FACESIZE];
2548 BYTE elfScript[LF_FACESIZE];
2549 } ENUMLOGFONTEXA,*LPENUMLOGFONTEXA;
2550 typedef struct tagENUMLOGFONTEXW {
2551 LOGFONTW elfLogFont;
2552 WCHAR elfFullName[LF_FULLFACESIZE];
2553 WCHAR elfStyle[LF_FACESIZE];
2554 WCHAR elfScript[LF_FACESIZE];
2555 } ENUMLOGFONTEXW,*LPENUMLOGFONTEXW;
2556 typedef struct tagPOINTFX {
2557 FIXED x;
2558 FIXED y;
2559 } POINTFX,*LPPOINTFX;
2560 typedef struct tagTTPOLYCURVE {
2561 WORD wType;
2562 WORD cpfx;
2563 POINTFX apfx[1];
2564 } TTPOLYCURVE,*LPTTPOLYCURVE;
2565 typedef struct tagTTPOLYGONHEADER {
2566 DWORD cb;
2567 DWORD dwType;
2568 POINTFX pfxStart;
2569 } TTPOLYGONHEADER,*LPTTPOLYGONHEADER;
2570 typedef struct _POINTFLOAT {
2571 FLOAT x;
2572 FLOAT y;
2573 } POINTFLOAT,*PPOINTFLOAT;
2574 typedef struct _GLYPHMETRICSFLOAT {
2575 FLOAT gmfBlackBoxX;
2576 FLOAT gmfBlackBoxY;
2577 POINTFLOAT gmfptGlyphOrigin;
2578 FLOAT gmfCellIncX;
2579 FLOAT gmfCellIncY;
2580 } GLYPHMETRICSFLOAT,*PGLYPHMETRICSFLOAT,*LPGLYPHMETRICSFLOAT;
2581 typedef struct tagLAYERPLANEDESCRIPTOR {
2582 WORD nSize;
2583 WORD nVersion;
2584 DWORD dwFlags;
2585 BYTE iPixelType;
2586 BYTE cColorBits;
2587 BYTE cRedBits;
2588 BYTE cRedShift;
2589 BYTE cGreenBits;
2590 BYTE cGreenShift;
2591 BYTE cBlueBits;
2592 BYTE cBlueShift;
2593 BYTE cAlphaBits;
2594 BYTE cAlphaShift;
2595 BYTE cAccumBits;
2596 BYTE cAccumRedBits;
2597 BYTE cAccumGreenBits;
2598 BYTE cAccumBlueBits;
2599 BYTE cAccumAlphaBits;
2600 BYTE cDepthBits;
2601 BYTE cStencilBits;
2602 BYTE cAuxBuffers;
2603 BYTE iLayerPlane;
2604 BYTE bReserved;
2605 COLORREF crTransparent;
2606 } LAYERPLANEDESCRIPTOR,*PLAYERPLANEDESCRIPTOR,*LPLAYERPLANEDESCRIPTOR;
2607 typedef struct _BLENDFUNCTION {
2608 BYTE BlendOp;
2609 BYTE BlendFlags;
2610 BYTE SourceConstantAlpha;
2611 BYTE AlphaFormat;
2612 } BLENDFUNCTION,*PBLENDFUNCTION,*LPBLENDFUNCTION;
2613 #define MM_MAX_NUMAXES 16
2614 typedef struct _DESIGNVECTOR {
2615 DWORD dvReserved;
2616 DWORD dvNumAxes;
2617 LONG dvValues[MM_MAX_NUMAXES];
2618 } DESIGNVECTOR, *PDESIGNVECTOR, *LPDESIGNVECTOR;
2619 typedef struct tagENUMLOGFONTEXDVA
2620 {
2621 ENUMLOGFONTEXA elfEnumLogfontEx;
2622 DESIGNVECTOR elfDesignVector;
2623 } ENUMLOGFONTEXDVA, *PENUMLOGFONTEXDVA, *LPENUMLOGFONTEXDVA;
2624 typedef struct tagENUMLOGFONTEXDVW
2625 {
2626 ENUMLOGFONTEXW elfEnumLogfontEx;
2627 DESIGNVECTOR elfDesignVector;
2628 } ENUMLOGFONTEXDVW, *PENUMLOGFONTEXDVW, *LPENUMLOGFONTEXDVW;
2629 typedef USHORT COLOR16;
2630 typedef struct _TRIVERTEX {
2631 LONG x;
2632 LONG y;
2633 COLOR16 Red;
2634 COLOR16 Green;
2635 COLOR16 Blue;
2636 COLOR16 Alpha;
2637 } TRIVERTEX, *PTRIVERTEX, *LPTRIVERTEX;
2638 typedef struct _GRADIENT_TRIANGLE {
2639 ULONG Vertex1;
2640 ULONG Vertex2;
2641 ULONG Vertex3;
2642 } GRADIENT_TRIANGLE,*PGRADIENT_TRIANGLE,*LPGRADIENT_TRIANGLE;
2643 typedef struct _GRADIENT_RECT {
2644 ULONG UpperLeft;
2645 ULONG LowerRight;
2646 }GRADIENT_RECT,*PGRADIENT_RECT,*LPGRADIENT_RECT;
2647 typedef struct _DISPLAY_DEVICEA {
2648 DWORD cb;
2649 CHAR DeviceName[32];
2650 CHAR DeviceString[128];
2651 DWORD StateFlags;
2652 CHAR DeviceID[128];
2653 CHAR DeviceKey[128];
2654 } DISPLAY_DEVICEA, *PDISPLAY_DEVICEA, *LPDISPLAY_DEVICEA;
2655 typedef struct _DISPLAY_DEVICEW {
2656 DWORD cb;
2657 WCHAR DeviceName[32];
2658 WCHAR DeviceString[128];
2659 DWORD StateFlags;
2660 WCHAR DeviceID[128];
2661 WCHAR DeviceKey[128];
2662 } DISPLAY_DEVICEW, *PDISPLAY_DEVICEW, *LPDISPLAY_DEVICEW;
2663 #define MM_MAX_AXES_NAMELEN 16
2664 typedef struct _AXISINFOA
2665 {
2666 LONG axMinValue;
2667 LONG axMaxValue;
2668 BYTE axAxisName[MM_MAX_AXES_NAMELEN];
2669 } AXISINFOA, *PAXISINFOA, *LPAXISINFOA;
2670 typedef struct _AXISINFOW
2671 {
2672 LONG axMinValue;
2673 LONG axMaxValue;
2674 WCHAR axAxisName[MM_MAX_AXES_NAMELEN];
2675 } AXISINFOW, *PAXISINFOW, *LPAXISINFOW;
2676 typedef struct _AXESLISTA
2677 {
2678 DWORD axlReserved;
2679 DWORD axlNumAxes;
2680 AXISINFOA axlAxisInfo[MM_MAX_NUMAXES];
2681 } AXESLISTA, *PAXESLISTA, *LPAXESLISTA;
2682 typedef struct _AXESLISTW
2683 {
2684 DWORD axlReserved;
2685 DWORD axlNumAxes;
2686 AXISINFOW axlAxisInfo[MM_MAX_NUMAXES];
2687 } AXESLISTW, *PAXESLISTW, *LPAXESLISTW;
2688 typedef struct _ENUMTEXTMETRICA
2689 {
2690 NEWTEXTMETRICEXA etmNewTextMetricEx;
2691 AXESLISTA etmAxesList;
2692 } ENUMTEXTMETRICA, *PENUMTEXTMETRICA, *LPENUMTEXTMETRICA;
2693 typedef struct _ENUMTEXTMETRICW
2694 {
2695 NEWTEXTMETRICEXW etmNewTextMetricEx;
2696 AXESLISTW etmAxesList;
2697 } ENUMTEXTMETRICW, *PENUMTEXTMETRICW, *LPENUMTEXTMETRICW;
2698
2699
2700 #if defined(STRICT)
2701
2702 #if !defined(NOTEXTMETRIC)
2703
2704 typedef int (CALLBACK *OLDFONTENUMPROCA)(CONST LOGFONTA *, CONST TEXTMETRICA *, DWORD, LPARAM);
2705 typedef int (CALLBACK *OLDFONTENUMPROCW)(CONST LOGFONTW *, CONST TEXTMETRICW *, DWORD, LPARAM);
2706
2707 #else
2708
2709 typedef int (CALLBACK* OLDFONTENUMPROCA)(CONST LOGFONTA *, CONST VOID *, DWORD, LPARAM);
2710 typedef int (CALLBACK* OLDFONTENUMPROCW)(CONST LOGFONTW *, CONST VOID *, DWORD, LPARAM);
2711
2712 #endif
2713
2714 #ifdef UNICODE
2715 #define OLDFONTENUMPROC OLDFONTENUMPROCW
2716 #else
2717 #define OLDFONTENUMPROC OLDFONTENUMPROCA
2718 #endif
2719
2720 typedef OLDFONTENUMPROCA FONTENUMPROCA;
2721 typedef OLDFONTENUMPROCW FONTENUMPROCW;
2722
2723 #ifdef UNICODE
2724 typedef FONTENUMPROCW FONTENUMPROC;
2725 #else
2726 typedef FONTENUMPROCA FONTENUMPROC;
2727 #endif
2728
2729 typedef INT (CALLBACK *GOBJENUMPROC)(LPVOID, LPARAM);
2730 typedef VOID (CALLBACK *LINEDDAPROC)(INT, INT, LPARAM);
2731
2732 #else // defined(STRICT)
2733
2734 typedef FARPROC OLDFONTENUMPROC;
2735 typedef FARPROC FONTENUMPROCA;
2736 typedef FARPROC FONTENUMPROCW;
2737
2738 #ifdef UNICODE
2739 typedef FONTENUMPROCW FONTENUMPROC;
2740 #else
2741 typedef FONTENUMPROCA FONTENUMPROC;
2742 #endif
2743
2744 typedef FARPROC GOBJENUMPROC;
2745 typedef FARPROC LINEDDAPROC;
2746
2747 #endif
2748
2749
2750 typedef BOOL (CALLBACK *ABORTPROC)(HDC,int);
2751
2752 typedef int (CALLBACK *MFENUMPROC)(HDC,HANDLETABLE*,METARECORD*,int,LPARAM);
2753 typedef int (CALLBACK *ENHMFENUMPROC)(HDC,HANDLETABLE*,const ENHMETARECORD*,int,LPARAM);
2754 typedef int (CALLBACK *ICMENUMPROCA)(LPSTR,LPARAM);
2755 typedef int (CALLBACK *ICMENUMPROCW)(LPWSTR,LPARAM);
2756 typedef UINT (CALLBACK *LPFNDEVMODE)(HWND,HMODULE,LPDEVMODEA,LPSTR,LPSTR,LPDEVMODEA,LPSTR,UINT);
2757 typedef DWORD (CALLBACK *LPFNDEVCAPS)(LPSTR,LPSTR,UINT,LPSTR,LPDEVMODEA);
2758
2759
2760 #define RGB(r,g,b) ((DWORD)(((BYTE)(r)|((WORD)(g)<<8))|(((DWORD)(BYTE)(b))<<16)))
2761 #define MAKEPOINTS(l) (*((POINTS*)&(l)))
2762 #define MAKEROP4(f,b) (DWORD)((((b)<<8)&0xFF000000)|(f))
2763 #define PALETTEINDEX(i) ((0x01000000|(COLORREF)(WORD)(i)))
2764 #define PALETTERGB(r,g,b) (0x02000000|RGB(r,g,b))
2765 int WINAPI AbortDoc(HDC);
2766 BOOL WINAPI AbortPath(HDC);
2767 int WINAPI AddFontResourceA(LPCSTR);
2768 int WINAPI AddFontResourceW(LPCWSTR);
2769 #if (_WIN32_WINNT >= 0x0500)
2770 HANDLE WINAPI AddFontMemResourceEx(PVOID,DWORD,PVOID,DWORD *);
2771 int WINAPI AddFontResourceExA(LPCSTR,DWORD,PVOID);
2772 int WINAPI AddFontResourceExW(LPCWSTR,DWORD,PVOID);
2773 #endif
2774 BOOL WINAPI AngleArc(HDC,int,int,DWORD,FLOAT,FLOAT);
2775 BOOL WINAPI AnimatePalette(HPALETTE,UINT,UINT,const PALETTEENTRY*);
2776 BOOL WINAPI Arc(HDC,int,int,int,int,int,int,int,int);
2777 BOOL WINAPI ArcTo(HDC,int,int,int,int,int,int,int,int);
2778 BOOL WINAPI BeginPath(HDC);
2779 BOOL WINAPI BitBlt(HDC,int,int,int,int,HDC,int,int,DWORD);
2780 BOOL WINAPI CancelDC(HDC);
2781 BOOL WINAPI CheckColorsInGamut(HDC,PVOID,PVOID,DWORD);
2782 BOOL WINAPI Chord(HDC,int,int,int,int,int,int,int,int);
2783 int WINAPI ChoosePixelFormat(HDC,CONST PIXELFORMATDESCRIPTOR*);
2784 HENHMETAFILE WINAPI CloseEnhMetaFile(HDC);
2785 BOOL WINAPI CloseFigure(HDC);
2786 HMETAFILE WINAPI CloseMetaFile(HDC);
2787 BOOL WINAPI ColorMatchToTarget(HDC,HDC,DWORD);
2788 int WINAPI CombineRgn(HRGN,HRGN,HRGN,int);
2789 BOOL WINAPI CombineTransform(LPXFORM,const XFORM*,const XFORM*);
2790 HENHMETAFILE WINAPI CopyEnhMetaFileA(HENHMETAFILE,LPCSTR);
2791 HENHMETAFILE WINAPI CopyEnhMetaFileW(HENHMETAFILE,LPCWSTR);
2792 HMETAFILE WINAPI CopyMetaFileA(HMETAFILE,LPCSTR);
2793 HMETAFILE WINAPI CopyMetaFileW(HMETAFILE,LPCWSTR);
2794 HBITMAP WINAPI CreateBitmap(int,int,UINT,UINT,PCVOID);
2795 HBITMAP WINAPI CreateBitmapIndirect(const BITMAP*);
2796 HBRUSH WINAPI CreateBrushIndirect(const LOGBRUSH*);
2797 HCOLORSPACE WINAPI CreateColorSpaceA(LPLOGCOLORSPACEA);
2798 HCOLORSPACE WINAPI CreateColorSpaceW(LPLOGCOLORSPACEW);
2799 HBITMAP WINAPI CreateCompatibleBitmap(HDC,int,int);
2800 HDC WINAPI CreateCompatibleDC(HDC);
2801 HDC WINAPI CreateDCA(LPCSTR,LPCSTR,LPCSTR,const DEVMODEA*);
2802 HDC WINAPI CreateDCW(LPCWSTR,LPCWSTR,LPCWSTR,const DEVMODEW*);
2803 HBITMAP WINAPI CreateDIBitmap(HDC,const BITMAPINFOHEADER*,DWORD,PCVOID,const BITMAPINFO*,UINT);
2804 HBRUSH WINAPI CreateDIBPatternBrush(HGLOBAL,UINT);
2805 HBRUSH WINAPI CreateDIBPatternBrushPt(PCVOID,UINT);
2806 HBITMAP WINAPI CreateDIBSection(HDC,const BITMAPINFO*,UINT,PVOID*,HANDLE,DWORD);
2807 HBITMAP WINAPI CreateDiscardableBitmap(HDC,int,int);
2808 HRGN WINAPI CreateEllipticRgn(int,int,int,int);
2809 HRGN WINAPI CreateEllipticRgnIndirect(LPCRECT);
2810 HDC WINAPI CreateEnhMetaFileA(HDC,LPCSTR,LPCRECT,LPCSTR);
2811 HDC WINAPI CreateEnhMetaFileW(HDC,LPCWSTR,LPCRECT,LPCWSTR);
2812 HFONT WINAPI CreateFontA(int,int,int,int,int,DWORD,DWORD,DWORD,DWORD,DWORD,DWORD,DWORD,DWORD,LPCSTR);
2813 HFONT WINAPI CreateFontW(int,int,int,int,int,DWORD,DWORD,DWORD,DWORD,DWORD,DWORD,DWORD,DWORD,LPCWSTR);
2814 HFONT WINAPI CreateFontIndirectA(const LOGFONTA*);
2815 HFONT WINAPI CreateFontIndirectW(const LOGFONTW*);
2816 HFONT WINAPI CreateFontIndirectExA(const ENUMLOGFONTEXDVA *);
2817 HFONT WINAPI CreateFontIndirectExW(const ENUMLOGFONTEXDVW *);
2818 HPALETTE WINAPI CreateHalftonePalette(HDC);
2819 HBRUSH WINAPI CreateHatchBrush(int,COLORREF);
2820 HDC WINAPI CreateICA(LPCSTR,LPCSTR,LPCSTR,const DEVMODEA*);
2821 HDC WINAPI CreateICW(LPCWSTR,LPCWSTR,LPCWSTR,const DEVMODEW*);
2822 HDC WINAPI CreateMetaFileA(LPCSTR);
2823 HDC WINAPI CreateMetaFileW(LPCWSTR);
2824 HPALETTE WINAPI CreatePalette(const LOGPALETTE*);
2825 HBRUSH WINAPI CreatePatternBrush(HBITMAP);
2826 HPEN WINAPI CreatePen(int,int,COLORREF);
2827 HPEN WINAPI CreatePenIndirect(const LOGPEN*);
2828 HRGN WINAPI CreatePolygonRgn(const POINT*,int,int);
2829 HRGN WINAPI CreatePolyPolygonRgn(const POINT*,const INT*,int,int);
2830 HRGN WINAPI CreateRectRgn(int,int,int,int);
2831 HRGN WINAPI CreateRectRgnIndirect(LPCRECT);
2832 HRGN WINAPI CreateRoundRectRgn(int,int,int,int,int,int);
2833 BOOL WINAPI CreateScalableFontResourceA(DWORD,LPCSTR,LPCSTR,LPCSTR);
2834 BOOL WINAPI CreateScalableFontResourceW(DWORD,LPCWSTR,LPCWSTR,LPCWSTR);
2835 HBRUSH WINAPI CreateSolidBrush(COLORREF);
2836 BOOL WINAPI DeleteColorSpace(HCOLORSPACE);
2837 BOOL WINAPI DeleteDC(HDC);
2838 BOOL WINAPI DeleteEnhMetaFile(HENHMETAFILE);
2839 BOOL WINAPI DeleteMetaFile(HMETAFILE);
2840 BOOL WINAPI DeleteObject(HGDIOBJ);
2841 int WINAPI DescribePixelFormat(HDC,int,UINT,LPPIXELFORMATDESCRIPTOR);
2842 DWORD WINAPI DeviceCapabilitiesA(LPCSTR,LPCSTR,WORD,LPSTR,const DEVMODEA*);
2843 DWORD WINAPI DeviceCapabilitiesW(LPCWSTR,LPCWSTR,WORD,LPWSTR,const DEVMODEW*);
2844 BOOL WINAPI DPtoLP(HDC,LPPOINT,int);
2845 int WINAPI DrawEscape(HDC,int,int,LPCSTR);
2846 BOOL WINAPI Ellipse(HDC,int,int,int,int);
2847 int WINAPI EndDoc(HDC);
2848 int WINAPI EndPage(HDC);
2849 BOOL WINAPI EndPath(HDC);
2850 BOOL WINAPI EnumEnhMetaFile(HDC,HENHMETAFILE,ENHMFENUMPROC,PVOID,LPCRECT);
2851 int WINAPI EnumFontFamiliesA(HDC,LPCSTR,FONTENUMPROCA,LPARAM);
2852 int WINAPI EnumFontFamiliesW(HDC,LPCWSTR,FONTENUMPROCW,LPARAM);
2853 int WINAPI EnumFontFamiliesExA(HDC,PLOGFONTA,FONTENUMPROCA,LPARAM,DWORD);
2854 int WINAPI EnumFontFamiliesExW(HDC,PLOGFONTW,FONTENUMPROCW,LPARAM,DWORD);
2855 int WINAPI EnumFontsA(HDC,LPCSTR,FONTENUMPROCA,LPARAM);
2856 int WINAPI EnumFontsW(HDC,LPCWSTR,FONTENUMPROCW,LPARAM);
2857 int WINAPI EnumICMProfilesA(HDC,ICMENUMPROCA,LPARAM);
2858 int WINAPI EnumICMProfilesW(HDC,ICMENUMPROCW,LPARAM);
2859 BOOL WINAPI EnumMetaFile(HDC,HMETAFILE,MFENUMPROC,LPARAM);
2860 int WINAPI EnumObjects(HDC,int,GOBJENUMPROC,LPARAM);
2861 BOOL WINAPI EqualRgn(HRGN,HRGN);
2862 int WINAPI Escape(HDC,int,int,LPCSTR,PVOID);
2863 int WINAPI ExcludeClipRect(HDC,int,int,int,int);
2864 int WINAPI ExcludeUpdateRgn(HDC,HWND);
2865 HPEN WINAPI ExtCreatePen(DWORD,DWORD,const LOGBRUSH*,DWORD,const DWORD*);
2866 HRGN WINAPI ExtCreateRegion(const XFORM*,DWORD,const RGNDATA*);
2867 int WINAPI ExtEscape(HDC,int,int,LPCSTR,int,LPSTR);
2868 BOOL WINAPI ExtFloodFill(HDC,int,int,COLORREF,UINT);
2869 int WINAPI ExtSelectClipRgn(HDC,HRGN,int);
2870 BOOL WINAPI ExtTextOutA(HDC,int,int,UINT,LPCRECT,LPCSTR,UINT,const INT*);
2871 BOOL WINAPI ExtTextOutW(HDC,int,int,UINT,LPCRECT,LPCWSTR,UINT,const INT*);
2872 BOOL WINAPI FillPath(HDC);
2873 int WINAPI FillRect(HDC,LPCRECT,HBRUSH);
2874 int WINAPI FillRgn(HDC,HRGN,HBRUSH);
2875 BOOL WINAPI FixBrushOrgEx(HDC,int,int,LPPOINT);
2876 BOOL WINAPI FlattenPath(HDC);
2877 BOOL WINAPI FloodFill(HDC,int,int,COLORREF);
2878 BOOL WINAPI GdiComment(HDC,UINT,const BYTE*);
2879 BOOL WINAPI GdiFlush(void);
2880 DWORD WINAPI GdiGetBatchLimit(void);
2881 DWORD WINAPI GdiSetBatchLimit(DWORD);
2882 #define GetCValue(cmyk) ((BYTE)(cmyk))
2883 #define GetMValue(cmyk) ((BYTE)((cmyk)>> 8))
2884 #define GetYValue(cmyk) ((BYTE)((cmyk)>>16))
2885 #define GetKValue(cmyk) ((BYTE)((cmyk)>>24))
2886 #define CMYK(c,m,y,k) ((COLORREF)((((BYTE)(c)|((WORD)((BYTE)(m))<<8))|(((DWORD)(BYTE)(y))<<16))|(((DWORD)(BYTE)(k))<<24)))
2887 #define GetRValue(c) ((BYTE)(c))
2888 #define GetGValue(c) ((BYTE)(((WORD)(c))>>8))
2889 #define GetBValue(c) ((BYTE)((c)>>16))
2890 int WINAPI GetArcDirection(HDC);
2891 BOOL WINAPI GetAspectRatioFilterEx(HDC,LPSIZE);
2892 LONG WINAPI GetBitmapBits(HBITMAP,LONG,PVOID);
2893 BOOL WINAPI GetBitmapDimensionEx(HBITMAP,LPSIZE);
2894 COLORREF WINAPI GetBkColor(HDC);
2895 int WINAPI GetBkMode(HDC);
2896 UINT WINAPI GetBoundsRect(HDC,LPRECT,UINT);
2897 BOOL WINAPI GetBrushOrgEx(HDC,LPPOINT);
2898 BOOL WINAPI GetCharABCWidthsA(HDC,UINT,UINT,LPABC);
2899 BOOL WINAPI GetCharABCWidthsW(HDC,UINT,UINT,LPABC);
2900 BOOL WINAPI GetCharABCWidthsFloatA(HDC,UINT,UINT,LPABCFLOAT);
2901 BOOL WINAPI GetCharABCWidthsFloatW(HDC,UINT,UINT,LPABCFLOAT);
2902 BOOL WINAPI GetCharABCWidthsI(HDC,UINT,UINT,LPWORD,LPABC);
2903 DWORD WINAPI GetCharacterPlacementA(HDC,LPCSTR,int,int,LPGCP_RESULTSA,DWORD);
2904 DWORD WINAPI GetCharacterPlacementW(HDC,LPCWSTR,int,int,LPGCP_RESULTSW,DWORD);
2905 BOOL WINAPI GetCharWidth32A(HDC,UINT,UINT,LPINT);
2906 BOOL WINAPI GetCharWidth32W(HDC,UINT,UINT,LPINT);
2907 BOOL WINAPI GetCharWidthA(HDC,UINT,UINT,LPINT);
2908 BOOL WINAPI GetCharWidthW(HDC,UINT,UINT,LPINT);
2909 BOOL WINAPI GetCharWidthFloatA(HDC,UINT,UINT,PFLOAT);
2910 BOOL WINAPI GetCharWidthFloatW(HDC,UINT,UINT,PFLOAT);
2911 int WINAPI GetClipBox(HDC,LPRECT);
2912 int WINAPI GetClipRgn(HDC,HRGN);
2913 BOOL WINAPI GetColorAdjustment(HDC,LPCOLORADJUSTMENT);
2914 HCOLORSPACE WINAPI GetColorSpace(HDC);
2915 HGDIOBJ WINAPI GetCurrentObject(HDC,UINT);
2916 BOOL WINAPI GetCurrentPositionEx(HDC,LPPOINT);
2917 HCURSOR WINAPI GetCursor(void);
2918 BOOL WINAPI GetDCOrgEx(HDC,LPPOINT);
2919 #if (_WIN32_WINNT >= 0x0500)
2920 COLORREF WINAPI GetDCBrushColor(HDC);
2921 COLORREF WINAPI GetDCPenColor(HDC);
2922 #endif
2923 int WINAPI GetDeviceCaps(HDC,int);
2924 BOOL WINAPI GetDeviceGammaRamp(HDC,PVOID);
2925 UINT WINAPI GetDIBColorTable(HDC,UINT,UINT,RGBQUAD*);
2926 int WINAPI GetDIBits(HDC,HBITMAP,UINT,UINT,PVOID,LPBITMAPINFO,UINT);
2927 HENHMETAFILE WINAPI GetEnhMetaFileA(LPCSTR);
2928 HENHMETAFILE WINAPI GetEnhMetaFileW(LPCWSTR);
2929 UINT WINAPI GetEnhMetaFileBits(HENHMETAFILE,UINT,LPBYTE);
2930 UINT WINAPI GetEnhMetaFileDescriptionA(HENHMETAFILE,UINT,LPSTR);
2931 UINT WINAPI GetEnhMetaFileDescriptionW(HENHMETAFILE,UINT,LPWSTR);
2932 UINT WINAPI GetEnhMetaFileHeader(HENHMETAFILE,UINT,LPENHMETAHEADER);
2933 UINT WINAPI GetEnhMetaFilePaletteEntries(HENHMETAFILE,UINT,LPPALETTEENTRY);
2934 UINT WINAPI GetEnhMetaFilePixelFormat(HENHMETAFILE,UINT,PIXELFORMATDESCRIPTOR*);
2935 DWORD WINAPI GetFontData(HDC,DWORD,DWORD,PVOID,DWORD);
2936 DWORD WINAPI GetFontLanguageInfo(HDC);
2937 DWORD WINAPI GetGlyphIndicesA(HDC,LPCSTR,INT,LPWORD,DWORD);
2938 DWORD WINAPI GetGlyphIndicesW(HDC,LPCWSTR,INT,LPWORD,DWORD);
2939 DWORD WINAPI GetGlyphOutlineA(HDC,UINT,UINT,LPGLYPHMETRICS,DWORD,PVOID,const MAT2*);
2940 DWORD WINAPI GetGlyphOutlineW(HDC,UINT,UINT,LPGLYPHMETRICS,DWORD,PVOID,const MAT2*);
2941 int WINAPI GetGraphicsMode(HDC);
2942 BOOL WINAPI GetICMProfileA(HDC,LPDWORD,LPSTR);
2943 BOOL WINAPI GetICMProfileW(HDC,LPDWORD,LPWSTR);
2944 DWORD WINAPI GetKerningPairsA(HDC,DWORD,LPKERNINGPAIR);
2945 DWORD WINAPI GetKerningPairsW(HDC,DWORD,LPKERNINGPAIR);
2946 BOOL WINAPI GetLogColorSpaceA(HCOLORSPACE,LPLOGCOLORSPACEA,DWORD);
2947 BOOL WINAPI GetLogColorSpaceW(HCOLORSPACE,LPLOGCOLORSPACEW,DWORD);
2948 int WINAPI GetMapMode(HDC);
2949 HMETAFILE WINAPI GetMetaFileA(LPCSTR);
2950 HMETAFILE WINAPI GetMetaFileW(LPCWSTR);
2951 UINT WINAPI GetMetaFileBitsEx(HMETAFILE,UINT,PVOID);
2952 int WINAPI GetMetaRgn(HDC,HRGN);
2953 BOOL WINAPI GetMiterLimit(HDC,PFLOAT);
2954 COLORREF WINAPI GetNearestColor(HDC,COLORREF);
2955 UINT WINAPI GetNearestPaletteIndex(HPALETTE,COLORREF);
2956 int WINAPI GetObjectA(HGDIOBJ,int,PVOID);
2957 int WINAPI GetObjectW(HGDIOBJ,int,PVOID);
2958 DWORD WINAPI GetObjectType(HGDIOBJ);
2959 UINT WINAPI GetOutlineTextMetricsA(HDC,UINT,LPOUTLINETEXTMETRICA);
2960 UINT WINAPI GetOutlineTextMetricsW(HDC,UINT,LPOUTLINETEXTMETRICW);
2961 UINT WINAPI GetPaletteEntries(HPALETTE,UINT,UINT,LPPALETTEENTRY);
2962 int WINAPI GetPath(HDC,LPPOINT,PBYTE,int);
2963 COLORREF WINAPI GetPixel(HDC,int,int);
2964 int WINAPI GetPixelFormat(HDC);
2965 int WINAPI GetPolyFillMode(HDC);
2966 BOOL WINAPI GetRasterizerCaps(LPRASTERIZER_STATUS,UINT);
2967 int WINAPI GetRandomRgn (HDC,HRGN,INT);
2968 DWORD WINAPI GetRegionData(HRGN,DWORD,LPRGNDATA);
2969 int WINAPI GetRgnBox(HRGN,LPRECT);
2970 int WINAPI GetROP2(HDC);
2971 HGDIOBJ WINAPI GetStockObject(int);
2972 int WINAPI GetStretchBltMode(HDC);
2973 UINT WINAPI GetSystemPaletteEntries(HDC,UINT,UINT,LPPALETTEENTRY);
2974 UINT WINAPI GetSystemPaletteUse(HDC);
2975 UINT WINAPI GetTextAlign(HDC);
2976 int WINAPI GetTextCharacterExtra(HDC);
2977 int WINAPI GetTextCharset(HDC);
2978 int WINAPI GetTextCharsetInfo(HDC,LPFONTSIGNATURE,DWORD);
2979 COLORREF WINAPI GetTextColor(HDC);
2980 BOOL WINAPI GetTextExtentExPointA(HDC,LPCSTR,int,int,LPINT,LPINT,LPSIZE);
2981 BOOL WINAPI GetTextExtentExPointW( HDC,LPCWSTR,int,int,LPINT,LPINT,LPSIZE );
2982 BOOL WINAPI GetTextExtentPointA(HDC,LPCSTR,int,LPSIZE);
2983 BOOL WINAPI GetTextExtentPointW(HDC,LPCWSTR,int,LPSIZE);
2984 BOOL WINAPI GetTextExtentPoint32A(HDC,LPCSTR,int,LPSIZE);
2985 BOOL WINAPI GetTextExtentPoint32W( HDC,LPCWSTR,int,LPSIZE);
2986 int WINAPI GetTextFaceA(HDC,int,LPSTR);
2987 int WINAPI GetTextFaceW(HDC,int,LPWSTR);
2988 BOOL WINAPI GetTextMetricsA(HDC,LPTEXTMETRICA);
2989 BOOL WINAPI GetTextMetricsW(HDC,LPTEXTMETRICW);
2990 BOOL WINAPI GetViewportExtEx(HDC,LPSIZE);
2991 BOOL WINAPI GetViewportOrgEx(HDC,LPPOINT);
2992 BOOL WINAPI GetWindowExtEx(HDC,LPSIZE);
2993 BOOL WINAPI GetWindowOrgEx(HDC,LPPOINT);
2994 UINT WINAPI GetWinMetaFileBits(HENHMETAFILE,UINT,LPBYTE,INT,HDC);
2995 BOOL WINAPI GetWorldTransform(HDC,LPXFORM);
2996 int WINAPI IntersectClipRect(HDC,int,int,int,int);
2997 BOOL WINAPI InvertRgn(HDC,HRGN);
2998 BOOL WINAPI LineDDA(int,int,int,int,LINEDDAPROC,LPARAM);
2999 BOOL WINAPI LineTo(HDC,int,int);
3000 BOOL WINAPI LPtoDP(HDC,LPPOINT,int);
3001 BOOL WINAPI MaskBlt(HDC,int,int,int,int,HDC,int,int,HBITMAP,int,int,DWORD);
3002 BOOL WINAPI ModifyWorldTransform(HDC,const XFORM*,DWORD);
3003 BOOL WINAPI MoveToEx(HDC,int,int,LPPOINT);
3004 int WINAPI OffsetClipRgn(HDC,int,int);
3005 int WINAPI OffsetRgn(HRGN,int,int);
3006 BOOL WINAPI OffsetViewportOrgEx(HDC,int,int,LPPOINT);
3007 BOOL WINAPI OffsetWindowOrgEx(HDC,int,int,LPPOINT);
3008 BOOL WINAPI PaintRgn(HDC,HRGN);
3009 BOOL WINAPI PatBlt(HDC,int,int,int,int,DWORD);
3010 HRGN WINAPI PathToRegion(HDC);
3011 BOOL WINAPI Pie(HDC,int,int,int,int,int,int,int,int);
3012 BOOL WINAPI PlayEnhMetaFile(HDC,HENHMETAFILE,LPCRECT);
3013 BOOL WINAPI PlayEnhMetaFileRecord(HDC,LPHANDLETABLE,const ENHMETARECORD*,UINT);
3014 BOOL WINAPI PlayMetaFile(HDC,HMETAFILE);
3015 BOOL WINAPI PlayMetaFileRecord(HDC,LPHANDLETABLE,LPMETARECORD,UINT);
3016 BOOL WINAPI PlgBlt(HDC,const POINT*,HDC,int,int,int,int,HBITMAP,int,int);
3017 BOOL WINAPI PolyBezier(HDC,const POINT*,DWORD);
3018 BOOL WINAPI PolyBezierTo(HDC,const POINT*,DWORD);
3019 BOOL WINAPI PolyDraw(HDC,const POINT*,const BYTE*,int);
3020 BOOL WINAPI Polygon(HDC,const POINT*,int);
3021 BOOL WINAPI Polyline(HDC,const POINT*,int);
3022 BOOL WINAPI PolylineTo(HDC,const POINT*,DWORD);
3023 BOOL WINAPI PolyPolygon(HDC,const POINT*,const INT*,int);
3024 BOOL WINAPI PolyPolyline(HDC,const POINT*,const DWORD*,DWORD);
3025 BOOL WINAPI PolyTextOutA(HDC,const POLYTEXTA*,int);
3026 BOOL WINAPI PolyTextOutW(HDC,const POLYTEXTW*,int);
3027 BOOL WINAPI PtInRegion(HRGN,int,int);
3028 BOOL WINAPI PtVisible(HDC,int,int);
3029 UINT WINAPI RealizePalette(HDC);
3030 BOOL WINAPI Rectangle(HDC,int,int,int,int);
3031 BOOL WINAPI RectInRegion(HRGN,LPCRECT);
3032 BOOL WINAPI RectVisible(HDC,LPCRECT);
3033 BOOL WINAPI RemoveFontResourceA(LPCSTR);
3034 BOOL WINAPI RemoveFontResourceW(LPCWSTR);
3035 #if (_WIN32_WINNT >= 0x0500)
3036 BOOL WINAPI RemoveFontMemResourceEx(HANDLE);
3037 BOOL WINAPI RemoveFontResourceExA(LPCSTR,DWORD,PVOID);
3038 BOOL WINAPI RemoveFontResourceExW(LPCWSTR,DWORD,PVOID);
3039 #endif
3040 HDC WINAPI ResetDCA(HDC,const DEVMODEA*);
3041 HDC WINAPI ResetDCW(HDC,const DEVMODEW*);
3042 BOOL WINAPI ResizePalette(HPALETTE,UINT);
3043 BOOL WINAPI RestoreDC(HDC,int);
3044 BOOL WINAPI RoundRect(HDC,int,int,int,int,int,int);
3045 int WINAPI SaveDC(HDC);
3046 BOOL WINAPI ScaleViewportExtEx(HDC,int,int,int,int,LPSIZE);
3047 BOOL WINAPI ScaleWindowExtEx(HDC,int,int,int,int,LPSIZE);
3048 BOOL WINAPI SelectClipPath(HDC,int);
3049 int WINAPI SelectClipRgn(HDC,HRGN);
3050 HGDIOBJ WINAPI SelectObject(HDC,HGDIOBJ);
3051 HPALETTE WINAPI SelectPalette(HDC,HPALETTE,BOOL);
3052 int WINAPI SetAbortProc(HDC,ABORTPROC);
3053 int WINAPI SetArcDirection(HDC,int);
3054 LONG WINAPI SetBitmapBits(HBITMAP,DWORD,PCVOID);
3055 BOOL WINAPI SetBitmapDimensionEx(HBITMAP,int,int,LPSIZE);
3056 COLORREF WINAPI SetBkColor(HDC,COLORREF);
3057 int WINAPI SetBkMode(HDC,int);
3058 UINT WINAPI SetBoundsRect(HDC,LPCRECT,UINT);
3059 BOOL WINAPI SetBrushOrgEx(HDC,int,int,LPPOINT);
3060 BOOL WINAPI SetColorAdjustment(HDC,const COLORADJUSTMENT*);
3061 HCOLORSPACE WINAPI SetColorSpace(HDC,HCOLORSPACE);
3062 #if (_WIN32_WINNT >= 0x0500)
3063 COLORREF WINAPI SetDCBrushColor(HDC,COLORREF);
3064 COLORREF WINAPI SetDCPenColor(HDC,COLORREF);
3065 #endif
3066 BOOL WINAPI SetDeviceGammaRamp(HDC,PVOID);
3067 UINT WINAPI SetDIBColorTable(HDC,UINT,UINT,const RGBQUAD*);
3068 int WINAPI SetDIBits(HDC,HBITMAP,UINT,UINT,PCVOID,const BITMAPINFO*,UINT);
3069 int WINAPI SetDIBitsToDevice(HDC,int,int,DWORD,DWORD,int,int,UINT,UINT,PCVOID,const BITMAPINFO*,UINT);
3070 HENHMETAFILE WINAPI SetEnhMetaFileBits(UINT,const BYTE*);
3071 int WINAPI SetGraphicsMode(HDC,int);
3072 int WINAPI SetICMMode(HDC,int);
3073 BOOL WINAPI SetICMProfileA(HDC,LPSTR);
3074 BOOL WINAPI SetICMProfileW(HDC,LPWSTR);
3075 int WINAPI SetMapMode(HDC,int);
3076 DWORD WINAPI SetMapperFlags(HDC,DWORD);
3077 #if (_WIN32_WINNT >= 0x0500)
3078 DWORD WINAPI SetLayout(HDC,DWORD);
3079 DWORD WINAPI GetLayout(HDC);
3080 #endif
3081 HMETAFILE WINAPI SetMetaFileBitsEx(UINT,const BYTE *);
3082 int WINAPI SetMetaRgn(HDC);
3083 BOOL WINAPI SetMiterLimit(HDC,FLOAT,PFLOAT);
3084 UINT WINAPI SetPaletteEntries(HPALETTE,UINT,UINT,const PALETTEENTRY*);
3085 COLORREF WINAPI SetPixel(HDC,int,int,COLORREF);
3086 BOOL WINAPI SetPixelFormat(HDC,int,const PIXELFORMATDESCRIPTOR*);
3087 BOOL WINAPI SetPixelV(HDC,int,int,COLORREF);
3088 int WINAPI SetPolyFillMode(HDC,int);
3089 BOOL WINAPI SetRectRgn(HRGN,int,int,int,int);
3090 int WINAPI SetROP2(HDC,int);
3091 int WINAPI SetStretchBltMode(HDC,int);
3092 UINT WINAPI SetSystemPaletteUse(HDC,UINT);
3093 UINT WINAPI SetTextAlign(HDC,UINT);
3094 int WINAPI SetTextCharacterExtra(HDC,int);
3095 COLORREF WINAPI SetTextColor(HDC,COLORREF);
3096 BOOL WINAPI SetTextJustification(HDC,int,int);
3097 BOOL WINAPI SetViewportExtEx(HDC,int,int,LPSIZE);
3098 BOOL WINAPI SetViewportOrgEx(HDC,int,int,LPPOINT);
3099 BOOL WINAPI SetWindowExtEx(HDC,int,int,LPSIZE);
3100 BOOL WINAPI SetWindowOrgEx(HDC,int,int,LPPOINT);
3101 HENHMETAFILE WINAPI SetWinMetaFileBits(UINT,const BYTE*,HDC,const METAFILEPICT*);
3102 BOOL WINAPI SetWorldTransform(HDC,const XFORM *);
3103 int WINAPI StartDocA(HDC,const DOCINFOA*);
3104 int WINAPI StartDocW(HDC,const DOCINFOW*);
3105 int WINAPI StartPage(HDC);
3106 BOOL WINAPI StretchBlt(HDC,int,int,int,int,HDC,int,int,int,int,DWORD);
3107 int WINAPI StretchDIBits(HDC,int,int,int,int,int,int,int,int,const VOID *,const BITMAPINFO *,UINT,DWORD);
3108 BOOL WINAPI StrokeAndFillPath(HDC);
3109 BOOL WINAPI StrokePath(HDC);
3110 BOOL WINAPI SwapBuffers(HDC);
3111 BOOL WINAPI TextOutA(HDC,int,int,LPCSTR,int);
3112 BOOL WINAPI TextOutW(HDC,int,int,LPCWSTR,int);
3113 BOOL WINAPI TranslateCharsetInfo(PDWORD,LPCHARSETINFO,DWORD);
3114 BOOL WINAPI UnrealizeObject(HGDIOBJ);
3115 BOOL WINAPI UpdateColors(HDC);
3116 BOOL WINAPI UpdateICMRegKeyA(DWORD,LPSTR,LPSTR,UINT);
3117 BOOL WINAPI UpdateICMRegKeyW(DWORD,LPWSTR,LPWSTR,UINT);
3118 BOOL WINAPI WidenPath(HDC);
3119 BOOL WINAPI wglCopyContext(HGLRC,HGLRC,UINT);
3120 HGLRC WINAPI wglCreateContext(HDC);
3121 HGLRC WINAPI wglCreateLayerContext(HDC,int);
3122 BOOL WINAPI wglDeleteContext(HGLRC);
3123 BOOL WINAPI wglDescribeLayerPlane(HDC,int,int,UINT,LPLAYERPLANEDESCRIPTOR);
3124 HGLRC WINAPI wglGetCurrentContext(void);
3125 HDC WINAPI wglGetCurrentDC(void);
3126 int WINAPI wglGetLayerPaletteEntries(HDC,int,int,int,COLORREF*);
3127 PROC WINAPI wglGetProcAddress(LPCSTR);
3128 BOOL WINAPI wglMakeCurrent(HDC,HGLRC);
3129 BOOL WINAPI wglRealizeLayerPalette(HDC,int,BOOL);
3130 int WINAPI wglSetLayerPaletteEntries(HDC,int,int,int,const COLORREF*);
3131 BOOL WINAPI wglShareLists(HGLRC,HGLRC);
3132 BOOL WINAPI wglSwapLayerBuffers(HDC,UINT);
3133 BOOL WINAPI wglUseFontBitmapsA(HDC,DWORD,DWORD,DWORD);
3134 BOOL WINAPI wglUseFontBitmapsW(HDC,DWORD,DWORD,DWORD);
3135 BOOL WINAPI wglUseFontOutlinesA(HDC,DWORD,DWORD,DWORD,FLOAT,FLOAT,int,LPGLYPHMETRICSFLOAT);
3136 BOOL WINAPI wglUseFontOutlinesW(HDC,DWORD,DWORD,DWORD,FLOAT,FLOAT,int,LPGLYPHMETRICSFLOAT);
3137
3138 #if (WINVER>= 0x0500)
3139 BOOL WINAPI AlphaBlend(HDC,int,int,int,int,HDC,int,int,int,int,BLENDFUNCTION);
3140 BOOL WINAPI GradientFill(HDC,PTRIVERTEX,ULONG,PVOID,ULONG,ULONG);
3141 BOOL WINAPI TransparentBlt(HDC,int,int,int,int,HDC,int,int,int,int,UINT);
3142 #endif
3143
3144 #ifdef UNICODE
3145 typedef AXESLISTW AXESLIST;
3146 typedef PAXESLISTW PAXESLIST;
3147 typedef LPAXESLISTW LPAXESLIST;
3148 typedef AXISINFOA AXISINFO;
3149 typedef PAXISINFOA PAXISINFO;
3150 typedef LPAXISINFOA LPAXISINFO;
3151 typedef WCHAR BCHAR;
3152 typedef DOCINFOW DOCINFO, *LPDOCINFO;
3153 typedef LOGFONTW LOGFONT,*PLOGFONT,*LPLOGFONT;
3154 typedef TEXTMETRICW TEXTMETRIC,*PTEXTMETRIC,*LPTEXTMETRIC;
3155 #define ICMENUMPROC ICMENUMPROCW
3156 typedef DEVMODEW DEVMODE,*PDEVMODE,*LPDEVMODE;
3157 typedef ENUMLOGFONTEXDVW ENUMLOGFONTEXDV;
3158 typedef PENUMLOGFONTEXDVW PENUMLOGFONTEXDV;
3159 typedef LPENUMLOGFONTEXDVW LPENUMLOGFONTEXDV;
3160 typedef ENUMTEXTMETRICW ENUMTEXTMETRIC;
3161 typedef PENUMTEXTMETRICW PENUMTEXTMETRIC;
3162 typedef LPENUMTEXTMETRICW LPENUMTEXTMETRIC;
3163 typedef EXTLOGFONTW EXTLOGFONT,*PEXTLOGFONT,*LPEXTLOGFONT;
3164 typedef GCP_RESULTSW GCP_RESULTS,*LPGCP_RESULTS;
3165 typedef OUTLINETEXTMETRICW OUTLINETEXTMETRIC,*POUTLINETEXTMETRIC,*LPOUTLINETEXTMETRIC;
3166 typedef POLYTEXTW POLYTEXT,*PPOLYTEXT,*LPPOLYTEXT;
3167 typedef LOGCOLORSPACEW LOGCOLORSPACE,*LPLOGCOLORSPACE;
3168 typedef NEWTEXTMETRICW NEWTEXTMETRIC,*PNEWTEXTMETRIC,*LPNEWTEXTMETRIC;
3169 typedef NEWTEXTMETRICEXW NEWTEXTMETRICEX;
3170 typedef ENUMLOGFONTW ENUMLOGFONT,*LPENUMLOGFONT;
3171 typedef ENUMLOGFONTEXW ENUMLOGFONTEX,*LPENUMLOGFONTEX;
3172 typedef DISPLAY_DEVICEW DISPLAY_DEVICE, *PDISPLAY_DEVICE, *LPDISPLAY_DEVICE;
3173 #define AddFontResource AddFontResourceW
3174 #if (_WIN32_WINNT >= 0x0500)
3175 #define AddFontResourceEx AddFontResourceExW
3176 #endif
3177 #define CopyEnhMetaFile CopyEnhMetaFileW
3178 #define CopyMetaFile CopyMetaFileW
3179 #define CreateDC CreateDCW
3180 #define CreateEnhMetaFile CreateEnhMetaFileW
3181 #define CreateFont CreateFontW
3182 #define CreateFontIndirect CreateFontIndirectW
3183 #define CreateFontIndirectEx CreateFontIndirectExW
3184 #define CreateIC CreateICW
3185 #define CreateMetaFile CreateMetaFileW
3186 #define CreateScalableFontResource CreateScalableFontResourceW
3187 #define DeviceCapabilities DeviceCapabilitiesW
3188 #define EnumFontFamilies EnumFontFamiliesW
3189 #define EnumFontFamiliesEx EnumFontFamiliesExW
3190 #define EnumFonts EnumFontsW
3191 #define EnumICMProfiles EnumICMProfilesW
3192 #define ExtTextOut ExtTextOutW
3193 #define GetCharABCWidthsFloat GetCharABCWidthsFloatW
3194 #define GetCharABCWidths GetCharABCWidthsW
3195 #define GetCharacterPlacement GetCharacterPlacementW
3196 #define GetCharWidth32 GetCharWidth32W
3197 #define GetCharWidthFloat GetCharWidthFloatW
3198 #define GetCharWidth GetCharWidthW
3199 #define GetEnhMetaFile GetEnhMetaFileW
3200 #define GetEnhMetaFileDescription GetEnhMetaFileDescriptionW
3201 #define GetGlyphOutline GetGlyphOutlineW
3202 #define GetICMProfile GetICMProfileW
3203 #define GetKerningPairs GetKerningPairsW
3204 #define GetLogColorSpace GetLogColorSpaceW
3205 #define GetMetaFile GetMetaFileW
3206 #define GetObject GetObjectW
3207 #define GetOutlineTextMetrics GetOutlineTextMetricsW
3208 #define GetTextExtentPoint GetTextExtentPointW
3209 #define GetTextExtentExPoint GetTextExtentExPointW
3210 #define GetTextExtentPoint32 GetTextExtentPoint32W
3211 #define GetTextFace GetTextFaceW
3212 #define GetTextMetrics GetTextMetricsW
3213 #define PolyTextOut PolyTextOutW
3214 #define RemoveFontResource RemoveFontResourceW
3215 #if (_WIN32_WINNT >= 0x0500)
3216 #define RemoveFontResourceEx RemoveFontResourceExW
3217 #endif
3218 #define ResetDC ResetDCW
3219 #define SetICMProfile SetICMProfileW
3220 #define StartDoc StartDocW
3221 #define TextOut TextOutW
3222 #define UpdateICMRegKey UpdateICMRegKeyW
3223 #define wglUseFontBitmaps wglUseFontBitmapsW
3224 #define wglUseFontOutlines wglUseFontOutlinesW
3225 #else
3226 typedef AXESLISTA AXESLIST;
3227 typedef PAXESLISTA PAXESLIST;
3228 typedef LPAXESLISTA LPAXESLIST;
3229 typedef AXISINFOA AXISINFO;
3230 typedef PAXISINFOA PAXISINFO;
3231 typedef LPAXISINFOA LPAXISINFO;
3232 typedef BYTE BCHAR;
3233 typedef DOCINFOA DOCINFO, *LPDOCINFO;
3234 typedef LOGFONTA LOGFONT,*PLOGFONT,*LPLOGFONT;
3235 typedef TEXTMETRICA TEXTMETRIC,*PTEXTMETRIC,*LPTEXTMETRIC;
3236 #define ICMENUMPROC ICMENUMPROCA
3237 typedef DEVMODEA DEVMODE,*PDEVMODE,*LPDEVMODE;
3238 typedef ENUMLOGFONTEXDVA ENUMLOGFONTEXDV;
3239 typedef PENUMLOGFONTEXDVA PENUMLOGFONTEXDV;
3240 typedef LPENUMLOGFONTEXDVA LPENUMLOGFONTEXDV;
3241 typedef ENUMTEXTMETRICA ENUMTEXTMETRIC;
3242 typedef PENUMTEXTMETRICA PENUMTEXTMETRIC;
3243 typedef LPENUMTEXTMETRICA LPENUMTEXTMETRIC;
3244 typedef EXTLOGFONTA EXTLOGFONT,*PEXTLOGFONT,*LPEXTLOGFONT;
3245 typedef GCP_RESULTSA GCP_RESULTS,*LPGCP_RESULTS;
3246 typedef OUTLINETEXTMETRICA OUTLINETEXTMETRIC,*POUTLINETEXTMETRIC,*LPOUTLINETEXTMETRIC;
3247 typedef POLYTEXTA POLYTEXT,*PPOLYTEXT,*LPPOLYTEXT;
3248 typedef LOGCOLORSPACEA LOGCOLORSPACE,*LPLOGCOLORSPACE;
3249 typedef NEWTEXTMETRICA NEWTEXTMETRIC,*PNEWTEXTMETRIC,*LPNEWTEXTMETRIC;
3250 typedef NEWTEXTMETRICEXA NEWTEXTMETRICEX;
3251 typedef ENUMLOGFONTA ENUMLOGFONT,*LPENUMLOGFONT;
3252 typedef ENUMLOGFONTEXA ENUMLOGFONTEX,*LPENUMLOGFONTEX;
3253 typedef DISPLAY_DEVICEA DISPLAY_DEVICE, *PDISPLAY_DEVICE, *LPDISPLAY_DEVICE;
3254 #define AddFontResource AddFontResourceA
3255 #if (_WIN32_WINNT >= 0x0500)
3256 #define AddFontResourceEx AddFontResourceExA
3257 #endif
3258 #define CopyEnhMetaFile CopyEnhMetaFileA
3259 #define CopyMetaFile CopyMetaFileA
3260 #define CreateDC CreateDCA
3261 #define CreateEnhMetaFile CreateEnhMetaFileA
3262 #define CreateFont CreateFontA
3263 #define CreateFontIndirect CreateFontIndirectA
3264 #define CreateFontIndirectEx CreateFontIndirectExA
3265 #define CreateIC CreateICA
3266 #define CreateMetaFile CreateMetaFileA
3267 #define CreateScalableFontResource CreateScalableFontResourceA
3268 #define DeviceCapabilities DeviceCapabilitiesA
3269 #define EnumFontFamilies EnumFontFamiliesA
3270 #define EnumFontFamiliesEx EnumFontFamiliesExA
3271 #define EnumFonts EnumFontsA
3272 #define EnumICMProfiles EnumICMProfilesA
3273 #define ExtTextOut ExtTextOutA
3274 #define GetCharWidthFloat GetCharWidthFloatA
3275 #define GetCharWidth GetCharWidthA
3276 #define GetCharacterPlacement GetCharacterPlacementA
3277 #define GetCharABCWidths GetCharABCWidthsA
3278 #define GetCharABCWidthsFloat GetCharABCWidthsFloatA
3279 #define GetCharWidth32 GetCharWidth32A
3280 #define GetEnhMetaFile GetEnhMetaFileA
3281 #define GetEnhMetaFileDescription GetEnhMetaFileDescriptionA
3282 #define GetGlyphOutline GetGlyphOutlineA
3283 #define GetICMProfile GetICMProfileA
3284 #define GetKerningPairs GetKerningPairsA
3285 #define GetLogColorSpace GetLogColorSpaceA
3286 #define GetMetaFile GetMetaFileA
3287 #define GetObject GetObjectA
3288 #define GetOutlineTextMetrics GetOutlineTextMetricsA
3289 #define GetTextExtentPoint GetTextExtentPointA
3290 #define GetTextExtentExPoint GetTextExtentExPointA
3291 #define GetTextExtentPoint32 GetTextExtentPoint32A
3292 #define GetTextFace GetTextFaceA
3293 #define GetTextMetrics GetTextMetricsA
3294 #define PolyTextOut PolyTextOutA
3295 #define RemoveFontResource RemoveFontResourceA
3296 #if (_WIN32_WINNT >= 0x0500)
3297 #define RemoveFontResourceEx RemoveFontResourceExA
3298 #endif
3299 #define ResetDC ResetDCA
3300 #define SetICMProfile SetICMProfileA
3301 #define StartDoc StartDocA
3302 #define TextOut TextOutA
3303 #define UpdateICMRegKey UpdateICMRegKeyA
3304 #define wglUseFontBitmaps wglUseFontBitmapsA
3305 #define wglUseFontOutlines wglUseFontOutlinesA
3306 #endif
3307 #endif
3308 #ifdef __cplusplus
3309 }
3310 #endif
3311 #endif