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