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