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