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