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