OSDN Git Service

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