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