OSDN Git Service

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