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