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