Temporary fix suggested by Ulrich to allow the
[wine.git] / include / wingdi.h
blob7345b9daa77770bd809436a5207a369df90af702
1 #ifndef __WINE_WINGDI_H
2 #define __WINE_WINGDI_H
4 #include "wintypes.h"
6 #pragma pack(1)
8 typedef struct _ABCFLOAT {
9 FLOAT abcfA;
10 FLOAT abcfB;
11 FLOAT abcfC;
12 } ABCFLOAT, *PABCFLOAT, *LPABCFLOAT;
14 typedef struct
16 WORD wFirst;
17 WORD wSecond;
18 INT16 iKernAmount;
19 } KERNINGPAIR16, *LPKERNINGPAIR16;
21 typedef struct
23 WORD wFirst;
24 WORD wSecond;
25 INT32 iKernAmount;
26 } KERNINGPAIR32, *LPKERNINGPAIR32;
28 DECL_WINELIB_TYPE(KERNINGPAIR)
29 DECL_WINELIB_TYPE(LPKERNINGPAIR)
31 typedef struct
33 HDC16 hdc;
34 BOOL16 fErase;
35 RECT16 rcPaint;
36 BOOL16 fRestore;
37 BOOL16 fIncUpdate;
38 BYTE rgbReserved[16];
39 } PAINTSTRUCT16, *LPPAINTSTRUCT16;
41 typedef struct
43 HDC32 hdc;
44 BOOL32 fErase;
45 RECT32 rcPaint;
46 BOOL32 fRestore;
47 BOOL32 fIncUpdate;
48 BYTE rgbReserved[32];
49 } PAINTSTRUCT32, *LPPAINTSTRUCT32;
51 DECL_WINELIB_TYPE(PAINTSTRUCT)
52 DECL_WINELIB_TYPE(LPPAINTSTRUCT)
55 typedef struct tagPIXELFORMATDESCRIPTOR {
56 WORD nSize;
57 WORD nVersion;
58 DWORD dwFlags;
59 BYTE iPixelType;
60 BYTE cColorBits;
61 BYTE cRedBits;
62 BYTE cRedShift;
63 BYTE cGreenBits;
64 BYTE cGreenShift;
65 BYTE cBlueBits;
66 BYTE cBlueShift;
67 BYTE cAlphaBits;
68 BYTE cAlphaShift;
69 BYTE cAccumBits;
70 BYTE cAccumRedBits;
71 BYTE cAccumGreenBits;
72 BYTE cAccumBlueBits;
73 BYTE cAccumAlphaBits;
74 BYTE cDepthBits;
75 BYTE cStencilBits;
76 BYTE cAuxBuffers;
77 BYTE iLayerType;
78 BYTE bReserved;
79 DWORD dwLayerMask;
80 DWORD dwVisibleMask;
81 DWORD dwDamageMask;
82 } PIXELFORMATDESCRIPTOR, *LPPIXELFORMATDESCRIPTOR;
84 typedef struct tagCOLORADJUSTMENT
86 WORD caSize;
87 WORD caFlags;
88 WORD caIlluminantIndex;
89 WORD caRedGamma;
90 WORD caGreenGamma;
91 WORD caBlueGamma;
92 WORD caReferenceBlack;
93 WORD caReferenceWhite;
94 SHORT caContrast;
95 SHORT caBrightness;
96 SHORT caColorfulness;
97 SHORT caRedGreenTint;
98 } COLORADJUSTMENT, *PCOLORADJUSTMENT, *LPCOLORADJUSTMENT;
100 #define DC_FIELDS 1
101 #define DC_PAPERS 2
102 #define DC_PAPERSIZE 3
103 #define DC_MINEXTENT 4
104 #define DC_MAXEXTENT 5
105 #define DC_BINS 6
106 #define DC_DUPLEX 7
107 #define DC_SIZE 8
108 #define DC_EXTRA 9
109 #define DC_VERSION 10
110 #define DC_DRIVER 11
111 #define DC_BINNAMES 12
112 #define DC_ENUMRESOLUTIONS 13
113 #define DC_FILEDEPENDENCIES 14
114 #define DC_TRUETYPE 15
115 #define DC_PAPERNAMES 16
116 #define DC_ORIENTATION 17
117 #define DC_COPIES 18
119 /* Flag returned from Escape QUERYDIBSUPPORT */
120 #define QDI_SETDIBITS 1
121 #define QDI_GETDIBITS 2
122 #define QDI_DIBTOSCREEN 4
123 #define QDI_STRETCHDIB 8
126 #define PR_JOBSTATUS 0x0000
129 /* GDI Escape commands */
130 #define NEWFRAME 1
131 #define ABORTDOC 2
132 #define NEXTBAND 3
133 #define SETCOLORTABLE 4
134 #define GETCOLORTABLE 5
135 #define FLUSHOUTPUT 6
136 #define DRAFTMODE 7
137 #define QUERYESCSUPPORT 8
138 #define SETABORTPROC 9
139 #define STARTDOC 10
140 #define ENDDOC 11
141 #define GETPHYSPAGESIZE 12
142 #define GETPRINTINGOFFSET 13
143 #define GETSCALINGFACTOR 14
144 #define MFCOMMENT 15
145 #define GETPENWIDTH 16
146 #define SETCOPYCOUNT 17
147 #define SELECTPAPERSOURCE 18
148 #define DEVICEDATA 19
149 #define PASSTHROUGH 19
150 #define GETTECHNOLGY 20
151 #define GETTECHNOLOGY 20 /* yes, both of them */
152 #define SETLINECAP 21
153 #define SETLINEJOIN 22
154 #define SETMITERLIMIT 23
155 #define BANDINFO 24
156 #define DRAWPATTERNRECT 25
157 #define GETVECTORPENSIZE 26
158 #define GETVECTORBRUSHSIZE 27
159 #define ENABLEDUPLEX 28
160 #define GETSETPAPERBINS 29
161 #define GETSETPRINTORIENT 30
162 #define ENUMPAPERBINS 31
163 #define SETDIBSCALING 32
164 #define EPSPRINTING 33
165 #define ENUMPAPERMETRICS 34
166 #define GETSETPAPERMETRICS 35
167 #define POSTSCRIPT_DATA 37
168 #define POSTSCRIPT_IGNORE 38
169 #define MOUSETRAILS 39
170 #define GETDEVICEUNITS 42
172 #define GETEXTENDEDTEXTMETRICS 256
173 #define GETEXTENTTABLE 257
174 #define GETPAIRKERNTABLE 258
175 #define GETTRACKKERNTABLE 259
176 #define EXTTEXTOUT 512
177 #define GETFACENAME 513
178 #define DOWNLOADFACE 514
179 #define ENABLERELATIVEWIDTHS 768
180 #define ENABLEPAIRKERNING 769
181 #define SETKERNTRACK 770
182 #define SETALLJUSTVALUES 771
183 #define SETCHARSET 772
185 #define STRETCHBLT 2048
186 #define GETSETSCREENPARAMS 3072
187 #define QUERYDIBSUPPORT 3073
188 #define BEGIN_PATH 4096
189 #define CLIP_TO_PATH 4097
190 #define END_PATH 4098
191 #define EXT_DEVICE_CAPS 4099
192 #define RESTORE_CTM 4100
193 #define SAVE_CTM 4101
194 #define SET_ARC_DIRECTION 4102
195 #define SET_BACKGROUND_COLOR 4103
196 #define SET_POLY_MODE 4104
197 #define SET_SCREEN_ANGLE 4105
198 #define SET_SPREAD 4106
199 #define TRANSFORM_CTM 4107
200 #define SET_CLIP_BOX 4108
201 #define SET_BOUNDS 4109
202 #define SET_MIRROR_MODE 4110
203 #define OPENCHANNEL 4110
204 #define DOWNLOADHEADER 4111
205 #define CLOSECHANNEL 4112
206 #define POSTSCRIPT_PASSTHROUGH 4115
207 #define ENCAPSULATED_POSTSCRIPT 4116
209 /* Spooler Error Codes */
210 #define SP_NOTREPORTED 0x4000
211 #define SP_ERROR (-1)
212 #define SP_APPABORT (-2)
213 #define SP_USERABORT (-3)
214 #define SP_OUTOFDISK (-4)
215 #define SP_OUTOFMEMORY (-5)
218 /* Raster operations */
220 #define R2_BLACK 1
221 #define R2_NOTMERGEPEN 2
222 #define R2_MASKNOTPEN 3
223 #define R2_NOTCOPYPEN 4
224 #define R2_MASKPENNOT 5
225 #define R2_NOT 6
226 #define R2_XORPEN 7
227 #define R2_NOTMASKPEN 8
228 #define R2_MASKPEN 9
229 #define R2_NOTXORPEN 10
230 #define R2_NOP 11
231 #define R2_MERGENOTPEN 12
232 #define R2_COPYPEN 13
233 #define R2_MERGEPENNOT 14
234 #define R2_MERGEPEN 15
235 #define R2_WHITE 16
237 #define SRCCOPY 0xcc0020
238 #define SRCPAINT 0xee0086
239 #define SRCAND 0x8800c6
240 #define SRCINVERT 0x660046
241 #define SRCERASE 0x440328
242 #define NOTSRCCOPY 0x330008
243 #define NOTSRCERASE 0x1100a6
244 #define MERGECOPY 0xc000ca
245 #define MERGEPAINT 0xbb0226
246 #define PATCOPY 0xf00021
247 #define PATPAINT 0xfb0a09
248 #define PATINVERT 0x5a0049
249 #define DSTINVERT 0x550009
250 #define BLACKNESS 0x000042
251 #define WHITENESS 0xff0062
253 /* StretchBlt() modes */
254 #define BLACKONWHITE 1
255 #define WHITEONBLACK 2
256 #define COLORONCOLOR 3
258 #define STRETCH_ANDSCANS BLACKONWHITE
259 #define STRETCH_ORSCANS WHITEONBLACK
260 #define STRETCH_DELETESCANS COLORONCOLOR
262 /* Colors */
264 typedef DWORD COLORREF;
266 #define RGB(r,g,b) ((COLORREF)((r) | ((g) << 8) | ((b) << 16)))
267 #define PALETTERGB(r,g,b) (0x02000000 | RGB(r,g,b))
268 #define PALETTEINDEX(i) ((COLORREF)(0x01000000 | (WORD)(i)))
270 #define GetRValue(rgb) ((rgb) & 0xff)
271 #define GetGValue(rgb) (((rgb) >> 8) & 0xff)
272 #define GetBValue(rgb) (((rgb) >> 16) & 0xff)
274 #define COLOR_SCROLLBAR 0
275 #define COLOR_BACKGROUND 1
276 #define COLOR_ACTIVECAPTION 2
277 #define COLOR_INACTIVECAPTION 3
278 #define COLOR_MENU 4
279 #define COLOR_WINDOW 5
280 #define COLOR_WINDOWFRAME 6
281 #define COLOR_MENUTEXT 7
282 #define COLOR_WINDOWTEXT 8
283 #define COLOR_CAPTIONTEXT 9
284 #define COLOR_ACTIVEBORDER 10
285 #define COLOR_INACTIVEBORDER 11
286 #define COLOR_APPWORKSPACE 12
287 #define COLOR_HIGHLIGHT 13
288 #define COLOR_HIGHLIGHTTEXT 14
289 #define COLOR_BTNFACE 15
290 #define COLOR_BTNSHADOW 16
291 #define COLOR_GRAYTEXT 17
292 #define COLOR_BTNTEXT 18
293 #define COLOR_INACTIVECAPTIONTEXT 19
294 #define COLOR_BTNHIGHLIGHT 20
295 /* win95 colors */
296 #define COLOR_3DDKSHADOW 21
297 #define COLOR_3DLIGHT 22
298 #define COLOR_INFOTEXT 23
299 #define COLOR_INFOBK 24
300 #define COLOR_DESKTOP COLOR_BACKGROUND
301 #define COLOR_3DFACE COLOR_BTNFACE
302 #define COLOR_3DSHADOW COLOR_BTNSHADOW
303 #define COLOR_3DHIGHLIGHT COLOR_BTNHIGHLIGHT
304 #define COLOR_3DHILIGHT COLOR_BTNHIGHLIGHT
305 #define COLOR_BTNHILIGHT COLOR_BTNHIGHLIGHT
306 /* win98 colors */
307 #define COLOR_ALTERNATEBTNFACE 25 /* undocumented, constant's name unknown */
308 #define COLOR_HOTLIGHT 26
309 #define COLOR_GRADIENTACTIVECAPTION 27
310 #define COLOR_GRADIENTINACTIVECAPTION 28
312 /* WM_CTLCOLOR values */
313 #define CTLCOLOR_MSGBOX 0
314 #define CTLCOLOR_EDIT 1
315 #define CTLCOLOR_LISTBOX 2
316 #define CTLCOLOR_BTN 3
317 #define CTLCOLOR_DLG 4
318 #define CTLCOLOR_SCROLLBAR 5
319 #define CTLCOLOR_STATIC 6
321 #define ICM_OFF 1
322 #define ICM_ON 2
323 #define ICM_QUERY 3
325 /* Bounds Accumulation APIs */
326 #define DCB_RESET 0x0001
327 #define DCB_ACCUMULATE 0x0002
328 #define DCB_DIRTY DCB_ACCUMULATE
329 #define DCB_SET (DCB_RESET | DCB_ACCUMULATE)
330 #define DCB_ENABLE 0x0004
331 #define DCB_DISABLE 0x0008
333 /* Bitmaps */
335 typedef struct
337 INT16 bmType;
338 INT16 bmWidth;
339 INT16 bmHeight;
340 INT16 bmWidthBytes;
341 BYTE bmPlanes;
342 BYTE bmBitsPixel;
343 SEGPTR bmBits WINE_PACKED;
344 } BITMAP16, *LPBITMAP16;
346 typedef struct
348 INT32 bmType;
349 INT32 bmWidth;
350 INT32 bmHeight;
351 INT32 bmWidthBytes;
352 WORD bmPlanes;
353 WORD bmBitsPixel;
354 LPVOID bmBits WINE_PACKED;
355 } BITMAP32, *LPBITMAP32;
357 DECL_WINELIB_TYPE(BITMAP)
358 DECL_WINELIB_TYPE(LPBITMAP)
360 /* Brushes */
362 typedef struct
364 UINT16 lbStyle;
365 COLORREF lbColor WINE_PACKED;
366 INT16 lbHatch;
367 } LOGBRUSH16, *LPLOGBRUSH16;
369 typedef struct
371 UINT32 lbStyle;
372 COLORREF lbColor;
373 INT32 lbHatch;
374 } LOGBRUSH32, *LPLOGBRUSH32;
376 DECL_WINELIB_TYPE(LOGBRUSH)
377 DECL_WINELIB_TYPE(LPLOGBRUSH)
379 /* Brush styles */
380 #define BS_SOLID 0
381 #define BS_NULL 1
382 #define BS_HOLLOW 1
383 #define BS_HATCHED 2
384 #define BS_PATTERN 3
385 #define BS_INDEXED 4
386 #define BS_DIBPATTERN 5
387 #define BS_DIBPATTERNPT 6
388 #define BS_PATTERN8X8 7
389 #define BS_DIBPATTERN8X8 8
390 #define BS_MONOPATTERN 9
392 /* Hatch styles */
393 #define HS_HORIZONTAL 0
394 #define HS_VERTICAL 1
395 #define HS_FDIAGONAL 2
396 #define HS_BDIAGONAL 3
397 #define HS_CROSS 4
398 #define HS_DIAGCROSS 5
400 /* Fonts */
402 #define LF_FACESIZE 32
403 #define LF_FULLFACESIZE 64
405 #define RASTER_FONTTYPE 0x0001
406 #define DEVICE_FONTTYPE 0x0002
407 #define TRUETYPE_FONTTYPE 0x0004
409 typedef struct
411 INT16 lfHeight;
412 INT16 lfWidth;
413 INT16 lfEscapement;
414 INT16 lfOrientation;
415 INT16 lfWeight;
416 BYTE lfItalic;
417 BYTE lfUnderline;
418 BYTE lfStrikeOut;
419 BYTE lfCharSet;
420 BYTE lfOutPrecision;
421 BYTE lfClipPrecision;
422 BYTE lfQuality;
423 BYTE lfPitchAndFamily;
424 CHAR lfFaceName[LF_FACESIZE] WINE_PACKED;
425 } LOGFONT16, *LPLOGFONT16;
427 typedef struct
429 INT32 lfHeight;
430 INT32 lfWidth;
431 INT32 lfEscapement;
432 INT32 lfOrientation;
433 INT32 lfWeight;
434 BYTE lfItalic;
435 BYTE lfUnderline;
436 BYTE lfStrikeOut;
437 BYTE lfCharSet;
438 BYTE lfOutPrecision;
439 BYTE lfClipPrecision;
440 BYTE lfQuality;
441 BYTE lfPitchAndFamily;
442 CHAR lfFaceName[LF_FACESIZE];
443 } LOGFONT32A, *LPLOGFONT32A;
445 typedef struct
447 INT32 lfHeight;
448 INT32 lfWidth;
449 INT32 lfEscapement;
450 INT32 lfOrientation;
451 INT32 lfWeight;
452 BYTE lfItalic;
453 BYTE lfUnderline;
454 BYTE lfStrikeOut;
455 BYTE lfCharSet;
456 BYTE lfOutPrecision;
457 BYTE lfClipPrecision;
458 BYTE lfQuality;
459 BYTE lfPitchAndFamily;
460 WCHAR lfFaceName[LF_FACESIZE];
461 } LOGFONT32W, *LPLOGFONT32W;
463 DECL_WINELIB_TYPE_AW(LOGFONT)
464 DECL_WINELIB_TYPE_AW(LPLOGFONT)
466 typedef struct
468 LOGFONT16 elfLogFont;
469 BYTE elfFullName[LF_FULLFACESIZE] WINE_PACKED;
470 BYTE elfStyle[LF_FACESIZE] WINE_PACKED;
471 } ENUMLOGFONT16, *LPENUMLOGFONT16;
473 typedef struct
475 LOGFONT32A elfLogFont;
476 BYTE elfFullName[LF_FULLFACESIZE] WINE_PACKED;
477 BYTE elfStyle[LF_FACESIZE] WINE_PACKED;
478 } ENUMLOGFONT32A, *LPENUMLOGFONT32A;
480 typedef struct
482 LOGFONT32W elfLogFont;
483 WCHAR elfFullName[LF_FULLFACESIZE] WINE_PACKED;
484 WCHAR elfStyle[LF_FACESIZE] WINE_PACKED;
485 } ENUMLOGFONT32W, *LPENUMLOGFONT32W;
487 typedef struct
489 LOGFONT16 elfLogFont;
490 BYTE elfFullName[LF_FULLFACESIZE] WINE_PACKED;
491 BYTE elfStyle[LF_FACESIZE] WINE_PACKED;
492 BYTE elfScript[LF_FACESIZE] WINE_PACKED;
493 } ENUMLOGFONTEX16, *LPENUMLOGFONTEX16;
495 typedef struct
497 LOGFONT32A elfLogFont;
498 BYTE elfFullName[LF_FULLFACESIZE] WINE_PACKED;
499 BYTE elfStyle[LF_FACESIZE] WINE_PACKED;
500 BYTE elfScript[LF_FACESIZE] WINE_PACKED;
501 } ENUMLOGFONTEX32A,*LPENUMLOGFONTEX32A;
503 typedef struct
505 LOGFONT32W elfLogFont;
506 WCHAR elfFullName[LF_FULLFACESIZE] WINE_PACKED;
507 WCHAR elfStyle[LF_FACESIZE] WINE_PACKED;
508 WCHAR elfScript[LF_FACESIZE] WINE_PACKED;
509 } ENUMLOGFONTEX32W,*LPENUMLOGFONTEX32W;
511 DECL_WINELIB_TYPE_AW(ENUMLOGFONT)
512 DECL_WINELIB_TYPE_AW(LPENUMLOGFONT)
513 DECL_WINELIB_TYPE_AW(LPENUMLOGFONTEX)
516 * The FONTSIGNATURE tells which Unicode ranges and which code pages
517 * have glyphs in a font.
519 * fsUsb 128-bit bitmap. The most significant bits are 10 (magic number).
520 * The remaining 126 bits map the Unicode ISO 10646 subranges
521 * for which the font provides glyphs.
523 * fsCsb 64-bit bitmap. The low 32 bits map the Windows codepages for
524 * which the font provides glyphs. The high 32 bits are for
525 * non Windows codepages.
527 typedef struct
529 DWORD fsUsb[4];
530 DWORD fsCsb[2];
531 } FONTSIGNATURE,*LPFONTSIGNATURE;
533 typedef struct
535 UINT32 ciCharset; /* character set */
536 UINT32 ciACP; /* ANSI code page */
537 FONTSIGNATURE fs;
538 } CHARSETINFO,*LPCHARSETINFO;
540 /* Flags for TranslateCharsetInfo */
541 #define TCI_SRCCHARSET 1
542 #define TCI_SRCCODEPAGE 2
543 #define TCI_SRCFONTSIG 3
545 /* Flags for ModifyWorldTransform */
546 #define MWT_IDENTITY 1
547 #define MWT_LEFTMULTIPLY 2
548 #define MWT_RIGHTMULTIPLY 3
550 /* Object Definitions for EnumObjects() */
551 #define OBJ_PEN 1
552 #define OBJ_BRUSH 2
553 #define OBJ_DC 3
554 #define OBJ_METADC 4
555 #define OBJ_PAL 5
556 #define OBJ_FONT 6
557 #define OBJ_BITMAP 7
558 #define OBJ_REGION 8
559 #define OBJ_METAFILE 9
560 #define OBJ_MEMDC 10
561 #define OBJ_EXTPEN 11
562 #define OBJ_ENHMETADC 12
563 #define OBJ_ENHMETAFILE 13
566 typedef struct
568 FLOAT eM11;
569 FLOAT eM12;
570 FLOAT eM21;
571 FLOAT eM22;
572 FLOAT eDx;
573 FLOAT eDy;
574 } XFORM, *LPXFORM;
576 typedef struct
578 INT16 txfHeight;
579 INT16 txfWidth;
580 INT16 txfEscapement;
581 INT16 txfOrientation;
582 INT16 txfWeight;
583 CHAR txfItalic;
584 CHAR txfUnderline;
585 CHAR txfStrikeOut;
586 CHAR txfOutPrecision;
587 CHAR txfClipPrecision;
588 INT16 txfAccelerator WINE_PACKED;
589 INT16 txfOverhang WINE_PACKED;
590 } TEXTXFORM16, *LPTEXTXFORM16;
592 typedef struct
594 INT16 dfType;
595 INT16 dfPoints;
596 INT16 dfVertRes;
597 INT16 dfHorizRes;
598 INT16 dfAscent;
599 INT16 dfInternalLeading;
600 INT16 dfExternalLeading;
601 CHAR dfItalic;
602 CHAR dfUnderline;
603 CHAR dfStrikeOut;
604 INT16 dfWeight;
605 BYTE dfCharSet;
606 INT16 dfPixWidth;
607 INT16 dfPixHeight;
608 CHAR dfPitchAndFamily;
609 INT16 dfAvgWidth;
610 INT16 dfMaxWidth;
611 CHAR dfFirstChar;
612 CHAR dfLastChar;
613 CHAR dfDefaultChar;
614 CHAR dfBreakChar;
615 INT16 dfWidthBytes;
616 LONG dfDevice;
617 LONG dfFace;
618 LONG dfBitsPointer;
619 LONG dfBitsOffset;
620 CHAR dfReserved;
621 LONG dfFlags;
622 INT16 dfAspace;
623 INT16 dfBspace;
624 INT16 dfCspace;
625 LONG dfColorPointer;
626 LONG dfReserved1[4];
627 } FONTINFO16, *LPFONTINFO16;
629 /* lfWeight values */
630 #define FW_DONTCARE 0
631 #define FW_THIN 100
632 #define FW_EXTRALIGHT 200
633 #define FW_ULTRALIGHT 200
634 #define FW_LIGHT 300
635 #define FW_NORMAL 400
636 #define FW_REGULAR 400
637 #define FW_MEDIUM 500
638 #define FW_SEMIBOLD 600
639 #define FW_DEMIBOLD 600
640 #define FW_BOLD 700
641 #define FW_EXTRABOLD 800
642 #define FW_ULTRABOLD 800
643 #define FW_HEAVY 900
644 #define FW_BLACK 900
646 /* lfCharSet values */
647 #define ANSI_CHARSET (BYTE)0 /* CP1252, ansi-0, iso8859-{1,15} */
648 #define DEFAULT_CHARSET (BYTE)1
649 #define SYMBOL_CHARSET (BYTE)2
650 #define SHIFTJIS_CHARSET (BYTE)128 /* CP932 */
651 #define HANGEUL_CHARSET (BYTE)129 /* CP949, ksc5601.1987-0 */
652 #define HANGUL_CHARSET HANGEUL_CHARSET
653 #define GB2312_CHARSET (BYTE)134 /* CP936, gb2312.1980-0 */
654 #define CHINESEBIG5_CHARSET (BYTE)136 /* CP950, big5.et-0 */
655 #define GREEK_CHARSET (BYTE)161 /* CP1253 */
656 #define TURKISH_CHARSET (BYTE)162 /* CP1254, -iso8859-9 */
657 #define HEBREW_CHARSET (BYTE)177 /* CP1255, -iso8859-8 */
658 #define ARABIC_CHARSET (BYTE)178 /* CP1256, -iso8859-6 */
659 #define BALTIC_CHARSET (BYTE)186 /* CP1257, -iso8859-10 */
660 #define RUSSIAN_CHARSET (BYTE)204 /* CP1251, -iso8859-5 */
661 #define EE_CHARSET (BYTE)238 /* CP1250, -iso8859-2 */
662 #define EASTEUROPE_CHARSET EE_CHARSET
663 #define THAI_CHARSET (BYTE)222 /* CP874, iso8859-11, tis620 */
664 #define JOHAB_CHARSET (BYTE)130 /* korean (johab) CP1361 */
665 #define OEM_CHARSET (BYTE)255
666 /* I don't know if the values of *_CHARSET macros are defined in Windows
667 * or if we can choose them as we want. -- srtxg
669 #define VISCII_CHARSET (BYTE)240 /* viscii1.1-1 */
670 #define TCVN_CHARSET (BYTE)241 /* tcvn-0 */
671 #define KOI8_CHARSET (BYTE)242 /* koi8-{r,u,ru} */
672 #define ISO3_CHARSET (BYTE)243 /* iso8859-3 */
673 #define ISO4_CHARSET (BYTE)244 /* iso8859-4 */
675 /* lfOutPrecision values */
676 #define OUT_DEFAULT_PRECIS 0
677 #define OUT_STRING_PRECIS 1
678 #define OUT_CHARACTER_PRECIS 2
679 #define OUT_STROKE_PRECIS 3
680 #define OUT_TT_PRECIS 4
681 #define OUT_DEVICE_PRECIS 5
682 #define OUT_RASTER_PRECIS 6
683 #define OUT_TT_ONLY_PRECIS 7
685 /* lfClipPrecision values */
686 #define CLIP_DEFAULT_PRECIS 0x00
687 #define CLIP_CHARACTER_PRECIS 0x01
688 #define CLIP_STROKE_PRECIS 0x02
689 #define CLIP_MASK 0x0F
690 #define CLIP_LH_ANGLES 0x10
691 #define CLIP_TT_ALWAYS 0x20
692 #define CLIP_EMBEDDED 0x80
694 /* lfQuality values */
695 #define DEFAULT_QUALITY 0
696 #define DRAFT_QUALITY 1
697 #define PROOF_QUALITY 2
699 /* lfPitchAndFamily pitch values */
700 #define DEFAULT_PITCH 0x00
701 #define FIXED_PITCH 0x01
702 #define VARIABLE_PITCH 0x02
703 #define FF_DONTCARE 0x00
704 #define FF_ROMAN 0x10
705 #define FF_SWISS 0x20
706 #define FF_MODERN 0x30
707 #define FF_SCRIPT 0x40
708 #define FF_DECORATIVE 0x50
710 typedef struct
712 INT16 tmHeight;
713 INT16 tmAscent;
714 INT16 tmDescent;
715 INT16 tmInternalLeading;
716 INT16 tmExternalLeading;
717 INT16 tmAveCharWidth;
718 INT16 tmMaxCharWidth;
719 INT16 tmWeight;
720 BYTE tmItalic;
721 BYTE tmUnderlined;
722 BYTE tmStruckOut;
723 BYTE tmFirstChar;
724 BYTE tmLastChar;
725 BYTE tmDefaultChar;
726 BYTE tmBreakChar;
727 BYTE tmPitchAndFamily;
728 BYTE tmCharSet;
729 INT16 tmOverhang WINE_PACKED;
730 INT16 tmDigitizedAspectX WINE_PACKED;
731 INT16 tmDigitizedAspectY WINE_PACKED;
732 } TEXTMETRIC16, *LPTEXTMETRIC16;
734 typedef struct
736 INT32 tmHeight;
737 INT32 tmAscent;
738 INT32 tmDescent;
739 INT32 tmInternalLeading;
740 INT32 tmExternalLeading;
741 INT32 tmAveCharWidth;
742 INT32 tmMaxCharWidth;
743 INT32 tmWeight;
744 INT32 tmOverhang;
745 INT32 tmDigitizedAspectX;
746 INT32 tmDigitizedAspectY;
747 BYTE tmFirstChar;
748 BYTE tmLastChar;
749 BYTE tmDefaultChar;
750 BYTE tmBreakChar;
751 BYTE tmItalic;
752 BYTE tmUnderlined;
753 BYTE tmStruckOut;
754 BYTE tmPitchAndFamily;
755 BYTE tmCharSet;
756 } TEXTMETRIC32A, *LPTEXTMETRIC32A;
758 typedef struct
760 INT32 tmHeight;
761 INT32 tmAscent;
762 INT32 tmDescent;
763 INT32 tmInternalLeading;
764 INT32 tmExternalLeading;
765 INT32 tmAveCharWidth;
766 INT32 tmMaxCharWidth;
767 INT32 tmWeight;
768 INT32 tmOverhang;
769 INT32 tmDigitizedAspectX;
770 INT32 tmDigitizedAspectY;
771 WCHAR tmFirstChar;
772 WCHAR tmLastChar;
773 WCHAR tmDefaultChar;
774 WCHAR tmBreakChar;
775 BYTE tmItalic;
776 BYTE tmUnderlined;
777 BYTE tmStruckOut;
778 BYTE tmPitchAndFamily;
779 BYTE tmCharSet;
780 } TEXTMETRIC32W, *LPTEXTMETRIC32W;
782 DECL_WINELIB_TYPE_AW(TEXTMETRIC)
783 DECL_WINELIB_TYPE_AW(LPTEXTMETRIC)
786 typedef struct tagPANOSE
788 BYTE bFamilyType;
789 BYTE bSerifStyle;
790 BYTE bWeight;
791 BYTE bProportion;
792 BYTE bContrast;
793 BYTE bStrokeVariation;
794 BYTE bArmStyle;
795 BYTE bLetterform;
796 BYTE bMidline;
797 BYTE bXHeight;
798 } PANOSE;
801 typedef struct _OUTLINETEXTMETRIC32A
803 UINT32 otmSize;
804 TEXTMETRIC32A otmTextMetrics;
805 BYTE otmFilter;
806 PANOSE otmPanoseNumber;
807 UINT32 otmfsSelection;
808 UINT32 otmfsType;
809 INT32 otmsCharSlopeRise;
810 INT32 otmsCharSlopeRun;
811 INT32 otmItalicAngle;
812 UINT32 otmEMSquare;
813 INT32 otmAscent;
814 INT32 otmDescent;
815 UINT32 otmLineGap;
816 UINT32 otmsCapEmHeight;
817 UINT32 otmsXHeight;
818 RECT32 otmrcFontBox;
819 INT32 otmMacAscent;
820 INT32 otmMacDescent;
821 UINT32 otmMacLineGap;
822 UINT32 otmusMinimumPPEM;
823 POINT32 otmptSubscriptSize;
824 POINT32 otmptSubscriptOffset;
825 POINT32 otmptSuperscriptSize;
826 POINT32 otmptSuperscriptOffset;
827 UINT32 otmsStrikeoutSize;
828 INT32 otmsStrikeoutPosition;
829 INT32 otmsUnderscoreSize;
830 INT32 otmsUnderscorePosition;
831 LPSTR otmpFamilyName;
832 LPSTR otmpFaceName;
833 LPSTR otmpStyleName;
834 LPSTR otmpFullName;
835 } OUTLINETEXTMETRIC32A, *LPOUTLINETEXTMETRIC32A;
837 typedef struct _OUTLINETEXTMETRIC32W
839 UINT32 otmSize;
840 TEXTMETRIC32W otmTextMetrics;
841 BYTE otmFilter;
842 PANOSE otmPanoseNumber;
843 UINT32 otmfsSelection;
844 UINT32 otmfsType;
845 INT32 otmsCharSlopeRise;
846 INT32 otmsCharSlopeRun;
847 INT32 otmItalicAngle;
848 UINT32 otmEMSquare;
849 INT32 otmAscent;
850 INT32 otmDescent;
851 UINT32 otmLineGap;
852 UINT32 otmsCapEmHeight;
853 UINT32 otmsXHeight;
854 RECT32 otmrcFontBox;
855 INT32 otmMacAscent;
856 INT32 otmMacDescent;
857 UINT32 otmMacLineGap;
858 UINT32 otmusMinimumPPEM;
859 POINT32 otmptSubscriptSize;
860 POINT32 otmptSubscriptOffset;
861 POINT32 otmptSuperscriptSize;
862 POINT32 otmptSuperscriptOffset;
863 UINT32 otmsStrikeoutSize;
864 INT32 otmsStrikeoutPosition;
865 INT32 otmsUnderscoreSize;
866 INT32 otmsUnderscorePosition;
867 LPSTR otmpFamilyName;
868 LPSTR otmpFaceName;
869 LPSTR otmpStyleName;
870 LPSTR otmpFullName;
871 } OUTLINETEXTMETRIC32W, *LPOUTLINETEXTMETRIC32W;
873 typedef struct _OUTLINETEXTMETRIC16
875 UINT16 otmSize;
876 TEXTMETRIC16 otmTextMetrics;
877 BYTE otmFilter;
878 PANOSE otmPanoseNumber;
879 UINT16 otmfsSelection;
880 UINT16 otmfsType;
881 INT16 otmsCharSlopeRise;
882 INT16 otmsCharSlopeRun;
883 INT16 otmItalicAngle;
884 UINT16 otmEMSquare;
885 INT16 otmAscent;
886 INT16 otmDescent;
887 UINT16 otmLineGap;
888 UINT16 otmsCapEmHeight;
889 UINT16 otmsXHeight;
890 RECT16 otmrcFontBox;
891 INT16 otmMacAscent;
892 INT16 otmMacDescent;
893 UINT16 otmMacLineGap;
894 UINT16 otmusMinimumPPEM;
895 POINT16 otmptSubscriptSize;
896 POINT16 otmptSubscriptOffset;
897 POINT16 otmptSuperscriptSize;
898 POINT16 otmptSuperscriptOffset;
899 UINT16 otmsStrikeoutSize;
900 INT16 otmsStrikeoutPosition;
901 INT16 otmsUnderscoreSize;
902 INT32 otmsUnderscorePosition;
903 LPSTR otmpFamilyName;
904 LPSTR otmpFaceName;
905 LPSTR otmpStyleName;
906 LPSTR otmpFullName;
907 } OUTLINETEXTMETRIC16,*LPOUTLINETEXTMETRIC16;
909 DECL_WINELIB_TYPE_AW(OUTLINETEXTMETRIC)
910 DECL_WINELIB_TYPE_AW(LPOUTLINETEXTMETRIC)
914 /* ntmFlags field flags */
915 #define NTM_REGULAR 0x00000040L
916 #define NTM_BOLD 0x00000020L
917 #define NTM_ITALIC 0x00000001L
919 typedef struct
921 INT16 tmHeight;
922 INT16 tmAscent;
923 INT16 tmDescent;
924 INT16 tmInternalLeading;
925 INT16 tmExternalLeading;
926 INT16 tmAveCharWidth;
927 INT16 tmMaxCharWidth;
928 INT16 tmWeight;
929 BYTE tmItalic;
930 BYTE tmUnderlined;
931 BYTE tmStruckOut;
932 BYTE tmFirstChar;
933 BYTE tmLastChar;
934 BYTE tmDefaultChar;
935 BYTE tmBreakChar;
936 BYTE tmPitchAndFamily;
937 BYTE tmCharSet;
938 INT16 tmOverhang WINE_PACKED;
939 INT16 tmDigitizedAspectX WINE_PACKED;
940 INT16 tmDigitizedAspectY WINE_PACKED;
941 DWORD ntmFlags;
942 UINT16 ntmSizeEM;
943 UINT16 ntmCellHeight;
944 UINT16 ntmAvgWidth;
945 } NEWTEXTMETRIC16,*LPNEWTEXTMETRIC16;
947 typedef struct
949 INT32 tmHeight;
950 INT32 tmAscent;
951 INT32 tmDescent;
952 INT32 tmInternalLeading;
953 INT32 tmExternalLeading;
954 INT32 tmAveCharWidth;
955 INT32 tmMaxCharWidth;
956 INT32 tmWeight;
957 INT32 tmOverhang;
958 INT32 tmDigitizedAspectX;
959 INT32 tmDigitizedAspectY;
960 BYTE tmFirstChar;
961 BYTE tmLastChar;
962 BYTE tmDefaultChar;
963 BYTE tmBreakChar;
964 BYTE tmItalic;
965 BYTE tmUnderlined;
966 BYTE tmStruckOut;
967 BYTE tmPitchAndFamily;
968 BYTE tmCharSet;
969 DWORD ntmFlags;
970 UINT32 ntmSizeEM;
971 UINT32 ntmCellHeight;
972 UINT32 ntmAvgWidth;
973 } NEWTEXTMETRIC32A, *LPNEWTEXTMETRIC32A;
975 typedef struct
977 INT32 tmHeight;
978 INT32 tmAscent;
979 INT32 tmDescent;
980 INT32 tmInternalLeading;
981 INT32 tmExternalLeading;
982 INT32 tmAveCharWidth;
983 INT32 tmMaxCharWidth;
984 INT32 tmWeight;
985 INT32 tmOverhang;
986 INT32 tmDigitizedAspectX;
987 INT32 tmDigitizedAspectY;
988 WCHAR tmFirstChar;
989 WCHAR tmLastChar;
990 WCHAR tmDefaultChar;
991 WCHAR tmBreakChar;
992 BYTE tmItalic;
993 BYTE tmUnderlined;
994 BYTE tmStruckOut;
995 BYTE tmPitchAndFamily;
996 BYTE tmCharSet;
997 DWORD ntmFlags;
998 UINT32 ntmSizeEM;
999 UINT32 ntmCellHeight;
1000 UINT32 ntmAvgWidth;
1001 } NEWTEXTMETRIC32W, *LPNEWTEXTMETRIC32W;
1003 DECL_WINELIB_TYPE_AW(NEWTEXTMETRIC)
1004 DECL_WINELIB_TYPE_AW(LPNEWTEXTMETRIC)
1006 typedef struct
1008 NEWTEXTMETRIC16 ntmetm;
1009 FONTSIGNATURE ntmeFontSignature;
1010 } NEWTEXTMETRICEX16,*LPNEWTEXTMETRICEX16;
1012 typedef struct
1014 NEWTEXTMETRIC32A ntmetm;
1015 FONTSIGNATURE ntmeFontSignature;
1016 } NEWTEXTMETRICEX32A,*LPNEWTEXTMETRICEX32A;
1018 typedef struct
1020 NEWTEXTMETRIC32W ntmetm;
1021 FONTSIGNATURE ntmeFontSignature;
1022 } NEWTEXTMETRICEX32W,*LPNEWTEXTMETRICEX32W;
1024 DECL_WINELIB_TYPE_AW(NEWTEXTMETRICEX)
1025 DECL_WINELIB_TYPE_AW(LPNEWTEXTMETRICEX)
1028 typedef INT16 (CALLBACK *FONTENUMPROC16)(SEGPTR,SEGPTR,UINT16,LPARAM);
1029 typedef INT32 (CALLBACK *FONTENUMPROC32A)(LPENUMLOGFONT32A,LPNEWTEXTMETRIC32A,
1030 UINT32,LPARAM);
1031 typedef INT32 (CALLBACK *FONTENUMPROC32W)(LPENUMLOGFONT32W,LPNEWTEXTMETRIC32W,
1032 UINT32,LPARAM);
1033 DECL_WINELIB_TYPE_AW(FONTENUMPROC)
1035 typedef INT16 (CALLBACK *FONTENUMPROCEX16)(SEGPTR,SEGPTR,UINT16,LPARAM);
1036 typedef INT32 (CALLBACK *FONTENUMPROCEX32A)(LPENUMLOGFONTEX32A,LPNEWTEXTMETRICEX32A,UINT32,LPARAM);
1037 typedef INT32 (CALLBACK *FONTENUMPROCEX32W)(LPENUMLOGFONTEX32W,LPNEWTEXTMETRICEX32W,UINT32,LPARAM);
1038 DECL_WINELIB_TYPE_AW(FONTENUMPROCEX)
1040 /* tmPitchAndFamily bits */
1041 #define TMPF_FIXED_PITCH 1 /* means variable pitch */
1042 #define TMPF_VECTOR 2
1043 #define TMPF_TRUETYPE 4
1044 #define TMPF_DEVICE 8
1046 /* Text alignment */
1047 #define TA_NOUPDATECP 0x00
1048 #define TA_UPDATECP 0x01
1049 #define TA_LEFT 0x00
1050 #define TA_RIGHT 0x02
1051 #define TA_CENTER 0x06
1052 #define TA_TOP 0x00
1053 #define TA_BOTTOM 0x08
1054 #define TA_BASELINE 0x18
1056 /* ExtTextOut() parameters */
1057 #define ETO_GRAYED 0x01
1058 #define ETO_OPAQUE 0x02
1059 #define ETO_CLIPPED 0x04
1061 typedef struct
1063 UINT16 gmBlackBoxX;
1064 UINT16 gmBlackBoxY;
1065 POINT16 gmptGlyphOrigin;
1066 INT16 gmCellIncX;
1067 INT16 gmCellIncY;
1068 } GLYPHMETRICS16, *LPGLYPHMETRICS16;
1070 typedef struct
1072 UINT32 gmBlackBoxX;
1073 UINT32 gmBlackBoxY;
1074 POINT32 gmptGlyphOrigin;
1075 INT16 gmCellIncX;
1076 INT16 gmCellIncY;
1077 } GLYPHMETRICS32, *LPGLYPHMETRICS32;
1079 DECL_WINELIB_TYPE(GLYPHMETRICS)
1080 DECL_WINELIB_TYPE(LPGLYPHMETRICS)
1082 #define GGO_METRICS 0
1083 #define GGO_BITMAP 1
1084 #define GGO_NATIVE 2
1086 typedef struct
1088 UINT16 fract;
1089 INT16 value;
1090 } FIXED;
1092 typedef struct
1094 FIXED eM11;
1095 FIXED eM12;
1096 FIXED eM21;
1097 FIXED eM22;
1098 } MAT2, *LPMAT2;
1100 /* for GetCharABCWidths() */
1101 typedef struct
1103 INT16 abcA;
1104 UINT16 abcB;
1105 INT16 abcC;
1106 } ABC16, *LPABC16;
1108 typedef struct
1110 INT32 abcA;
1111 UINT32 abcB;
1112 INT32 abcC;
1113 } ABC32, *LPABC32;
1115 DECL_WINELIB_TYPE(ABC)
1116 DECL_WINELIB_TYPE(LPABC)
1118 /* for GetCharacterPlacement () */
1119 typedef struct tagGCP_RESULTS32A
1121 DWORD lStructSize;
1122 LPSTR lpOutString;
1123 UINT32 *lpOrder;
1124 INT32 *lpDx;
1125 INT32 *lpCaretPos;
1126 LPSTR lpClass;
1127 UINT32 *lpGlyphs;
1128 UINT32 nGlyphs;
1129 UINT32 nMaxFit;
1130 } GCP_RESULTS32A;
1132 typedef struct tagGCP_RESULTS32W
1134 DWORD lStructSize;
1135 LPWSTR lpOutString;
1136 UINT32 *lpOrder;
1137 INT32 *lpDx;
1138 INT32 *lpCaretPos;
1139 LPWSTR lpClass;
1140 UINT32 *lpGlyphs;
1141 UINT32 nGlyphs;
1142 UINT32 nMaxFit;
1143 } GCP_RESULTS32W;
1145 DECL_WINELIB_TYPE_AW(GCP_RESULTS)
1147 /* Rasterizer status */
1148 typedef struct
1150 INT16 nSize;
1151 INT16 wFlags;
1152 INT16 nLanguageID;
1153 } RASTERIZER_STATUS, *LPRASTERIZER_STATUS;
1155 #define TT_AVAILABLE 0x0001
1156 #define TT_ENABLED 0x0002
1158 /* Get/SetSystemPaletteUse() values */
1159 #define SYSPAL_STATIC 1
1160 #define SYSPAL_NOSTATIC 2
1162 typedef struct tagPALETTEENTRY
1164 BYTE peRed, peGreen, peBlue, peFlags;
1165 } PALETTEENTRY, *LPPALETTEENTRY;
1167 /* Logical palette entry flags */
1168 #define PC_RESERVED 0x01
1169 #define PC_EXPLICIT 0x02
1170 #define PC_NOCOLLAPSE 0x04
1172 typedef struct
1174 WORD palVersion;
1175 WORD palNumEntries;
1176 PALETTEENTRY palPalEntry[1] WINE_PACKED;
1177 } LOGPALETTE, *LPLOGPALETTE;
1179 /* Pens */
1181 typedef struct
1183 UINT16 lopnStyle;
1184 POINT16 lopnWidth WINE_PACKED;
1185 COLORREF lopnColor WINE_PACKED;
1186 } LOGPEN16, *LPLOGPEN16;
1188 typedef struct
1190 UINT32 lopnStyle;
1191 POINT32 lopnWidth WINE_PACKED;
1192 COLORREF lopnColor WINE_PACKED;
1193 } LOGPEN32, *LPLOGPEN32;
1195 DECL_WINELIB_TYPE(LOGPEN)
1196 DECL_WINELIB_TYPE(LPLOGPEN)
1198 typedef struct tagEXTLOGPEN
1200 DWORD elpPenStyle;
1201 DWORD elpWidth;
1202 DWORD elpBrushStyle;
1203 DWORD elpColor;
1204 DWORD elpNumEntries;
1205 DWORD elpStyleEntry[1];
1206 } EXTLOGPEN, *PEXTLOGPEN, *NPEXTLOGPEN, *LPEXTLOGPEN;
1208 #define PS_SOLID 0x00000000
1209 #define PS_DASH 0x00000001
1210 #define PS_DOT 0x00000002
1211 #define PS_DASHDOT 0x00000003
1212 #define PS_DASHDOTDOT 0x00000004
1213 #define PS_NULL 0x00000005
1214 #define PS_INSIDEFRAME 0x00000006
1215 #define PS_USERSTYLE 0x00000007
1216 #define PS_ALTERNATE 0x00000008
1217 #define PS_STYLE_MASK 0x0000000f
1219 #define PS_ENDCAP_ROUND 0x00000000
1220 #define PS_ENDCAP_SQUARE 0x00000100
1221 #define PS_ENDCAP_FLAT 0x00000200
1222 #define PS_ENDCAP_MASK 0x00000f00
1224 #define PS_JOIN_ROUND 0x00000000
1225 #define PS_JOIN_BEVEL 0x00001000
1226 #define PS_JOIN_MITER 0x00002000
1227 #define PS_JOIN_MASK 0x0000f000
1229 #define PS_COSMETIC 0x00000000
1230 #define PS_GEOMETRIC 0x00010000
1231 #define PS_TYPE_MASK 0x000f0000
1233 /* Regions */
1235 #define ERROR 0
1236 #define NULLREGION 1
1237 #define SIMPLEREGION 2
1238 #define COMPLEXREGION 3
1240 #define RGN_AND 1
1241 #define RGN_OR 2
1242 #define RGN_XOR 3
1243 #define RGN_DIFF 4
1244 #define RGN_COPY 5
1246 /* Device contexts */
1248 /* GetDCEx flags */
1249 #define DCX_WINDOW 0x00000001
1250 #define DCX_CACHE 0x00000002
1251 #define DCX_CLIPCHILDREN 0x00000008
1252 #define DCX_CLIPSIBLINGS 0x00000010
1253 #define DCX_PARENTCLIP 0x00000020
1254 #define DCX_EXCLUDERGN 0x00000040
1255 #define DCX_INTERSECTRGN 0x00000080
1256 #define DCX_LOCKWINDOWUPDATE 0x00000400
1257 #define DCX_USESTYLE 0x00010000
1259 /* Polygon modes */
1260 #define ALTERNATE 1
1261 #define WINDING 2
1263 /* Background modes */
1264 #ifdef TRANSPARENT /*Apparently some broken svr4 includes define TRANSPARENT*/
1265 #undef TRANSPARENT
1266 #endif
1267 #define TRANSPARENT 1
1268 #define OPAQUE 2
1271 /* Graphics Modes */
1272 #define GM_COMPATIBLE 1
1273 #define GM_ADVANCED 2
1274 #define GM_LAST 2
1276 /* Arc direction modes */
1277 #define AD_COUNTERCLOCKWISE 1
1278 #define AD_CLOCKWISE 2
1280 /* Map modes */
1281 #define MM_TEXT 1
1282 #define MM_LOMETRIC 2
1283 #define MM_HIMETRIC 3
1284 #define MM_LOENGLISH 4
1285 #define MM_HIENGLISH 5
1286 #define MM_TWIPS 6
1287 #define MM_ISOTROPIC 7
1288 #define MM_ANISOTROPIC 8
1290 /* Coordinate modes */
1291 #define ABSOLUTE 1
1292 #define RELATIVE 2
1294 /* Flood fill modes */
1295 #define FLOODFILLBORDER 0
1296 #define FLOODFILLSURFACE 1
1298 /* Device parameters for GetDeviceCaps() */
1299 #define DRIVERVERSION 0
1300 #define TECHNOLOGY 2
1301 #define HORZSIZE 4
1302 #define VERTSIZE 6
1303 #define HORZRES 8
1304 #define VERTRES 10
1305 #define BITSPIXEL 12
1306 #define PLANES 14
1307 #define NUMBRUSHES 16
1308 #define NUMPENS 18
1309 #define NUMMARKERS 20
1310 #define NUMFONTS 22
1311 #define NUMCOLORS 24
1312 #define PDEVICESIZE 26
1313 #define CURVECAPS 28
1314 #define LINECAPS 30
1315 #define POLYGONALCAPS 32
1316 #define TEXTCAPS 34
1317 #define CLIPCAPS 36
1318 #define RASTERCAPS 38
1319 #define ASPECTX 40
1320 #define ASPECTY 42
1321 #define ASPECTXY 44
1322 #define LOGPIXELSX 88
1323 #define LOGPIXELSY 90
1324 #define SIZEPALETTE 104
1325 #define NUMRESERVED 106
1326 #define COLORRES 108
1328 /* TECHNOLOGY */
1329 #define DT_PLOTTER 0
1330 #define DT_RASDISPLAY 1
1331 #define DT_RASPRINTER 2
1332 #define DT_RASCAMERA 3
1333 #define DT_CHARSTREAM 4
1334 #define DT_METAFILE 5
1335 #define DT_DISPFILE 6
1337 /* CURVECAPS */
1338 #define CC_NONE 0x0000
1339 #define CC_CIRCLES 0x0001
1340 #define CC_PIE 0x0002
1341 #define CC_CHORD 0x0004
1342 #define CC_ELLIPSES 0x0008
1343 #define CC_WIDE 0x0010
1344 #define CC_STYLED 0x0020
1345 #define CC_WIDESTYLED 0x0040
1346 #define CC_INTERIORS 0x0080
1347 #define CC_ROUNDRECT 0x0100
1349 /* LINECAPS */
1350 #define LC_NONE 0x0000
1351 #define LC_POLYLINE 0x0002
1352 #define LC_MARKER 0x0004
1353 #define LC_POLYMARKER 0x0008
1354 #define LC_WIDE 0x0010
1355 #define LC_STYLED 0x0020
1356 #define LC_WIDESTYLED 0x0040
1357 #define LC_INTERIORS 0x0080
1359 /* POLYGONALCAPS */
1360 #define PC_NONE 0x0000
1361 #define PC_POLYGON 0x0001
1362 #define PC_RECTANGLE 0x0002
1363 #define PC_WINDPOLYGON 0x0004
1364 #define PC_SCANLINE 0x0008
1365 #define PC_WIDE 0x0010
1366 #define PC_STYLED 0x0020
1367 #define PC_WIDESTYLED 0x0040
1368 #define PC_INTERIORS 0x0080
1370 /* TEXTCAPS */
1371 #define TC_OP_CHARACTER 0x0001
1372 #define TC_OP_STROKE 0x0002
1373 #define TC_CP_STROKE 0x0004
1374 #define TC_CR_90 0x0008
1375 #define TC_CR_ANY 0x0010
1376 #define TC_SF_X_YINDEP 0x0020
1377 #define TC_SA_DOUBLE 0x0040
1378 #define TC_SA_INTEGER 0x0080
1379 #define TC_SA_CONTIN 0x0100
1380 #define TC_EA_DOUBLE 0x0200
1381 #define TC_IA_ABLE 0x0400
1382 #define TC_UA_ABLE 0x0800
1383 #define TC_SO_ABLE 0x1000
1384 #define TC_RA_ABLE 0x2000
1385 #define TC_VA_ABLE 0x4000
1386 #define TC_RESERVED 0x8000
1388 /* CLIPCAPS */
1389 #define CP_NONE 0x0000
1390 #define CP_RECTANGLE 0x0001
1391 #define CP_REGION 0x0002
1393 /* RASTERCAPS */
1394 #define RC_NONE 0x0000
1395 #define RC_BITBLT 0x0001
1396 #define RC_BANDING 0x0002
1397 #define RC_SCALING 0x0004
1398 #define RC_BITMAP64 0x0008
1399 #define RC_GDI20_OUTPUT 0x0010
1400 #define RC_GDI20_STATE 0x0020
1401 #define RC_SAVEBITMAP 0x0040
1402 #define RC_DI_BITMAP 0x0080
1403 #define RC_PALETTE 0x0100
1404 #define RC_DIBTODEV 0x0200
1405 #define RC_BIGFONT 0x0400
1406 #define RC_STRETCHBLT 0x0800
1407 #define RC_FLOODFILL 0x1000
1408 #define RC_STRETCHDIB 0x2000
1409 #define RC_OP_DX_OUTPUT 0x4000
1410 #define RC_DEVBITS 0x8000
1412 /* GetSystemMetrics() codes */
1413 #define SM_CXSCREEN 0
1414 #define SM_CYSCREEN 1
1415 #define SM_CXVSCROLL 2
1416 #define SM_CYHSCROLL 3
1417 #define SM_CYCAPTION 4
1418 #define SM_CXBORDER 5
1419 #define SM_CYBORDER 6
1420 #define SM_CXDLGFRAME 7
1421 #define SM_CYDLGFRAME 8
1422 #define SM_CYVTHUMB 9
1423 #define SM_CXHTHUMB 10
1424 #define SM_CXICON 11
1425 #define SM_CYICON 12
1426 #define SM_CXCURSOR 13
1427 #define SM_CYCURSOR 14
1428 #define SM_CYMENU 15
1429 #define SM_CXFULLSCREEN 16
1430 #define SM_CYFULLSCREEN 17
1431 #define SM_CYKANJIWINDOW 18
1432 #define SM_MOUSEPRESENT 19
1433 #define SM_CYVSCROLL 20
1434 #define SM_CXHSCROLL 21
1435 #define SM_DEBUG 22
1436 #define SM_SWAPBUTTON 23
1437 #define SM_RESERVED1 24
1438 #define SM_RESERVED2 25
1439 #define SM_RESERVED3 26
1440 #define SM_RESERVED4 27
1441 #define SM_CXMIN 28
1442 #define SM_CYMIN 29
1443 #define SM_CXSIZE 30
1444 #define SM_CYSIZE 31
1445 #define SM_CXFRAME 32
1446 #define SM_CYFRAME 33
1447 #define SM_CXMINTRACK 34
1448 #define SM_CYMINTRACK 35
1449 #define SM_CXDOUBLECLK 36
1450 #define SM_CYDOUBLECLK 37
1451 #define SM_CXICONSPACING 38
1452 #define SM_CYICONSPACING 39
1453 #define SM_MENUDROPALIGNMENT 40
1454 #define SM_PENWINDOWS 41
1455 #define SM_DBCSENABLED 42
1456 #define SM_CMOUSEBUTTONS 43
1457 #define SM_CXFIXEDFRAME SM_CXDLGFRAME
1458 #define SM_CYFIXEDFRAME SM_CYDLGFRAME
1459 #define SM_CXSIZEFRAME SM_CXFRAME
1460 #define SM_CYSIZEFRAME SM_CYFRAME
1461 #define SM_SECURE 44
1462 #define SM_CXEDGE 45
1463 #define SM_CYEDGE 46
1464 #define SM_CXMINSPACING 47
1465 #define SM_CYMINSPACING 48
1466 #define SM_CXSMICON 49
1467 #define SM_CYSMICON 50
1468 #define SM_CYSMCAPTION 51
1469 #define SM_CXSMSIZE 52
1470 #define SM_CYSMSIZE 53
1471 #define SM_CXMENUSIZE 54
1472 #define SM_CYMENUSIZE 55
1473 #define SM_ARRANGE 56
1474 #define SM_CXMINIMIZED 57
1475 #define SM_CYMINIMIZED 58
1476 #define SM_CXMAXTRACK 59
1477 #define SM_CYMAXTRACK 60
1478 #define SM_CXMAXIMIZED 61
1479 #define SM_CYMAXIMIZED 62
1480 #define SM_NETWORK 63
1481 #define SM_CLEANBOOT 67
1482 #define SM_CXDRAG 68
1483 #define SM_CYDRAG 69
1484 #define SM_SHOWSOUNDS 70
1485 #define SM_CXMENUCHECK 71
1486 #define SM_CYMENUCHECK 72
1487 #define SM_SLOWMACHINE 73
1488 #define SM_MIDEASTENABLED 74
1489 #define SM_MOUSEWHEELPRESENT 75
1490 #define SM_XVIRTUALSCREEN 76
1491 #define SM_YVIRTUALSCREEN 77
1492 #define SM_CXVIRTUALSCREEN 78
1493 #define SM_CYVIRTUALSCREEN 79
1494 #define SM_CMONITORS 80
1495 #define SM_SAMEDISPLAYFORMAT 81
1496 #define SM_CMETRICS 83
1499 /* Device-independent bitmaps */
1501 typedef struct { BYTE rgbBlue, rgbGreen, rgbRed, rgbReserved; } RGBQUAD;
1502 typedef struct { BYTE rgbtBlue, rgbtGreen, rgbtRed; } RGBTRIPLE;
1504 typedef struct
1506 UINT16 bfType;
1507 DWORD bfSize WINE_PACKED;
1508 UINT16 bfReserved1 WINE_PACKED;
1509 UINT16 bfReserved2 WINE_PACKED;
1510 DWORD bfOffBits WINE_PACKED;
1511 } BITMAPFILEHEADER;
1513 typedef struct
1515 DWORD biSize;
1516 LONG biWidth;
1517 LONG biHeight;
1518 WORD biPlanes;
1519 WORD biBitCount;
1520 DWORD biCompression;
1521 DWORD biSizeImage;
1522 LONG biXPelsPerMeter;
1523 LONG biYPelsPerMeter;
1524 DWORD biClrUsed;
1525 DWORD biClrImportant;
1526 } BITMAPINFOHEADER, *LPBITMAPINFOHEADER;
1528 /* biCompression */
1529 #define BI_RGB 0
1530 #define BI_RLE8 1
1531 #define BI_RLE4 2
1533 typedef struct {
1534 BITMAPINFOHEADER bmiHeader;
1535 RGBQUAD bmiColors[1];
1536 } BITMAPINFO;
1537 typedef BITMAPINFO *LPBITMAPINFO;
1538 typedef BITMAPINFO *NPBITMAPINFO;
1539 typedef BITMAPINFO *PBITMAPINFO;
1541 typedef struct
1543 DWORD bcSize;
1544 UINT16 bcWidth;
1545 UINT16 bcHeight;
1546 UINT16 bcPlanes;
1547 UINT16 bcBitCount;
1548 } BITMAPCOREHEADER;
1550 typedef struct
1552 BITMAPCOREHEADER bmciHeader;
1553 RGBTRIPLE bmciColors[1];
1554 } BITMAPCOREINFO, *LPBITMAPCOREINFO;
1556 #define DIB_RGB_COLORS 0
1557 #define DIB_PAL_COLORS 1
1558 #define CBM_INIT 4
1560 typedef struct
1562 BITMAP32 dsBm;
1563 BITMAPINFOHEADER dsBmih;
1564 DWORD dsBitfields[3];
1565 HANDLE32 dshSection;
1566 DWORD dsOffset;
1567 } DIBSECTION,*LPDIBSECTION;
1569 /* Stock GDI objects for GetStockObject() */
1571 #define WHITE_BRUSH 0
1572 #define LTGRAY_BRUSH 1
1573 #define GRAY_BRUSH 2
1574 #define DKGRAY_BRUSH 3
1575 #define BLACK_BRUSH 4
1576 #define NULL_BRUSH 5
1577 #define HOLLOW_BRUSH 5
1578 #define WHITE_PEN 6
1579 #define BLACK_PEN 7
1580 #define NULL_PEN 8
1581 #define OEM_FIXED_FONT 10
1582 #define ANSI_FIXED_FONT 11
1583 #define ANSI_VAR_FONT 12
1584 #define SYSTEM_FONT 13
1585 #define DEVICE_DEFAULT_FONT 14
1586 #define DEFAULT_PALETTE 15
1587 #define SYSTEM_FIXED_FONT 16
1588 #define DEFAULT_GUI_FONT 17
1590 #define STOCK_LAST 17
1592 /* Metafile header structure */
1593 typedef struct
1595 WORD mtType;
1596 WORD mtHeaderSize;
1597 WORD mtVersion;
1598 DWORD mtSize WINE_PACKED;
1599 WORD mtNoObjects;
1600 DWORD mtMaxRecord WINE_PACKED;
1601 WORD mtNoParameters;
1602 } METAHEADER;
1604 /* Metafile typical record structure */
1605 typedef struct
1607 DWORD rdSize;
1608 WORD rdFunction;
1609 WORD rdParm[1];
1610 } METARECORD;
1611 typedef METARECORD *PMETARECORD;
1612 typedef METARECORD *LPMETARECORD;
1614 /* Handle table structure */
1616 typedef struct
1618 HGDIOBJ16 objectHandle[1];
1619 } HANDLETABLE16, *LPHANDLETABLE16;
1621 typedef struct
1623 HGDIOBJ32 objectHandle[1];
1624 } HANDLETABLE32, *LPHANDLETABLE32;
1626 DECL_WINELIB_TYPE(HANDLETABLE)
1627 DECL_WINELIB_TYPE(LPHANDLETABLE)
1629 /* Clipboard metafile picture structure */
1630 typedef struct
1632 INT16 mm;
1633 INT16 xExt;
1634 INT16 yExt;
1635 HMETAFILE16 hMF;
1636 } METAFILEPICT16, *LPMETAFILEPICT16;
1638 typedef struct
1640 INT32 mm;
1641 INT32 xExt;
1642 INT32 yExt;
1643 HMETAFILE32 hMF;
1644 } METAFILEPICT32, *LPMETAFILEPICT32;
1646 DECL_WINELIB_TYPE(METAFILEPICT)
1647 DECL_WINELIB_TYPE(LPMETAFILEPICT)
1649 /* Metafile functions */
1650 #define META_SETBKCOLOR 0x0201
1651 #define META_SETBKMODE 0x0102
1652 #define META_SETMAPMODE 0x0103
1653 #define META_SETROP2 0x0104
1654 #define META_SETRELABS 0x0105
1655 #define META_SETPOLYFILLMODE 0x0106
1656 #define META_SETSTRETCHBLTMODE 0x0107
1657 #define META_SETTEXTCHAREXTRA 0x0108
1658 #define META_SETTEXTCOLOR 0x0209
1659 #define META_SETTEXTJUSTIFICATION 0x020A
1660 #define META_SETWINDOWORG 0x020B
1661 #define META_SETWINDOWEXT 0x020C
1662 #define META_SETVIEWPORTORG 0x020D
1663 #define META_SETVIEWPORTEXT 0x020E
1664 #define META_OFFSETWINDOWORG 0x020F
1665 #define META_SCALEWINDOWEXT 0x0410
1666 #define META_OFFSETVIEWPORTORG 0x0211
1667 #define META_SCALEVIEWPORTEXT 0x0412
1668 #define META_LINETO 0x0213
1669 #define META_MOVETO 0x0214
1670 #define META_EXCLUDECLIPRECT 0x0415
1671 #define META_INTERSECTCLIPRECT 0x0416
1672 #define META_ARC 0x0817
1673 #define META_ELLIPSE 0x0418
1674 #define META_FLOODFILL 0x0419
1675 #define META_PIE 0x081A
1676 #define META_RECTANGLE 0x041B
1677 #define META_ROUNDRECT 0x061C
1678 #define META_PATBLT 0x061D
1679 #define META_SAVEDC 0x001E
1680 #define META_SETPIXEL 0x041F
1681 #define META_OFFSETCLIPRGN 0x0220
1682 #define META_TEXTOUT 0x0521
1683 #define META_BITBLT 0x0922
1684 #define META_STRETCHBLT 0x0B23
1685 #define META_POLYGON 0x0324
1686 #define META_POLYLINE 0x0325
1687 #define META_ESCAPE 0x0626
1688 #define META_RESTOREDC 0x0127
1689 #define META_FILLREGION 0x0228
1690 #define META_FRAMEREGION 0x0429
1691 #define META_INVERTREGION 0x012A
1692 #define META_PAINTREGION 0x012B
1693 #define META_SELECTCLIPREGION 0x012C
1694 #define META_SELECTOBJECT 0x012D
1695 #define META_SETTEXTALIGN 0x012E
1696 #define META_DRAWTEXT 0x062F
1697 #define META_CHORD 0x0830
1698 #define META_SETMAPPERFLAGS 0x0231
1699 #define META_EXTTEXTOUT 0x0A32
1700 #define META_SETDIBTODEV 0x0D33
1701 #define META_SELECTPALETTE 0x0234
1702 #define META_REALIZEPALETTE 0x0035
1703 #define META_ANIMATEPALETTE 0x0436
1704 #define META_SETPALENTRIES 0x0037
1705 #define META_POLYPOLYGON 0x0538
1706 #define META_RESIZEPALETTE 0x0139
1707 #define META_DIBBITBLT 0x0940
1708 #define META_DIBSTRETCHBLT 0x0B41
1709 #define META_DIBCREATEPATTERNBRUSH 0x0142
1710 #define META_STRETCHDIB 0x0F43
1711 #define META_EXTFLOODFILL 0x0548
1712 #define META_RESETDC 0x014C
1713 #define META_STARTDOC 0x014D
1714 #define META_STARTPAGE 0x004F
1715 #define META_ENDPAGE 0x0050
1716 #define META_ABORTDOC 0x0052
1717 #define META_ENDDOC 0x005E
1718 #define META_DELETEOBJECT 0x01F0
1719 #define META_CREATEPALETTE 0x00F7
1720 #define META_CREATEBRUSH 0x00F8
1721 #define META_CREATEPATTERNBRUSH 0x01F9
1722 #define META_CREATEPENINDIRECT 0x02FA
1723 #define META_CREATEFONTINDIRECT 0x02FB
1724 #define META_CREATEBRUSHINDIRECT 0x02FC
1725 #define META_CREATEBITMAPINDIRECT 0x02FD
1726 #define META_CREATEBITMAP 0x06FE
1727 #define META_CREATEREGION 0x06FF
1728 #define META_UNKNOWN 0x0529 /* FIXME: unknown meta magic */
1730 typedef INT16 (CALLBACK *MFENUMPROC16)(HDC16,HANDLETABLE16*,METARECORD*,
1731 INT16,LPARAM);
1732 typedef INT32 (CALLBACK *MFENUMPROC32)(HDC32,HANDLETABLE32*,METARECORD*,
1733 INT32,LPARAM);
1734 DECL_WINELIB_TYPE(MFENUMPROC)
1736 /* enhanced metafile structures and functions */
1738 /* note that ENHMETAHEADER is just a particular kind of ENHMETARECORD,
1739 ie. the header is just the first record in the metafile */
1740 typedef struct {
1741 DWORD iType;
1742 DWORD nSize;
1743 RECT32 rclBounds;
1744 RECT32 rclFrame;
1745 DWORD dSignature;
1746 DWORD nVersion;
1747 DWORD nBytes;
1748 DWORD nRecords;
1749 WORD nHandles;
1750 WORD sReserved;
1751 DWORD nDescription;
1752 DWORD offDescription;
1753 DWORD nPalEntries;
1754 SIZE32 szlDevice;
1755 SIZE32 szlMillimeters;
1756 DWORD cbPixelFormat;
1757 DWORD offPixelFormat;
1758 DWORD bOpenGL;
1759 } ENHMETAHEADER, *LPENHMETAHEADER;
1761 typedef struct {
1762 DWORD iType;
1763 DWORD nSize;
1764 DWORD dParm[1];
1765 } ENHMETARECORD, *LPENHMETARECORD;
1767 typedef INT32 (CALLBACK *ENHMFENUMPROC32)(HDC32, LPHANDLETABLE32,
1768 LPENHMETARECORD, INT32, LPVOID);
1770 #define EMR_HEADER 1
1771 #define EMR_POLYBEZIER 2
1772 #define EMR_POLYGON 3
1773 #define EMR_POLYLINE 4
1774 #define EMR_POLYBEZIERTO 5
1775 #define EMR_POLYLINETO 6
1776 #define EMR_POLYPOLYLINE 7
1777 #define EMR_POLYPOLYGON 8
1778 #define EMR_SETWINDOWEXTEX 9
1779 #define EMR_SETWINDOWORGEX 10
1780 #define EMR_SETVIEWPORTEXTEX 11
1781 #define EMR_SETVIEWPORTORGEX 12
1782 #define EMR_SETBRUSHORGEX 13
1783 #define EMR_EOF 14
1784 #define EMR_SETPIXELV 15
1785 #define EMR_SETMAPPERFLAGS 16
1786 #define EMR_SETMAPMODE 17
1787 #define EMR_SETBKMODE 18
1788 #define EMR_SETPOLYFILLMODE 19
1789 #define EMR_SETROP2 20
1790 #define EMR_SETSTRETCHBLTMODE 21
1791 #define EMR_SETTEXTALIGN 22
1792 #define EMR_SETCOLORADJUSTMENT 23
1793 #define EMR_SETTEXTCOLOR 24
1794 #define EMR_SETBKCOLOR 25
1795 #define EMR_OFFSETCLIPRGN 26
1796 #define EMR_MOVETOEX 27
1797 #define EMR_SETMETARGN 28
1798 #define EMR_EXCLUDECLIPRECT 29
1799 #define EMR_INTERSECTCLIPRECT 30
1800 #define EMR_SCALEVIEWPORTEXTEX 31
1801 #define EMR_SCALEWINDOWEXTEX 32
1802 #define EMR_SAVEDC 33
1803 #define EMR_RESTOREDC 34
1804 #define EMR_SETWORLDTRANSFORM 35
1805 #define EMR_MODIFYWORLDTRANSFORM 36
1806 #define EMR_SELECTOBJECT 37
1807 #define EMR_CREATEPEN 38
1808 #define EMR_CREATEBRUSHINDIRECT 39
1809 #define EMR_DELETEOBJECT 40
1810 #define EMR_ANGLEARC 41
1811 #define EMR_ELLIPSE 42
1812 #define EMR_RECTANGLE 43
1813 #define EMR_ROUNDRECT 44
1814 #define EMR_ARC 45
1815 #define EMR_CHORD 46
1816 #define EMR_PIE 47
1817 #define EMR_SELECTPALETTE 48
1818 #define EMR_CREATEPALETTE 49
1819 #define EMR_SETPALETTEENTRIES 50
1820 #define EMR_RESIZEPALETTE 51
1821 #define EMR_REALIZEPALETTE 52
1822 #define EMR_EXTFLOODFILL 53
1823 #define EMR_LINETO 54
1824 #define EMR_ARCTO 55
1825 #define EMR_POLYDRAW 56
1826 #define EMR_SETARCDIRECTION 57
1827 #define EMR_SETMITERLIMIT 58
1828 #define EMR_BEGINPATH 59
1829 #define EMR_ENDPATH 60
1830 #define EMR_CLOSEFIGURE 61
1831 #define EMR_FILLPATH 62
1832 #define EMR_STROKEANDFILLPATH 63
1833 #define EMR_STROKEPATH 64
1834 #define EMR_FLATTENPATH 65
1835 #define EMR_WIDENPATH 66
1836 #define EMR_SELECTCLIPPATH 67
1837 #define EMR_ABORTPATH 68
1838 #define EMR_GDICOMMENT 70
1839 #define EMR_FILLRGN 71
1840 #define EMR_FRAMERGN 72
1841 #define EMR_INVERTRGN 73
1842 #define EMR_PAINTRGN 74
1843 #define EMR_EXTSELECTCLIPRGN 75
1844 #define EMR_BITBLT 76
1845 #define EMR_STRETCHBLT 77
1846 #define EMR_MASKBLT 78
1847 #define EMR_PLGBLT 79
1848 #define EMR_SETDIBITSTODEVICE 80
1849 #define EMR_STRETCHDIBITS 81
1850 #define EMR_EXTCREATEFONTINDIRECTW 82
1851 #define EMR_EXTTEXTOUTA 83
1852 #define EMR_EXTTEXTOUTW 84
1853 #define EMR_POLYBEZIER16 85
1854 #define EMR_POLYGON16 86
1855 #define EMR_POLYLINE16 87
1856 #define EMR_POLYBEZIERTO16 88
1857 #define EMR_POLYLINETO16 89
1858 #define EMR_POLYPOLYLINE16 90
1859 #define EMR_POLYPOLYGON16 91
1860 #define EMR_POLYDRAW16 92
1861 #define EMR_CREATEMONOBRUSH 93
1862 #define EMR_CREATEDIBPATTERNBRUSHPT 94
1863 #define EMR_EXTCREATEPEN 95
1864 #define EMR_POLYTEXTOUTA 96
1865 #define EMR_POLYTEXTOUTW 97
1866 #define EMR_SETICMMODE 98
1867 #define EMR_CREATECOLORSPACE 99
1868 #define EMR_SETCOLORSPACE 100
1869 #define EMR_DELETECOLORSPACE 101
1870 #define EMR_GLSRECORD 102
1871 #define EMR_GLSBOUNDEDRECORD 103
1872 #define EMR_PIXELFORMAT 104
1874 #define ENHMETA_SIGNATURE 1179469088
1876 #define CCHDEVICENAME 32
1877 #define CCHFORMNAME 32
1879 typedef struct
1881 BYTE dmDeviceName[CCHDEVICENAME];
1882 WORD dmSpecVersion;
1883 WORD dmDriverVersion;
1884 WORD dmSize;
1885 WORD dmDriverExtra;
1886 DWORD dmFields;
1887 INT16 dmOrientation;
1888 INT16 dmPaperSize;
1889 INT16 dmPaperLength;
1890 INT16 dmPaperWidth;
1891 INT16 dmScale;
1892 INT16 dmCopies;
1893 INT16 dmDefaultSource;
1894 INT16 dmPrintQuality;
1895 INT16 dmColor;
1896 INT16 dmDuplex;
1897 INT16 dmYResolution;
1898 INT16 dmTTOption;
1899 INT16 dmCollate;
1900 BYTE dmFormName[CCHFORMNAME];
1901 WORD dmUnusedPadding;
1902 WORD dmBitsPerPel;
1903 DWORD dmPelsWidth;
1904 DWORD dmPelsHeight;
1905 DWORD dmDisplayFlags;
1906 DWORD dmDisplayFrequency;
1907 } DEVMODE16, *LPDEVMODE16;
1909 typedef struct
1911 BYTE dmDeviceName[CCHDEVICENAME];
1912 WORD dmSpecVersion;
1913 WORD dmDriverVersion;
1914 WORD dmSize;
1915 WORD dmDriverExtra;
1916 DWORD dmFields;
1917 INT16 dmOrientation;
1918 INT16 dmPaperSize;
1919 INT16 dmPaperLength;
1920 INT16 dmPaperWidth;
1921 INT16 dmScale;
1922 INT16 dmCopies;
1923 INT16 dmDefaultSource;
1924 INT16 dmPrintQuality;
1925 INT16 dmColor;
1926 INT16 dmDuplex;
1927 INT16 dmYResolution;
1928 INT16 dmTTOption;
1929 INT16 dmCollate;
1930 BYTE dmFormName[CCHFORMNAME];
1931 WORD dmLogPixels;
1932 DWORD dmBitsPerPel;
1933 DWORD dmPelsWidth;
1934 DWORD dmPelsHeight;
1935 DWORD dmDisplayFlags;
1936 DWORD dmDisplayFrequency;
1937 DWORD dmICMMethod;
1938 DWORD dmICMIntent;
1939 DWORD dmMediaType;
1940 DWORD dmDitherType;
1941 DWORD dmReserved1;
1942 DWORD dmReserved2;
1943 } DEVMODE32A, *LPDEVMODE32A;
1945 typedef struct
1947 WCHAR dmDeviceName[CCHDEVICENAME];
1948 WORD dmSpecVersion;
1949 WORD dmDriverVersion;
1950 WORD dmSize;
1951 WORD dmDriverExtra;
1952 DWORD dmFields;
1953 INT16 dmOrientation;
1954 INT16 dmPaperSize;
1955 INT16 dmPaperLength;
1956 INT16 dmPaperWidth;
1957 INT16 dmScale;
1958 INT16 dmCopies;
1959 INT16 dmDefaultSource;
1960 INT16 dmPrintQuality;
1961 INT16 dmColor;
1962 INT16 dmDuplex;
1963 INT16 dmYResolution;
1964 INT16 dmTTOption;
1965 INT16 dmCollate;
1966 WCHAR dmFormName[CCHFORMNAME];
1967 WORD dmLogPixels;
1968 DWORD dmBitsPerPel;
1969 DWORD dmPelsWidth;
1970 DWORD dmPelsHeight;
1971 DWORD dmDisplayFlags;
1972 DWORD dmDisplayFrequency;
1973 DWORD dmICMMethod;
1974 DWORD dmICMIntent;
1975 DWORD dmMediaType;
1976 DWORD dmDitherType;
1977 DWORD dmReserved1;
1978 DWORD dmReserved2;
1979 } DEVMODE32W, *LPDEVMODE32W;
1981 DECL_WINELIB_TYPE_AW(DEVMODE)
1982 DECL_WINELIB_TYPE_AW(LPDEVMODE)
1984 typedef struct
1986 INT16 cbSize;
1987 SEGPTR lpszDocName WINE_PACKED;
1988 SEGPTR lpszOutput WINE_PACKED;
1989 } DOCINFO16, *LPDOCINFO16;
1991 typedef struct
1993 INT32 cbSize;
1994 LPCSTR lpszDocName;
1995 LPCSTR lpszOutput;
1996 LPCSTR lpszDatatype;
1997 DWORD fwType;
1998 } DOCINFO32A, *LPDOCINFO32A;
2000 typedef struct
2002 INT32 cbSize;
2003 LPCWSTR lpszDocName;
2004 LPCWSTR lpszOutput;
2005 LPCWSTR lpszDatatype;
2006 DWORD fwType;
2007 } DOCINFO32W, *LPDOCINFO32W;
2009 DECL_WINELIB_TYPE_AW(DOCINFO)
2010 DECL_WINELIB_TYPE_AW(LPDOCINFO)
2012 typedef struct {
2013 UINT16 cbSize;
2014 INT16 iBorderWidth;
2015 INT16 iScrollWidth;
2016 INT16 iScrollHeight;
2017 INT16 iCaptionWidth;
2018 INT16 iCaptionHeight;
2019 LOGFONT16 lfCaptionFont;
2020 INT16 iSmCaptionWidth;
2021 INT16 iSmCaptionHeight;
2022 LOGFONT16 lfSmCaptionFont;
2023 INT16 iMenuWidth;
2024 INT16 iMenuHeight;
2025 LOGFONT16 lfMenuFont;
2026 LOGFONT16 lfStatusFont;
2027 LOGFONT16 lfMessageFont;
2028 } NONCLIENTMETRICS16,*LPNONCLIENTMETRICS16;
2030 typedef struct {
2031 UINT32 cbSize;
2032 INT32 iBorderWidth;
2033 INT32 iScrollWidth;
2034 INT32 iScrollHeight;
2035 INT32 iCaptionWidth;
2036 INT32 iCaptionHeight;
2037 LOGFONT32A lfCaptionFont;
2038 INT32 iSmCaptionWidth;
2039 INT32 iSmCaptionHeight;
2040 LOGFONT32A lfSmCaptionFont;
2041 INT32 iMenuWidth;
2042 INT32 iMenuHeight;
2043 LOGFONT32A lfMenuFont;
2044 LOGFONT32A lfStatusFont;
2045 LOGFONT32A lfMessageFont;
2046 } NONCLIENTMETRICS32A,*LPNONCLIENTMETRICS32A;
2048 typedef struct {
2049 UINT32 cbSize;
2050 INT32 iBorderWidth;
2051 INT32 iScrollWidth;
2052 INT32 iScrollHeight;
2053 INT32 iCaptionWidth;
2054 INT32 iCaptionHeight;
2055 LOGFONT32W lfCaptionFont;
2056 INT32 iSmCaptionWidth;
2057 INT32 iSmCaptionHeight;
2058 LOGFONT32W lfSmCaptionFont;
2059 INT32 iMenuWidth;
2060 INT32 iMenuHeight;
2061 LOGFONT32W lfMenuFont;
2062 LOGFONT32W lfStatusFont;
2063 LOGFONT32W lfMessageFont;
2064 } NONCLIENTMETRICS32W,*LPNONCLIENTMETRICS32W;
2066 DECL_WINELIB_TYPE_AW(NONCLIENTMETRICS)
2067 DECL_WINELIB_TYPE_AW(LPNONCLIENTMETRICS)
2069 /* Flags for PolyDraw and GetPath */
2070 #define PT_CLOSEFIGURE 0x0001
2071 #define PT_LINETO 0x0002
2072 #define PT_BEZIERTO 0x0004
2073 #define PT_MOVETO 0x0006
2075 #define RDH_RECTANGLES 1
2077 typedef struct _RGNDATAHEADER {
2078 DWORD dwSize;
2079 DWORD iType;
2080 DWORD nCount;
2081 DWORD nRgnSize;
2082 RECT32 rcBound;
2083 } RGNDATAHEADER,*LPRGNDATAHEADER;
2085 typedef struct _RGNDATA {
2086 RGNDATAHEADER rdh;
2087 char Buffer[1];
2088 } RGNDATA,*PRGNDATA,*LPRGNDATA;
2090 typedef BOOL16 (CALLBACK* ABORTPROC16)(HDC16, INT16);
2091 typedef BOOL32 (CALLBACK* ABORTPROC32)(HDC32, INT32);
2092 DECL_WINELIB_TYPE(ABORTPROC)
2094 #pragma pack(4)
2096 /* Declarations for functions that exist only in Win16 */
2098 VOID WINAPI Death(HDC16);
2099 VOID WINAPI Resurrection(HDC16,WORD,WORD,WORD,WORD,WORD,WORD);
2101 /* Declarations for functions that exist only in Win32 */
2103 BOOL32 WINAPI AngleArc(HDC32, INT32, INT32, DWORD, FLOAT, FLOAT);
2104 BOOL32 WINAPI ArcTo(HDC32, INT32, INT32, INT32, INT32, INT32, INT32, INT32, INT32);
2105 HENHMETAFILE32 WINAPI CloseEnhMetaFile(HDC32);
2106 HBRUSH32 WINAPI CreateDIBPatternBrushPt(const void*,UINT32);
2107 HDC32 WINAPI CreateEnhMetaFile32A(HDC32,LPCSTR,const RECT32*,LPCSTR);
2108 HDC32 WINAPI CreateEnhMetaFile32W(HDC32,LPCWSTR,const RECT32*,LPCWSTR);
2109 #define CreateEnhMetaFile WINELIB_NAME_AW(CreateEnhMetaFile)
2110 INT32 WINAPI DrawEscape(HDC32,INT32,INT32,LPCSTR);
2111 INT16 WINAPI ExcludeVisRect(HDC16,INT16,INT16,INT16,INT16);
2112 BOOL16 WINAPI FastWindowFrame(HDC16,const RECT16*,INT16,INT16,DWORD);
2113 UINT16 WINAPI GDIRealizePalette(HDC16);
2114 HPALETTE16 WINAPI GDISelectPalette(HDC16,HPALETTE16,WORD);
2115 BOOL32 WINAPI GdiComment(HDC32,UINT32,const BYTE *);
2116 DWORD WINAPI GetBitmapDimension(HBITMAP16);
2117 DWORD WINAPI GetBrushOrg(HDC16);
2118 BOOL32 WINAPI GetCharABCWidthsFloat32A(HDC32,UINT32,UINT32,LPABCFLOAT);
2119 BOOL32 WINAPI GetCharABCWidthsFloat32W(HDC32,UINT32,UINT32,LPABCFLOAT);
2120 #define GetCharABCWidthsFloat WINELIB_NAME_AW(GetCharABCWidthsFloat)
2121 BOOL32 WINAPI GetCharWidthFloat32A(HDC32,UINT32,UINT32,PFLOAT);
2122 BOOL32 WINAPI GetCharWidthFloat32W(HDC32,UINT32,UINT32,PFLOAT);
2123 #define GetCharWidthFloat WINELIB_NAME_AW(GetCharWidthFloat)
2124 BOOL32 WINAPI GetColorAdjustment(HDC32, LPCOLORADJUSTMENT);
2125 HFONT16 WINAPI GetCurLogFont(HDC16);
2126 DWORD WINAPI GetCurrentPosition(HDC16);
2127 DWORD WINAPI GetDCHook(HDC16,FARPROC16*);
2128 DWORD WINAPI GetDCOrg(HDC16);
2129 HDC16 WINAPI GetDCState(HDC16);
2130 INT16 WINAPI GetEnvironment(LPCSTR,LPDEVMODE16,UINT16);
2131 HGLOBAL16 WINAPI GetMetaFileBits(HMETAFILE16);
2132 BOOL32 WINAPI GetMiterLimit(HDC32, PFLOAT);
2133 DWORD WINAPI GetTextExtent(HDC16,LPCSTR,INT16);
2134 DWORD WINAPI GetViewportExt(HDC16);
2135 DWORD WINAPI GetViewportOrg(HDC16);
2136 DWORD WINAPI GetWindowExt(HDC16);
2137 DWORD WINAPI GetWindowOrg(HDC16);
2138 HRGN16 WINAPI InquireVisRgn(HDC16);
2139 INT16 WINAPI IntersectVisRect(HDC16,INT16,INT16,INT16,INT16);
2140 BOOL16 WINAPI IsDCCurrentPalette(HDC16);
2141 BOOL16 WINAPI IsGDIObject(HGDIOBJ16);
2142 BOOL16 WINAPI IsValidMetaFile(HMETAFILE16);
2143 BOOL32 WINAPI MaskBlt(HDC32,INT32,INT32,INT32,INT32,HDC32,INT32,INT32,HBITMAP32,INT32,INT32,DWORD);
2144 DWORD WINAPI MoveTo(HDC16,INT16,INT16);
2145 DWORD WINAPI OffsetViewportOrg(HDC16,INT16,INT16);
2146 INT16 WINAPI OffsetVisRgn(HDC16,INT16,INT16);
2147 DWORD WINAPI OffsetWindowOrg(HDC16,INT16,INT16);
2148 BOOL32 WINAPI PlgBlt32(HDC32,const POINT32*,HDC32,INT32,INT32,INT32,INT32,HBITMAP32,INT32,INT32);
2149 BOOL32 WINAPI PolyDraw32(HDC32,const POINT32*,const BYTE*,DWORD);
2150 UINT16 WINAPI RealizeDefaultPalette(HDC16);
2151 INT16 WINAPI RestoreVisRgn(HDC16);
2152 HRGN16 WINAPI SaveVisRgn(HDC16);
2153 DWORD WINAPI ScaleViewportExt(HDC16,INT16,INT16,INT16,INT16);
2154 DWORD WINAPI ScaleWindowExt(HDC16,INT16,INT16,INT16,INT16);
2155 INT16 WINAPI SelectVisRgn(HDC16,HRGN16);
2156 DWORD WINAPI SetBitmapDimension(HBITMAP16,INT16,INT16);
2157 DWORD WINAPI SetBrushOrg(HDC16,INT16,INT16);
2158 BOOL32 WINAPI SetColorAdjustment32(HDC32,const COLORADJUSTMENT*);
2159 BOOL16 WINAPI SetDCHook(HDC16,FARPROC16,DWORD);
2160 DWORD WINAPI SetDCOrg(HDC16,INT16,INT16);
2161 VOID WINAPI SetDCState(HDC16,HDC16);
2162 INT16 WINAPI SetEnvironment(LPCSTR,LPDEVMODE16,UINT16);
2163 WORD WINAPI SetHookFlags(HDC16,WORD);
2164 HMETAFILE16 WINAPI SetMetaFileBits(HGLOBAL16);
2165 BOOL32 WINAPI SetMiterLimit(HDC32, FLOAT, PFLOAT);
2166 DWORD WINAPI SetViewportExt(HDC16,INT16,INT16);
2167 DWORD WINAPI SetViewportOrg(HDC16,INT16,INT16);
2168 DWORD WINAPI SetWindowExt(HDC16,INT16,INT16);
2169 DWORD WINAPI SetWindowOrg(HDC16,INT16,INT16);
2170 BOOL32 WINAPI CombineTransform(LPXFORM,const XFORM *,const XFORM *);
2171 HENHMETAFILE32 WINAPI CopyEnhMetaFile32A(HENHMETAFILE32,LPCSTR);
2172 HENHMETAFILE32 WINAPI CopyEnhMetaFile32W(HENHMETAFILE32,LPCWSTR);
2173 #define CopyEnhMetaFile WINELIB_NAME_AW(CopyEnhMetaFile)
2174 HPALETTE32 WINAPI CreateHalftonePalette(HDC32);
2175 BOOL32 WINAPI DeleteEnhMetaFile(HENHMETAFILE32);
2176 INT32 WINAPI ExtSelectClipRgn(HDC32,HRGN32,INT32);
2177 HRGN32 WINAPI ExtCreateRegion(const XFORM*,DWORD,const RGNDATA*);
2178 INT32 WINAPI ExtEscape(HDC32,INT32,INT32,LPCSTR,INT32,LPSTR);
2179 BOOL32 WINAPI FixBrushOrgEx(HDC32,INT32,INT32,LPPOINT32);
2180 HANDLE32 WINAPI GetCurrentObject(HDC32,UINT32);
2181 BOOL32 WINAPI GetDCOrgEx(HDC32,LPPOINT32);
2182 HENHMETAFILE32 WINAPI GetEnhMetaFile32A(LPCSTR);
2183 HENHMETAFILE32 WINAPI GetEnhMetaFile32W(LPCWSTR);
2184 #define GetEnhMetaFile WINELIB_NAME_AW(GetEnhMetaFile)
2185 UINT32 WINAPI GetEnhMetaFileBits(HENHMETAFILE32,UINT32,LPBYTE);
2186 UINT32 WINAPI GetEnhMetaFileHeader(HENHMETAFILE32,UINT32,LPENHMETAHEADER);
2187 UINT32 WINAPI GetEnhMetaFilePaletteEntries(HENHMETAFILE32,UINT32,LPPALETTEENTRY);
2188 INT32 WINAPI GetGraphicsMode(HDC32);
2189 UINT32 WINAPI GetMetaFileBitsEx(HMETAFILE32,UINT32,LPVOID);
2190 DWORD WINAPI GetObjectType(HANDLE32);
2191 UINT32 WINAPI GetTextCharsetInfo(HDC32,LPFONTSIGNATURE,DWORD);
2192 BOOL32 WINAPI GetTextExtentExPoint32A(HDC32,LPCSTR,INT32,INT32,
2193 LPINT32,LPINT32,LPSIZE32);
2194 BOOL32 WINAPI GetTextExtentExPoint32W(HDC32,LPCWSTR,INT32,INT32,
2195 LPINT32,LPINT32,LPSIZE32);
2196 #define GetTextExtentExPoint WINELIB_NAME_AW(GetTextExtentExPoint)
2197 BOOL32 WINAPI GetWorldTransform(HDC32,LPXFORM);
2198 BOOL32 WINAPI ModifyWorldTransform(HDC32,const XFORM *, DWORD);
2199 BOOL32 WINAPI PlayEnhMetaFile(HDC32,HENHMETAFILE32,const RECT32*);
2200 BOOL32 WINAPI PlayEnhMetaFileRecord(HDC32,LPHANDLETABLE32,const ENHMETARECORD*,UINT32);
2201 BOOL32 WINAPI PolyPolyline(HDC32,const POINT32*,const DWORD*,DWORD);
2202 BOOL32 WINAPI SetBrushOrgEx(HDC32,INT32,INT32,LPPOINT32);
2203 HENHMETAFILE32 WINAPI SetEnhMetaFileBits(UINT32,const BYTE *);
2204 INT32 WINAPI SetGraphicsMode(HDC32,INT32);
2205 HMETAFILE32 WINAPI SetMetaFileBitsEx(UINT32,const BYTE*);
2206 BOOL32 WINAPI SetWorldTransform(HDC32,const XFORM*);
2207 BOOL32 WINAPI TranslateCharsetInfo(LPDWORD,LPCHARSETINFO,DWORD);
2209 /* Declarations for functions that change between Win16 and Win32 */
2211 INT16 WINAPI AbortDoc16(HDC16);
2212 INT32 WINAPI AbortDoc32(HDC32);
2213 #define AbortDoc WINELIB_NAME(AbortDoc)
2214 BOOL16 WINAPI AbortPath16(HDC16);
2215 BOOL32 WINAPI AbortPath32(HDC32);
2216 #define AbortPath WINELIB_NAME(AbortPath)
2217 INT16 WINAPI AddFontResource16(LPCSTR);
2218 INT32 WINAPI AddFontResource32A(LPCSTR);
2219 INT32 WINAPI AddFontResource32W(LPCWSTR);
2220 #define AddFontResource WINELIB_NAME_AW(AddFontResource)
2221 void WINAPI AnimatePalette16(HPALETTE16,UINT16,UINT16,const PALETTEENTRY*);
2222 BOOL32 WINAPI AnimatePalette32(HPALETTE32,UINT32,UINT32,const PALETTEENTRY*);
2223 #define AnimatePalette WINELIB_NAME(AnimatePalette)
2224 BOOL16 WINAPI Arc16(HDC16,INT16,INT16,INT16,INT16,INT16,INT16,INT16,INT16);
2225 BOOL32 WINAPI Arc32(HDC32,INT32,INT32,INT32,INT32,INT32,INT32,INT32,INT32);
2226 #define Arc WINELIB_NAME(Arc)
2227 BOOL16 WINAPI BeginPath16(HDC16);
2228 BOOL32 WINAPI BeginPath32(HDC32);
2229 #define BeginPath WINELIB_NAME(BeginPath)
2230 BOOL16 WINAPI BitBlt16(HDC16,INT16,INT16,INT16,INT16,HDC16,INT16,INT16,DWORD);
2231 BOOL32 WINAPI BitBlt32(HDC32,INT32,INT32,INT32,INT32,HDC32,INT32,INT32,DWORD);
2232 #define BitBlt WINELIB_NAME(BitBlt)
2233 INT32 WINAPI ChoosePixelFormat(HDC32,const PIXELFORMATDESCRIPTOR*);
2234 BOOL16 WINAPI Chord16(HDC16,INT16,INT16,INT16,INT16,INT16,INT16,INT16,INT16);
2235 BOOL32 WINAPI Chord32(HDC32,INT32,INT32,INT32,INT32,INT32,INT32,INT32,INT32);
2236 #define Chord WINELIB_NAME(Chord)
2237 BOOL16 WINAPI CloseFigure16(HDC16);
2238 BOOL32 WINAPI CloseFigure32(HDC32);
2239 #define CloseFigure WINELIB_NAME(CloseFigure)
2240 HMETAFILE16 WINAPI CloseMetaFile16(HDC16);
2241 HMETAFILE32 WINAPI CloseMetaFile32(HDC32);
2242 #define CloseMetaFile WINELIB_NAME(CloseMetaFile)
2243 INT16 WINAPI CombineRgn16(HRGN16,HRGN16,HRGN16,INT16);
2244 INT32 WINAPI CombineRgn32(HRGN32,HRGN32,HRGN32,INT32);
2245 #define CombineRgn WINELIB_NAME(CombineRgn)
2246 HMETAFILE16 WINAPI CopyMetaFile16(HMETAFILE16,LPCSTR);
2247 HMETAFILE32 WINAPI CopyMetaFile32A(HMETAFILE32,LPCSTR);
2248 HMETAFILE32 WINAPI CopyMetaFile32W(HMETAFILE32,LPCWSTR);
2249 #define CopyMetaFile WINELIB_NAME_AW(CopyMetaFile)
2250 HBITMAP16 WINAPI CreateBitmap16(INT16,INT16,UINT16,UINT16,LPCVOID);
2251 HBITMAP32 WINAPI CreateBitmap32(INT32,INT32,UINT32,UINT32,LPCVOID);
2252 #define CreateBitmap WINELIB_NAME(CreateBitmap)
2253 HBITMAP16 WINAPI CreateBitmapIndirect16(const BITMAP16*);
2254 HBITMAP32 WINAPI CreateBitmapIndirect32(const BITMAP32*);
2255 #define CreateBitmapIndirect WINELIB_NAME(CreateBitmapIndirect)
2256 HBRUSH16 WINAPI CreateBrushIndirect16(const LOGBRUSH16*);
2257 HBRUSH32 WINAPI CreateBrushIndirect32(const LOGBRUSH32*);
2258 #define CreateBrushIndirect WINELIB_NAME(CreateBrushIndirect)
2259 HBITMAP16 WINAPI CreateCompatibleBitmap16(HDC16,INT16,INT16);
2260 HBITMAP32 WINAPI CreateCompatibleBitmap32(HDC32,INT32,INT32);
2261 #define CreateCompatibleBitmap WINELIB_NAME(CreateCompatibleBitmap)
2262 HDC16 WINAPI CreateCompatibleDC16(HDC16);
2263 HDC32 WINAPI CreateCompatibleDC32(HDC32);
2264 #define CreateCompatibleDC WINELIB_NAME(CreateCompatibleDC)
2265 HDC16 WINAPI CreateDC16(LPCSTR,LPCSTR,LPCSTR,const DEVMODE16*);
2266 HDC32 WINAPI CreateDC32A(LPCSTR,LPCSTR,LPCSTR,const DEVMODE32A*);
2267 HDC32 WINAPI CreateDC32W(LPCWSTR,LPCWSTR,LPCWSTR,const DEVMODE32W*);
2268 #define CreateDC WINELIB_NAME_AW(CreateDC)
2269 HBITMAP16 WINAPI CreateDIBitmap16(HDC16,const BITMAPINFOHEADER*,DWORD,
2270 LPCVOID,const BITMAPINFO*,UINT16);
2271 HBITMAP32 WINAPI CreateDIBitmap32(HDC32,const BITMAPINFOHEADER*,DWORD,
2272 LPCVOID,const BITMAPINFO*,UINT32);
2273 #define CreateDIBitmap WINELIB_NAME(CreateDIBitmap)
2274 HBRUSH16 WINAPI CreateDIBPatternBrush16(HGLOBAL16,UINT16);
2275 HBRUSH32 WINAPI CreateDIBPatternBrush32(HGLOBAL32,UINT32);
2276 #define CreateDIBPatternBrush WINELIB_NAME(CreateDIBPatternBrush)
2277 HBITMAP16 WINAPI CreateDIBSection16 (HDC16, BITMAPINFO *, UINT16,
2278 SEGPTR *, HANDLE32, DWORD offset);
2279 HBITMAP32 WINAPI CreateDIBSection32 (HDC32, BITMAPINFO *, UINT32,
2280 LPVOID *, HANDLE32, DWORD offset);
2281 #define CreateDIBSection WINELIB_NAME(CreateDIBSection)
2282 HBITMAP16 WINAPI CreateDiscardableBitmap16(HDC16,INT16,INT16);
2283 HBITMAP32 WINAPI CreateDiscardableBitmap32(HDC32,INT32,INT32);
2284 #define CreateDiscardableBitmap WINELIB_NAME(CreateDiscardableBitmap)
2285 HRGN16 WINAPI CreateEllipticRgn16(INT16,INT16,INT16,INT16);
2286 HRGN32 WINAPI CreateEllipticRgn32(INT32,INT32,INT32,INT32);
2287 #define CreateEllipticRgn WINELIB_NAME(CreateEllipticRgn)
2288 HRGN16 WINAPI CreateEllipticRgnIndirect16(const RECT16 *);
2289 HRGN32 WINAPI CreateEllipticRgnIndirect32(const RECT32 *);
2290 #define CreateEllipticRgnIndirect WINELIB_NAME(CreateEllipticRgnIndirect)
2291 HFONT16 WINAPI CreateFont16(INT16,INT16,INT16,INT16,INT16,BYTE,BYTE,BYTE,
2292 BYTE,BYTE,BYTE,BYTE,BYTE,LPCSTR);
2293 HFONT32 WINAPI CreateFont32A(INT32,INT32,INT32,INT32,INT32,DWORD,DWORD,
2294 DWORD,DWORD,DWORD,DWORD,DWORD,DWORD,LPCSTR);
2295 HFONT32 WINAPI CreateFont32W(INT32,INT32,INT32,INT32,INT32,DWORD,DWORD,
2296 DWORD,DWORD,DWORD,DWORD,DWORD,DWORD,LPCWSTR);
2297 #define CreateFont WINELIB_NAME_AW(CreateFont)
2298 HFONT16 WINAPI CreateFontIndirect16(const LOGFONT16*);
2299 HFONT32 WINAPI CreateFontIndirect32A(const LOGFONT32A*);
2300 HFONT32 WINAPI CreateFontIndirect32W(const LOGFONT32W*);
2301 #define CreateFontIndirect WINELIB_NAME_AW(CreateFontIndirect)
2302 HBRUSH16 WINAPI CreateHatchBrush16(INT16,COLORREF);
2303 HBRUSH32 WINAPI CreateHatchBrush32(INT32,COLORREF);
2304 #define CreateHatchBrush WINELIB_NAME(CreateHatchBrush)
2305 HDC16 WINAPI CreateIC16(LPCSTR,LPCSTR,LPCSTR,const DEVMODE16*);
2306 HDC32 WINAPI CreateIC32A(LPCSTR,LPCSTR,LPCSTR,const DEVMODE32A*);
2307 HDC32 WINAPI CreateIC32W(LPCWSTR,LPCWSTR,LPCWSTR,const DEVMODE32W*);
2308 #define CreateIC WINELIB_NAME_AW(CreateIC)
2309 HDC16 WINAPI CreateMetaFile16(LPCSTR);
2310 HDC32 WINAPI CreateMetaFile32A(LPCSTR);
2311 HDC32 WINAPI CreateMetaFile32W(LPCWSTR);
2312 #define CreateMetaFile WINELIB_NAME_AW(CreateMetaFile)
2313 HPALETTE16 WINAPI CreatePalette16(const LOGPALETTE*);
2314 HPALETTE32 WINAPI CreatePalette32(const LOGPALETTE*);
2315 #define CreatePalette WINELIB_NAME(CreatePalette)
2316 HBRUSH16 WINAPI CreatePatternBrush16(HBITMAP16);
2317 HBRUSH32 WINAPI CreatePatternBrush32(HBITMAP32);
2318 #define CreatePatternBrush WINELIB_NAME(CreatePatternBrush)
2319 HPEN16 WINAPI CreatePen16(INT16,INT16,COLORREF);
2320 HPEN32 WINAPI CreatePen32(INT32,INT32,COLORREF);
2321 #define CreatePen WINELIB_NAME(CreatePen)
2322 HPEN16 WINAPI CreatePenIndirect16(const LOGPEN16*);
2323 HPEN32 WINAPI CreatePenIndirect32(const LOGPEN32*);
2324 #define CreatePenIndirect WINELIB_NAME(CreatePenIndirect)
2325 HRGN16 WINAPI CreatePolyPolygonRgn16(const POINT16*,const INT16*,INT16,INT16);
2326 HRGN32 WINAPI CreatePolyPolygonRgn32(const POINT32*,const INT32*,INT32,INT32);
2327 #define CreatePolyPolygonRgn WINELIB_NAME(CreatePolyPolygonRgn)
2328 HRGN16 WINAPI CreatePolygonRgn16(const POINT16*,INT16,INT16);
2329 HRGN32 WINAPI CreatePolygonRgn32(const POINT32*,INT32,INT32);
2330 #define CreatePolygonRgn WINELIB_NAME(CreatePolygonRgn)
2331 HRGN16 WINAPI CreateRectRgn16(INT16,INT16,INT16,INT16);
2332 HRGN32 WINAPI CreateRectRgn32(INT32,INT32,INT32,INT32);
2333 #define CreateRectRgn WINELIB_NAME(CreateRectRgn)
2334 HRGN16 WINAPI CreateRectRgnIndirect16(const RECT16*);
2335 HRGN32 WINAPI CreateRectRgnIndirect32(const RECT32*);
2336 #define CreateRectRgnIndirect WINELIB_NAME(CreateRectRgnIndirect)
2337 HRGN16 WINAPI CreateRoundRectRgn16(INT16,INT16,INT16,INT16,INT16,INT16);
2338 HRGN32 WINAPI CreateRoundRectRgn32(INT32,INT32,INT32,INT32,INT32,INT32);
2339 #define CreateRoundRectRgn WINELIB_NAME(CreateRoundRectRgn)
2340 BOOL16 WINAPI CreateScalableFontResource16(UINT16,LPCSTR,LPCSTR,LPCSTR);
2341 BOOL32 WINAPI CreateScalableFontResource32A(DWORD,LPCSTR,LPCSTR,LPCSTR);
2342 BOOL32 WINAPI CreateScalableFontResource32W(DWORD,LPCWSTR,LPCWSTR,LPCWSTR);
2343 #define CreateScalableFontResource WINELIB_NAME_AW(CreateScalableFontResource)
2344 HBRUSH16 WINAPI CreateSolidBrush16(COLORREF);
2345 HBRUSH32 WINAPI CreateSolidBrush32(COLORREF);
2346 #define CreateSolidBrush WINELIB_NAME(CreateSolidBrush)
2347 BOOL16 WINAPI DeleteDC16(HDC16);
2348 BOOL32 WINAPI DeleteDC32(HDC32);
2349 #define DeleteDC WINELIB_NAME(DeleteDC)
2350 BOOL16 WINAPI DeleteMetaFile16(HMETAFILE16);
2351 BOOL32 WINAPI DeleteMetaFile32(HMETAFILE32);
2352 #define DeleteMetaFile WINELIB_NAME(DeleteMetaFile)
2353 BOOL16 WINAPI DeleteObject16(HGDIOBJ16);
2354 BOOL32 WINAPI DeleteObject32(HGDIOBJ32);
2355 #define DeleteObject WINELIB_NAME(DeleteObject)
2356 INT32 WINAPI DescribePixelFormat(HDC32,int,UINT32,
2357 LPPIXELFORMATDESCRIPTOR);
2358 BOOL16 WINAPI DPtoLP16(HDC16,LPPOINT16,INT16);
2359 BOOL32 WINAPI DPtoLP32(HDC32,LPPOINT32,INT32);
2360 #define DPtoLP WINELIB_NAME(DPtoLP)
2361 BOOL16 WINAPI Ellipse16(HDC16,INT16,INT16,INT16,INT16);
2362 BOOL32 WINAPI Ellipse32(HDC32,INT32,INT32,INT32,INT32);
2363 #define Ellipse WINELIB_NAME(Ellipse)
2364 INT16 WINAPI EndDoc16(HDC16);
2365 INT32 WINAPI EndDoc32(HDC32);
2366 #define EndDoc WINELIB_NAME(EndDoc)
2367 BOOL16 WINAPI EndPath16(HDC16);
2368 BOOL32 WINAPI EndPath32(HDC32);
2369 #define EndPath WINELIB_NAME(EndPath)
2370 INT16 WINAPI EnumFontFamilies16(HDC16,LPCSTR,FONTENUMPROC16,LPARAM);
2371 INT32 WINAPI EnumFontFamilies32A(HDC32,LPCSTR,FONTENUMPROC32A,LPARAM);
2372 INT32 WINAPI EnumFontFamilies32W(HDC32,LPCWSTR,FONTENUMPROC32W,LPARAM);
2373 #define EnumFontFamilies WINELIB_NAME_AW(EnumFontFamilies)
2374 INT16 WINAPI EnumFontFamiliesEx16(HDC16,LPLOGFONT16,FONTENUMPROCEX16,LPARAM,DWORD);
2375 INT32 WINAPI EnumFontFamiliesEx32A(HDC32,LPLOGFONT32A,FONTENUMPROCEX32A,LPARAM,DWORD);
2376 INT32 WINAPI EnumFontFamiliesEx32W(HDC32,LPLOGFONT32W,FONTENUMPROCEX32W,LPARAM,DWORD);
2377 #define EnumFontFamiliesEx WINELIB_NAME_AW(EnumFontFamiliesEx)
2378 INT16 WINAPI EnumFonts16(HDC16,LPCSTR,FONTENUMPROC16,LPARAM);
2379 INT32 WINAPI EnumFonts32A(HDC32,LPCSTR,FONTENUMPROC32A,LPARAM);
2380 INT32 WINAPI EnumFonts32W(HDC32,LPCWSTR,FONTENUMPROC32W,LPARAM);
2381 #define EnumFonts WINELIB_NAME_AW(EnumFonts)
2382 BOOL16 WINAPI EnumMetaFile16(HDC16,HMETAFILE16,MFENUMPROC16,LPARAM);
2383 BOOL32 WINAPI EnumMetaFile32(HDC32,HMETAFILE32,MFENUMPROC32,LPARAM);
2384 #define EnumMetaFile WINELIB_NAME(EnumMetaFile)
2385 INT16 WINAPI EnumObjects16(HDC16,INT16,GOBJENUMPROC16,LPARAM);
2386 INT32 WINAPI EnumObjects32(HDC32,INT32,GOBJENUMPROC32,LPARAM);
2387 #define EnumObjects WINELIB_NAME(EnumObjects)
2388 BOOL16 WINAPI EqualRgn16(HRGN16,HRGN16);
2389 BOOL32 WINAPI EqualRgn32(HRGN32,HRGN32);
2390 #define EqualRgn WINELIB_NAME(EqualRgn)
2391 INT16 WINAPI Escape16(HDC16,INT16,INT16,SEGPTR,SEGPTR);
2392 INT32 WINAPI Escape32(HDC32,INT32,INT32,LPCSTR,LPVOID);
2393 #define Escape WINELIB_NAME(Escape)
2394 INT16 WINAPI ExcludeClipRect16(HDC16,INT16,INT16,INT16,INT16);
2395 INT32 WINAPI ExcludeClipRect32(HDC32,INT32,INT32,INT32,INT32);
2396 #define ExcludeClipRect WINELIB_NAME(ExcludeClipRect)
2397 HPEN16 WINAPI ExtCreatePen16(DWORD,DWORD,const LOGBRUSH16*,DWORD,const DWORD*);
2398 HPEN32 WINAPI ExtCreatePen32(DWORD,DWORD,const LOGBRUSH32*,DWORD,const DWORD*);
2399 #define ExtCreatePen WINELIB_NAME(ExtCreatePen)
2400 BOOL16 WINAPI ExtFloodFill16(HDC16,INT16,INT16,COLORREF,UINT16);
2401 BOOL32 WINAPI ExtFloodFill32(HDC32,INT32,INT32,COLORREF,UINT32);
2402 #define ExtFloodFill WINELIB_NAME(ExtFloodFill)
2403 BOOL16 WINAPI ExtTextOut16(HDC16,INT16,INT16,UINT16,const RECT16*,
2404 LPCSTR,UINT16,const INT16*);
2405 BOOL32 WINAPI ExtTextOut32A(HDC32,INT32,INT32,UINT32,const RECT32*,
2406 LPCSTR,UINT32,const INT32*);
2407 BOOL32 WINAPI ExtTextOut32W(HDC32,INT32,INT32,UINT32,const RECT32*,
2408 LPCWSTR,UINT32,const INT32*);
2409 #define ExtTextOut WINELIB_NAME_AW(ExtTextOut)
2410 BOOL16 WINAPI FillPath16(HDC16);
2411 BOOL32 WINAPI FillPath32(HDC32);
2412 #define FillPath WINELIB_NAME(FillPath)
2413 BOOL16 WINAPI FillRgn16(HDC16,HRGN16,HBRUSH16);
2414 BOOL32 WINAPI FillRgn32(HDC32,HRGN32,HBRUSH32);
2415 #define FillRgn WINELIB_NAME(FillRgn)
2416 BOOL16 WINAPI FlattenPath16(HDC16);
2417 BOOL32 WINAPI FlattenPath32(HDC32);
2418 #define FlattenPath WINELIB_NAME(FlattenPath)
2419 BOOL16 WINAPI FloodFill16(HDC16,INT16,INT16,COLORREF);
2420 BOOL32 WINAPI FloodFill32(HDC32,INT32,INT32,COLORREF);
2421 #define FloodFill WINELIB_NAME(FloodFill)
2422 BOOL16 WINAPI FrameRgn16(HDC16,HRGN16,HBRUSH16,INT16,INT16);
2423 BOOL32 WINAPI FrameRgn32(HDC32,HRGN32,HBRUSH32,INT32,INT32);
2424 #define FrameRgn WINELIB_NAME(FrameRgn)
2425 INT16 WINAPI GetArcDirection16(HDC16);
2426 INT32 WINAPI GetArcDirection32(HDC32);
2427 #define GetArcDirection WINELIB_NAME(GetArcDirection)
2428 BOOL16 WINAPI GetAspectRatioFilterEx16(HDC16,LPSIZE16);
2429 BOOL32 WINAPI GetAspectRatioFilterEx32(HDC32,LPSIZE32);
2430 #define GetAspectRatioFilterEx WINELIB_NAME(GetAspectRatioFilterEx)
2431 LONG WINAPI GetBitmapBits16(HBITMAP16,LONG,LPVOID);
2432 LONG WINAPI GetBitmapBits32(HBITMAP32,LONG,LPVOID);
2433 #define GetBitmapBits WINELIB_NAME(GetBitmapBits)
2434 BOOL16 WINAPI GetBitmapDimensionEx16(HBITMAP16,LPSIZE16);
2435 BOOL32 WINAPI GetBitmapDimensionEx32(HBITMAP32,LPSIZE32);
2436 #define GetBitmapDimensionEx WINELIB_NAME(GetBitmapDimensionEx)
2437 BOOL16 WINAPI GetBrushOrgEx16(HDC16,LPPOINT16);
2438 BOOL32 WINAPI GetBrushOrgEx32(HDC32,LPPOINT32);
2439 #define GetBrushOrgEx WINELIB_NAME(GetBrushOrgEx)
2440 COLORREF WINAPI GetBkColor16(HDC16);
2441 COLORREF WINAPI GetBkColor32(HDC32);
2442 #define GetBkColor WINELIB_NAME(GetBkColor)
2443 INT16 WINAPI GetBkMode16(HDC16);
2444 INT32 WINAPI GetBkMode32(HDC32);
2445 #define GetBkMode WINELIB_NAME(GetBkMode)
2446 UINT16 WINAPI GetBoundsRect16(HDC16,LPRECT16,UINT16);
2447 UINT32 WINAPI GetBoundsRect32(HDC32,LPRECT32,UINT32);
2448 #define GetBoundsRect WINELIB_NAME(GetBoundsRect)
2449 BOOL16 WINAPI GetCharABCWidths16(HDC16,UINT16,UINT16,LPABC16);
2450 BOOL32 WINAPI GetCharABCWidths32A(HDC32,UINT32,UINT32,LPABC32);
2451 BOOL32 WINAPI GetCharABCWidths32W(HDC32,UINT32,UINT32,LPABC32);
2452 #define GetCharABCWidths WINELIB_NAME_AW(GetCharABCWidths)
2453 DWORD WINAPI GetCharacterPlacement32A(HDC32,LPCSTR,INT32,INT32,GCP_RESULTS32A*,DWORD);
2454 DWORD WINAPI GetCharacterPlacement32W(HDC32,LPCWSTR,INT32,INT32,GCP_RESULTS32W*,DWORD);
2455 #define GetCharacterPlacement WINELIB_NAME_AW(GetCharacterPlacement)
2456 BOOL16 WINAPI GetCharWidth16(HDC16,UINT16,UINT16,LPINT16);
2457 BOOL32 WINAPI GetCharWidth32A(HDC32,UINT32,UINT32,LPINT32);
2458 BOOL32 WINAPI GetCharWidth32W(HDC32,UINT32,UINT32,LPINT32);
2459 #define GetCharWidth WINELIB_NAME_AW(GetCharWidth)
2460 INT16 WINAPI GetClipBox16(HDC16,LPRECT16);
2461 INT32 WINAPI GetClipBox32(HDC32,LPRECT32);
2462 #define GetClipBox WINELIB_NAME(GetClipBox)
2463 HRGN16 WINAPI GetClipRgn16(HDC16);
2464 INT32 WINAPI GetClipRgn32(HDC32,HRGN32);
2465 #define GetClipRgn WINELIB_NAME(GetClipRgn)
2466 BOOL16 WINAPI GetCurrentPositionEx16(HDC16,LPPOINT16);
2467 BOOL32 WINAPI GetCurrentPositionEx32(HDC32,LPPOINT32);
2468 #define GetCurrentPositionEx WINELIB_NAME(GetCurrentPositionEx)
2469 INT16 WINAPI GetDeviceCaps16(HDC16,INT16);
2470 INT32 WINAPI GetDeviceCaps32(HDC32,INT32);
2471 #define GetDeviceCaps WINELIB_NAME(GetDeviceCaps)
2472 UINT16 WINAPI GetDIBColorTable16(HDC16,UINT16,UINT16,RGBQUAD*);
2473 UINT32 WINAPI GetDIBColorTable32(HDC32,UINT32,UINT32,RGBQUAD*);
2474 #define GetDIBColorTable WINELIB_NAME(GetDIBColorTable)
2475 INT16 WINAPI GetDIBits16(HDC16,HBITMAP16,UINT16,UINT16,LPVOID,LPBITMAPINFO,UINT16);
2476 INT32 WINAPI GetDIBits32(HDC32,HBITMAP32,UINT32,UINT32,LPVOID,LPBITMAPINFO,UINT32);
2477 #define GetDIBits WINELIB_NAME(GetDIBits)
2478 DWORD WINAPI GetFontData32(HDC32,DWORD,DWORD,LPVOID,DWORD);
2479 #define GetFontData WINELIB_NAME(GetFontData)
2480 DWORD WINAPI GetFontLanguageInfo16(HDC16);
2481 DWORD WINAPI GetFontLanguageInfo32(HDC32);
2482 #define GetFontLanguageInfo WINELIB_NAME(GetFontLanguageInfo)
2483 DWORD WINAPI GetGlyphOutline16(HDC16,UINT16,UINT16,LPGLYPHMETRICS16,DWORD,LPVOID,const MAT2*);
2484 DWORD WINAPI GetGlyphOutline32A(HDC32,UINT32,UINT32,LPGLYPHMETRICS32,DWORD,LPVOID,const MAT2*);
2485 DWORD WINAPI GetGlyphOutline32W(HDC32,UINT32,UINT32,LPGLYPHMETRICS32,DWORD,LPVOID,const MAT2*);
2486 #define GetGlyphOutline WINELIB_NAME_AW(GetGlyphOutline)
2487 INT16 WINAPI GetKerningPairs16(HDC16,INT16,LPKERNINGPAIR16);
2488 DWORD WINAPI GetKerningPairs32A(HDC32,DWORD,LPKERNINGPAIR32);
2489 DWORD WINAPI GetKerningPairs32W(HDC32,DWORD,LPKERNINGPAIR32);
2490 #define GetKerningPairs WINELIB_NAME_AW(GetKerningPairs)
2491 INT16 WINAPI GetMapMode16(HDC16);
2492 INT32 WINAPI GetMapMode32(HDC32);
2493 #define GetMapMode WINELIB_NAME(GetMapMode)
2494 HMETAFILE16 WINAPI GetMetaFile16(LPCSTR);
2495 HMETAFILE32 WINAPI GetMetaFile32A(LPCSTR);
2496 HMETAFILE32 WINAPI GetMetaFile32W(LPCWSTR);
2497 #define GetMetaFile WINELIB_NAME_AW(GetMetaFile)
2498 DWORD WINAPI GetNearestColor16(HDC16,DWORD);
2499 DWORD WINAPI GetNearestColor32(HDC32,DWORD);
2500 #define GetNearestColor WINELIB_NAME(GetNearestColor)
2501 UINT16 WINAPI GetNearestPaletteIndex16(HPALETTE16,COLORREF);
2502 UINT32 WINAPI GetNearestPaletteIndex32(HPALETTE32,COLORREF);
2503 #define GetNearestPaletteIndex WINELIB_NAME(GetNearestPaletteIndex)
2504 INT16 WINAPI GetObject16(HANDLE16,INT16,LPVOID);
2505 INT32 WINAPI GetObject32A(HANDLE32,INT32,LPVOID);
2506 INT32 WINAPI GetObject32W(HANDLE32,INT32,LPVOID);
2507 #define GetObject WINELIB_NAME_AW(GetObject)
2508 UINT16 WINAPI GetOutlineTextMetrics16(HDC16,UINT16,LPOUTLINETEXTMETRIC16);
2509 UINT32 WINAPI GetOutlineTextMetrics32A(HDC32,UINT32,LPOUTLINETEXTMETRIC32A);
2510 UINT32 WINAPI GetOutlineTextMetrics32W(HDC32,UINT32,LPOUTLINETEXTMETRIC32W);
2511 #define GetOutlineTextMetrics WINELIB_NAME_AW(GetOutlineTextMetrics)
2512 UINT16 WINAPI GetPaletteEntries16(HPALETTE16,UINT16,UINT16,LPPALETTEENTRY);
2513 UINT32 WINAPI GetPaletteEntries32(HPALETTE32,UINT32,UINT32,LPPALETTEENTRY);
2514 #define GetPaletteEntries WINELIB_NAME(GetPaletteEntries)
2515 INT16 WINAPI GetPath16(HDC16,LPPOINT16,LPBYTE,INT16);
2516 INT32 WINAPI GetPath32(HDC32,LPPOINT32,LPBYTE,INT32);
2517 #define GetPath WINELIB_NAME(GetPath)
2518 COLORREF WINAPI GetPixel16(HDC16,INT16,INT16);
2519 COLORREF WINAPI GetPixel32(HDC32,INT32,INT32);
2520 #define GetPixel WINELIB_NAME(GetPixel)
2521 INT32 WINAPI GetPixelFormat(HDC32);
2522 INT16 WINAPI GetPolyFillMode16(HDC16);
2523 INT32 WINAPI GetPolyFillMode32(HDC32);
2524 #define GetPolyFillMode WINELIB_NAME(GetPolyFillMode)
2525 BOOL16 WINAPI GetRasterizerCaps16(LPRASTERIZER_STATUS,UINT16);
2526 BOOL32 WINAPI GetRasterizerCaps32(LPRASTERIZER_STATUS,UINT32);
2527 #define GetRasterizerCaps WINELIB_NAME(GetRasterizerCaps)
2528 DWORD WINAPI GetRegionData16(HRGN16,DWORD,LPRGNDATA);
2529 DWORD WINAPI GetRegionData32(HRGN32,DWORD,LPRGNDATA);
2530 #define GetRegionData WINELIB_NAME(GetRegionData)
2531 INT16 WINAPI GetRelAbs16(HDC16);
2532 INT32 WINAPI GetRelAbs32(HDC32);
2533 #define GetRelAbs WINELIB_NAME(GetRelAbs)
2534 INT16 WINAPI GetRgnBox16(HRGN16,LPRECT16);
2535 INT32 WINAPI GetRgnBox32(HRGN32,LPRECT32);
2536 #define GetRgnBox WINELIB_NAME(GetRgnBox)
2537 INT16 WINAPI GetROP216(HDC16);
2538 INT32 WINAPI GetROP232(HDC32);
2539 #define GetROP2 WINELIB_NAME(GetROP2)
2540 HGDIOBJ16 WINAPI GetStockObject16(INT16);
2541 HGDIOBJ32 WINAPI GetStockObject32(INT32);
2542 #define GetStockObject WINELIB_NAME(GetStockObject)
2543 INT16 WINAPI GetStretchBltMode16(HDC16);
2544 INT32 WINAPI GetStretchBltMode32(HDC32);
2545 #define GetStretchBltMode WINELIB_NAME(GetStretchBltMode)
2546 UINT16 WINAPI GetSystemPaletteEntries16(HDC16,UINT16,UINT16,LPPALETTEENTRY);
2547 UINT32 WINAPI GetSystemPaletteEntries32(HDC32,UINT32,UINT32,LPPALETTEENTRY);
2548 #define GetSystemPaletteEntries WINELIB_NAME(GetSystemPaletteEntries)
2549 UINT16 WINAPI GetSystemPaletteUse16(HDC16);
2550 UINT32 WINAPI GetSystemPaletteUse32(HDC32);
2551 #define GetSystemPaletteUse WINELIB_NAME(GetSystemPaletteUse)
2552 UINT16 WINAPI GetTextAlign16(HDC16);
2553 UINT32 WINAPI GetTextAlign32(HDC32);
2554 #define GetTextAlign WINELIB_NAME(GetTextAlign)
2555 INT16 WINAPI GetTextCharacterExtra16(HDC16);
2556 INT32 WINAPI GetTextCharacterExtra32(HDC32);
2557 #define GetTextCharacterExtra WINELIB_NAME(GetTextCharacterExtra)
2558 UINT16 WINAPI GetTextCharset16(HDC16);
2559 UINT32 WINAPI GetTextCharset32(HDC32);
2560 #define GetTextCharset WINELIB_NAME(GetTextCharset)
2561 COLORREF WINAPI GetTextColor16(HDC16);
2562 COLORREF WINAPI GetTextColor32(HDC32);
2563 #define GetTextColor WINELIB_NAME(GetTextColor)
2564 /* this one is different, because Win32 has *both*
2565 * GetTextExtentPoint and GetTextExtentPoint32 !
2567 BOOL16 WINAPI GetTextExtentPoint16(HDC16,LPCSTR,INT16,LPSIZE16);
2568 BOOL32 WINAPI GetTextExtentPoint32A(HDC32,LPCSTR,INT32,LPSIZE32);
2569 BOOL32 WINAPI GetTextExtentPoint32W(HDC32,LPCWSTR,INT32,LPSIZE32);
2570 BOOL32 WINAPI GetTextExtentPoint32ABuggy(HDC32,LPCSTR,INT32,LPSIZE32);
2571 BOOL32 WINAPI GetTextExtentPoint32WBuggy(HDC32,LPCWSTR,INT32,LPSIZE32);
2572 #ifdef UNICODE
2573 #define GetTextExtentPoint GetTextExtentPoint32WBuggy
2574 #define GetTextExtentPoint32 GetTextExtentPoint32W
2575 #else
2576 #define GetTextExtentPoint GetTextExtentPoint32ABuggy
2577 #define GetTextExtentPoint32 GetTextExtentPoint32A
2578 #endif
2579 INT16 WINAPI GetTextFace16(HDC16,INT16,LPSTR);
2580 INT32 WINAPI GetTextFace32A(HDC32,INT32,LPSTR);
2581 INT32 WINAPI GetTextFace32W(HDC32,INT32,LPWSTR);
2582 #define GetTextFace WINELIB_NAME_AW(GetTextFace)
2583 BOOL16 WINAPI GetTextMetrics16(HDC16,LPTEXTMETRIC16);
2584 BOOL32 WINAPI GetTextMetrics32A(HDC32,LPTEXTMETRIC32A);
2585 BOOL32 WINAPI GetTextMetrics32W(HDC32,LPTEXTMETRIC32W);
2586 #define GetTextMetrics WINELIB_NAME_AW(GetTextMetrics)
2587 BOOL16 WINAPI GetViewportExtEx16(HDC16,LPSIZE16);
2588 BOOL32 WINAPI GetViewportExtEx32(HDC32,LPSIZE32);
2589 #define GetViewportExtEx WINELIB_NAME(GetViewportExtEx)
2590 BOOL16 WINAPI GetViewportOrgEx16(HDC16,LPPOINT16);
2591 BOOL32 WINAPI GetViewportOrgEx32(HDC32,LPPOINT32);
2592 #define GetViewportOrgEx WINELIB_NAME(GetViewportOrgEx)
2593 BOOL16 WINAPI GetWindowExtEx16(HDC16,LPSIZE16);
2594 BOOL32 WINAPI GetWindowExtEx32(HDC32,LPSIZE32);
2595 #define GetWindowExtEx WINELIB_NAME(GetWindowExtEx)
2596 BOOL16 WINAPI GetWindowOrgEx16(HDC16,LPPOINT16);
2597 BOOL32 WINAPI GetWindowOrgEx32(HDC32,LPPOINT32);
2598 #define GetWindowOrgEx WINELIB_NAME(GetWindowOrgEx)
2599 INT16 WINAPI IntersectClipRect16(HDC16,INT16,INT16,INT16,INT16);
2600 INT32 WINAPI IntersectClipRect32(HDC32,INT32,INT32,INT32,INT32);
2601 #define IntersectClipRect WINELIB_NAME(IntersectClipRect)
2602 BOOL16 WINAPI InvertRgn16(HDC16,HRGN16);
2603 BOOL32 WINAPI InvertRgn32(HDC32,HRGN32);
2604 #define InvertRgn WINELIB_NAME(InvertRgn)
2605 VOID WINAPI LineDDA16(INT16,INT16,INT16,INT16,LINEDDAPROC16,LPARAM);
2606 BOOL32 WINAPI LineDDA32(INT32,INT32,INT32,INT32,LINEDDAPROC32,LPARAM);
2607 #define LineDDA WINELIB_NAME(LineDDA)
2608 BOOL16 WINAPI LineTo16(HDC16,INT16,INT16);
2609 BOOL32 WINAPI LineTo32(HDC32,INT32,INT32);
2610 #define LineTo WINELIB_NAME(LineTo)
2611 BOOL16 WINAPI LPtoDP16(HDC16,LPPOINT16,INT16);
2612 BOOL32 WINAPI LPtoDP32(HDC32,LPPOINT32,INT32);
2613 #define LPtoDP WINELIB_NAME(LPtoDP)
2614 BOOL16 WINAPI MoveToEx16(HDC16,INT16,INT16,LPPOINT16);
2615 BOOL32 WINAPI MoveToEx32(HDC32,INT32,INT32,LPPOINT32);
2616 #define MoveToEx WINELIB_NAME(MoveToEx)
2617 INT16 WINAPI MulDiv16(INT16,INT16,INT16);
2618 /* FIXME This is defined in kernel32.spec !?*/
2619 INT32 WINAPI MulDiv32(INT32,INT32,INT32);
2620 #define MulDiv WINELIB_NAME(MulDiv)
2621 INT16 WINAPI OffsetClipRgn16(HDC16,INT16,INT16);
2622 INT32 WINAPI OffsetClipRgn32(HDC32,INT32,INT32);
2623 #define OffsetClipRgn WINELIB_NAME(OffsetClipRgn)
2624 INT16 WINAPI OffsetRgn16(HRGN16,INT16,INT16);
2625 INT32 WINAPI OffsetRgn32(HRGN32,INT32,INT32);
2626 #define OffsetRgn WINELIB_NAME(OffsetRgn)
2627 BOOL16 WINAPI OffsetViewportOrgEx16(HDC16,INT16,INT16,LPPOINT16);
2628 BOOL32 WINAPI OffsetViewportOrgEx32(HDC32,INT32,INT32,LPPOINT32);
2629 #define OffsetViewportOrgEx WINELIB_NAME(OffsetViewportOrgEx)
2630 BOOL16 WINAPI OffsetWindowOrgEx16(HDC16,INT16,INT16,LPPOINT16);
2631 BOOL32 WINAPI OffsetWindowOrgEx32(HDC32,INT32,INT32,LPPOINT32);
2632 #define OffsetWindowOrgEx WINELIB_NAME(OffsetWindowOrgEx)
2633 BOOL16 WINAPI PaintRgn16(HDC16,HRGN16);
2634 BOOL32 WINAPI PaintRgn32(HDC32,HRGN32);
2635 #define PaintRgn WINELIB_NAME(PaintRgn)
2636 BOOL16 WINAPI PatBlt16(HDC16,INT16,INT16,INT16,INT16,DWORD);
2637 BOOL32 WINAPI PatBlt32(HDC32,INT32,INT32,INT32,INT32,DWORD);
2638 #define PatBlt WINELIB_NAME(PatBlt)
2639 HRGN16 WINAPI PathToRegion16(HDC16);
2640 HRGN32 WINAPI PathToRegion32(HDC32);
2641 #define PathToRegion WINELIB_NAME(PathToRegion)
2642 BOOL16 WINAPI Pie16(HDC16,INT16,INT16,INT16,INT16,INT16,INT16,INT16,INT16);
2643 BOOL32 WINAPI Pie32(HDC32,INT32,INT32,INT32,INT32,INT32,INT32,INT32,INT32);
2644 #define Pie WINELIB_NAME(Pie)
2645 BOOL16 WINAPI PlayMetaFile16(HDC16,HMETAFILE16);
2646 BOOL32 WINAPI PlayMetaFile32(HDC32,HMETAFILE32);
2647 #define PlayMetaFile WINELIB_NAME(PlayMetaFile)
2648 VOID WINAPI PlayMetaFileRecord16(HDC16,LPHANDLETABLE16,LPMETARECORD,UINT16);
2649 BOOL32 WINAPI PlayMetaFileRecord32(HDC32,LPHANDLETABLE32,LPMETARECORD,UINT32);
2650 #define PlayMetaFileRecord WINELIB_NAME(PlayMetaFileRecord)
2651 BOOL16 WINAPI PolyBezier16(HDC16,const POINT16*,INT16);
2652 BOOL32 WINAPI PolyBezier32(HDC32,const POINT32*,DWORD);
2653 #define PolyBezier WINELIB_NAME(PolyBezier)
2654 BOOL16 WINAPI PolyBezierTo16(HDC16,const POINT16*,INT16);
2655 BOOL32 WINAPI PolyBezierTo32(HDC32,const POINT32*,DWORD);
2656 #define PolyBezierTo WINELIB_NAME(PolyBezierTo)
2657 BOOL16 WINAPI PolyPolygon16(HDC16,const POINT16*,const INT16*,UINT16);
2658 BOOL32 WINAPI PolyPolygon32(HDC32,const POINT32*,const INT32*,UINT32);
2659 #define PolyPolygon WINELIB_NAME(PolyPolygon)
2660 BOOL16 WINAPI Polygon16(HDC16,const POINT16*,INT16);
2661 BOOL32 WINAPI Polygon32(HDC32,const POINT32*,INT32);
2662 #define Polygon WINELIB_NAME(Polygon)
2663 BOOL16 WINAPI Polyline16(HDC16,const POINT16*,INT16);
2664 BOOL32 WINAPI Polyline32(HDC32,const POINT32*,INT32);
2665 #define Polyline WINELIB_NAME(Polyline)
2666 BOOL32 WINAPI PolylineTo32(HDC32,const POINT32*,DWORD);
2667 BOOL16 WINAPI PtInRegion16(HRGN16,INT16,INT16);
2668 BOOL32 WINAPI PtInRegion32(HRGN32,INT32,INT32);
2669 #define PtInRegion WINELIB_NAME(PtInRegion)
2670 BOOL16 WINAPI PtVisible16(HDC16,INT16,INT16);
2671 BOOL32 WINAPI PtVisible32(HDC32,INT32,INT32);
2672 #define PtVisible WINELIB_NAME(PtVisible)
2673 /* FIXME This is defined in user.spec !? */
2674 UINT16 WINAPI RealizePalette16(HDC16);
2675 UINT32 WINAPI RealizePalette32(HDC32);
2676 #define RealizePalette WINELIB_NAME(RealizePalette)
2677 BOOL16 WINAPI Rectangle16(HDC16,INT16,INT16,INT16,INT16);
2678 BOOL32 WINAPI Rectangle32(HDC32,INT32,INT32,INT32,INT32);
2679 #define Rectangle WINELIB_NAME(Rectangle)
2680 BOOL16 WINAPI RectInRegion16(HRGN16,const RECT16 *);
2681 BOOL32 WINAPI RectInRegion32(HRGN32,const RECT32 *);
2682 #define RectInRegion WINELIB_NAME(RectInRegion)
2683 BOOL16 WINAPI RectVisible16(HDC16,const RECT16*);
2684 BOOL32 WINAPI RectVisible32(HDC32,const RECT32*);
2685 #define RectVisible WINELIB_NAME(RectVisible)
2686 BOOL16 WINAPI RemoveFontResource16(SEGPTR);
2687 BOOL32 WINAPI RemoveFontResource32A(LPCSTR);
2688 BOOL32 WINAPI RemoveFontResource32W(LPCWSTR);
2689 #define RemoveFontResource WINELIB_NAME_AW(RemoveFontResource)
2690 HDC16 WINAPI ResetDC16(HDC16,const DEVMODE16 *);
2691 HDC32 WINAPI ResetDC32A(HDC32,const DEVMODE32A *);
2692 HDC32 WINAPI ResetDC32W(HDC32,const DEVMODE32W *);
2693 #define ResetDC WINELIB_NAME_AW(ResetDC)
2694 BOOL16 WINAPI ResizePalette16(HPALETTE16,UINT16);
2695 BOOL32 WINAPI ResizePalette32(HPALETTE32,UINT32);
2696 #define ResizePalette WINELIB_NAME(ResizePalette)
2697 BOOL16 WINAPI RestoreDC16(HDC16,INT16);
2698 BOOL32 WINAPI RestoreDC32(HDC32,INT32);
2699 #define RestoreDC WINELIB_NAME(RestoreDC)
2700 BOOL16 WINAPI RoundRect16(HDC16,INT16,INT16,INT16,INT16,INT16,INT16);
2701 BOOL32 WINAPI RoundRect32(HDC32,INT32,INT32,INT32,INT32,INT32,INT32);
2702 #define RoundRect WINELIB_NAME(RoundRect)
2703 INT16 WINAPI SaveDC16(HDC16);
2704 INT32 WINAPI SaveDC32(HDC32);
2705 #define SaveDC WINELIB_NAME(SaveDC)
2706 BOOL16 WINAPI ScaleViewportExtEx16(HDC16,INT16,INT16,INT16,INT16,LPSIZE16);
2707 BOOL32 WINAPI ScaleViewportExtEx32(HDC32,INT32,INT32,INT32,INT32,LPSIZE32);
2708 #define ScaleViewportExtEx WINELIB_NAME(ScaleViewportExtEx)
2709 BOOL16 WINAPI ScaleWindowExtEx16(HDC16,INT16,INT16,INT16,INT16,LPSIZE16);
2710 BOOL32 WINAPI ScaleWindowExtEx32(HDC32,INT32,INT32,INT32,INT32,LPSIZE32);
2711 #define ScaleWindowExtEx WINELIB_NAME(ScaleWindowExtEx)
2712 BOOL16 WINAPI SelectClipPath16(HDC16,INT16);
2713 BOOL32 WINAPI SelectClipPath32(HDC32,INT32);
2714 #define SelectClipPath WINELIB_NAME(SelectClipPath)
2715 INT16 WINAPI SelectClipRgn16(HDC16,HRGN16);
2716 INT32 WINAPI SelectClipRgn32(HDC32,HRGN32);
2717 #define SelectClipRgn WINELIB_NAME(SelectClipRgn)
2718 HGDIOBJ16 WINAPI SelectObject16(HDC16,HGDIOBJ16);
2719 HGDIOBJ32 WINAPI SelectObject32(HDC32,HGDIOBJ32);
2720 #define SelectObject WINELIB_NAME(SelectObject)
2721 /* FIXME This is defined in user.spec !? */
2722 HPALETTE16 WINAPI SelectPalette16(HDC16,HPALETTE16,BOOL16);
2723 HPALETTE32 WINAPI SelectPalette32(HDC32,HPALETTE32,BOOL32);
2724 #define SelectPalette WINELIB_NAME(SelectPalette)
2725 INT16 WINAPI SetAbortProc16(HDC16,SEGPTR);
2726 INT32 WINAPI SetAbortProc32(HDC32,ABORTPROC32);
2727 #define SetAbortProc WINELIB_NAME(SetAbortProc)
2728 INT16 WINAPI SetArcDirection16(HDC16,INT16);
2729 INT32 WINAPI SetArcDirection32(HDC32,INT32);
2730 #define SetArcDirection WINELIB_NAME(SetArcDirection)
2731 LONG WINAPI SetBitmapBits16(HBITMAP16,LONG,LPCVOID);
2732 LONG WINAPI SetBitmapBits32(HBITMAP32,LONG,LPCVOID);
2733 #define SetBitmapBits WINELIB_NAME(SetBitmapBits)
2734 BOOL16 WINAPI SetBitmapDimensionEx16(HBITMAP16,INT16,INT16,LPSIZE16);
2735 BOOL32 WINAPI SetBitmapDimensionEx32(HBITMAP32,INT32,INT32,LPSIZE32);
2736 #define SetBitmapDimensionEx WINELIB_NAME(SetBitmapDimensionEx)
2737 COLORREF WINAPI SetBkColor16(HDC16,COLORREF);
2738 COLORREF WINAPI SetBkColor32(HDC32,COLORREF);
2739 #define SetBkColor WINELIB_NAME(SetBkColor)
2740 INT16 WINAPI SetBkMode16(HDC16,INT16);
2741 INT32 WINAPI SetBkMode32(HDC32,INT32);
2742 #define SetBkMode WINELIB_NAME(SetBkMode)
2743 UINT16 WINAPI SetBoundsRect16(HDC16,const RECT16*,UINT16);
2744 UINT32 WINAPI SetBoundsRect32(HDC32,const RECT32*,UINT32);
2745 #define SetBoundsRect WINELIB_NAME(SetBoundsRect)
2746 UINT16 WINAPI SetDIBColorTable16(HDC16,UINT16,UINT16,RGBQUAD*);
2747 UINT32 WINAPI SetDIBColorTable32(HDC32,UINT32,UINT32,RGBQUAD*);
2748 #define SetDIBColorTable WINELIB_NAME(SetDIBColorTable)
2749 INT16 WINAPI SetDIBits16(HDC16,HBITMAP16,UINT16,UINT16,LPCVOID,const BITMAPINFO*,UINT16);
2750 INT32 WINAPI SetDIBits32(HDC32,HBITMAP32,UINT32,UINT32,LPCVOID,const BITMAPINFO*,UINT32);
2751 #define SetDIBits WINELIB_NAME(SetDIBits)
2752 INT16 WINAPI SetDIBitsToDevice16(HDC16,INT16,INT16,INT16,INT16,INT16,
2753 INT16,UINT16,UINT16,LPCVOID,const BITMAPINFO*,UINT16);
2754 INT32 WINAPI SetDIBitsToDevice32(HDC32,INT32,INT32,DWORD,DWORD,INT32,
2755 INT32,UINT32,UINT32,LPCVOID,const BITMAPINFO*,UINT32);
2756 #define SetDIBitsToDevice WINELIB_NAME(SetDIBitsToDevice)
2757 INT16 WINAPI SetMapMode16(HDC16,INT16);
2758 INT32 WINAPI SetMapMode32(HDC32,INT32);
2759 #define SetMapMode WINELIB_NAME(SetMapMode)
2760 DWORD WINAPI SetMapperFlags16(HDC16,DWORD);
2761 DWORD WINAPI SetMapperFlags32(HDC32,DWORD);
2762 #define SetMapperFlags WINELIB_NAME(SetMapperFlags)
2763 UINT16 WINAPI SetPaletteEntries16(HPALETTE16,UINT16,UINT16,LPPALETTEENTRY);
2764 UINT32 WINAPI SetPaletteEntries32(HPALETTE32,UINT32,UINT32,LPPALETTEENTRY);
2765 #define SetPaletteEntries WINELIB_NAME(SetPaletteEntries)
2766 COLORREF WINAPI SetPixel16(HDC16,INT16,INT16,COLORREF);
2767 COLORREF WINAPI SetPixel32(HDC32,INT32,INT32,COLORREF);
2768 #define SetPixel WINELIB_NAME(SetPixel)
2769 BOOL32 WINAPI SetPixelV32(HDC32,INT32,INT32,COLORREF);
2770 #define SetPixelV WINELIB_NAME(SetPixelV)
2771 BOOL32 WINAPI SetPixelFormat(HDC32,int,const PIXELFORMATDESCRIPTOR*);
2772 INT16 WINAPI SetPolyFillMode16(HDC16,INT16);
2773 INT32 WINAPI SetPolyFillMode32(HDC32,INT32);
2774 #define SetPolyFillMode WINELIB_NAME(SetPolyFillMode)
2775 VOID WINAPI SetRectRgn16(HRGN16,INT16,INT16,INT16,INT16);
2776 VOID WINAPI SetRectRgn32(HRGN32,INT32,INT32,INT32,INT32);
2777 #define SetRectRgn WINELIB_NAME(SetRectRgn)
2778 INT16 WINAPI SetRelAbs16(HDC16,INT16);
2779 INT32 WINAPI SetRelAbs32(HDC32,INT32);
2780 #define SetRelAbs WINELIB_NAME(SetRelAbs)
2781 INT16 WINAPI SetROP216(HDC16,INT16);
2782 INT32 WINAPI SetROP232(HDC32,INT32);
2783 #define SetROP2 WINELIB_NAME(SetROP2)
2784 INT16 WINAPI SetStretchBltMode16(HDC16,INT16);
2785 INT32 WINAPI SetStretchBltMode32(HDC32,INT32);
2786 #define SetStretchBltMode WINELIB_NAME(SetStretchBltMode)
2787 UINT16 WINAPI SetSystemPaletteUse16(HDC16,UINT16);
2788 UINT32 WINAPI SetSystemPaletteUse32(HDC32,UINT32);
2789 #define SetSystemPaletteUse WINELIB_NAME(SetSystemPaletteUse)
2790 UINT16 WINAPI SetTextAlign16(HDC16,UINT16);
2791 UINT32 WINAPI SetTextAlign32(HDC32,UINT32);
2792 #define SetTextAlign WINELIB_NAME(SetTextAlign)
2793 INT16 WINAPI SetTextCharacterExtra16(HDC16,INT16);
2794 INT32 WINAPI SetTextCharacterExtra32(HDC32,INT32);
2795 #define SetTextCharacterExtra WINELIB_NAME(SetTextCharacterExtra)
2796 COLORREF WINAPI SetTextColor16(HDC16,COLORREF);
2797 COLORREF WINAPI SetTextColor32(HDC32,COLORREF);
2798 #define SetTextColor WINELIB_NAME(SetTextColor)
2799 INT16 WINAPI SetTextJustification16(HDC16,INT16,INT16);
2800 BOOL32 WINAPI SetTextJustification32(HDC32,INT32,INT32);
2801 #define SetTextJustification WINELIB_NAME(SetTextJustification)
2802 BOOL16 WINAPI SetViewportExtEx16(HDC16,INT16,INT16,LPSIZE16);
2803 BOOL32 WINAPI SetViewportExtEx32(HDC32,INT32,INT32,LPSIZE32);
2804 #define SetViewportExtEx WINELIB_NAME(SetViewportExtEx)
2805 BOOL16 WINAPI SetViewportOrgEx16(HDC16,INT16,INT16,LPPOINT16);
2806 BOOL32 WINAPI SetViewportOrgEx32(HDC32,INT32,INT32,LPPOINT32);
2807 #define SetViewportOrgEx WINELIB_NAME(SetViewportOrgEx)
2808 BOOL16 WINAPI SetWindowExtEx16(HDC16,INT16,INT16,LPSIZE16);
2809 BOOL32 WINAPI SetWindowExtEx32(HDC32,INT32,INT32,LPSIZE32);
2810 #define SetWindowExtEx WINELIB_NAME(SetWindowExtEx)
2811 BOOL16 WINAPI SetWindowOrgEx16(HDC16,INT16,INT16,LPPOINT16);
2812 BOOL32 WINAPI SetWindowOrgEx32(HDC32,INT32,INT32,LPPOINT32);
2813 #define SetWindowOrgEx WINELIB_NAME(SetWindowOrgEx)
2814 HENHMETAFILE32 WINAPI SetWinMetaFileBits(UINT32,CONST BYTE*,HDC32,CONST METAFILEPICT32 *);
2815 INT16 WINAPI StartDoc16(HDC16,const DOCINFO16*);
2816 INT32 WINAPI StartDoc32A(HDC32,const DOCINFO32A*);
2817 INT32 WINAPI StartDoc32W(HDC32,const DOCINFO32W*);
2818 #define StartDoc WINELIB_NAME_AW(StartDoc)
2819 INT16 WINAPI StartPage16(HDC16);
2820 INT32 WINAPI StartPage32(HDC32);
2821 #define StartPage WINELIB_NAME(StartPage)
2822 INT16 WINAPI EndPage16(HDC16);
2823 INT32 WINAPI EndPage32(HDC32);
2824 #define EndPage WINELIB_NAME(EndPage)
2825 BOOL16 WINAPI StretchBlt16(HDC16,INT16,INT16,INT16,INT16,HDC16,INT16,
2826 INT16,INT16,INT16,DWORD);
2827 BOOL32 WINAPI StretchBlt32(HDC32,INT32,INT32,INT32,INT32,HDC32,INT32,
2828 INT32,INT32,INT32,DWORD);
2829 #define StretchBlt WINELIB_NAME(StretchBlt)
2830 INT16 WINAPI StretchDIBits16(HDC16,INT16,INT16,INT16,INT16,INT16,INT16,
2831 INT16,INT16,const VOID*,const BITMAPINFO*,UINT16,DWORD);
2832 INT32 WINAPI StretchDIBits32(HDC32,INT32,INT32,INT32,INT32,INT32,INT32,
2833 INT32,INT32,const VOID*,const BITMAPINFO*,UINT32,DWORD);
2834 #define StretchDIBits WINELIB_NAME(StretchDIBits)
2835 BOOL16 WINAPI StrokeAndFillPath16(HDC16);
2836 BOOL32 WINAPI StrokeAndFillPath32(HDC32);
2837 #define StrokeAndFillPath WINELIB_NAME(StrokeAndFillPath)
2838 BOOL16 WINAPI StrokePath16(HDC16);
2839 BOOL32 WINAPI StrokePath32(HDC32);
2840 #define StrokePath WINELIB_NAME(StrokePath)
2841 BOOL32 WINAPI SwapBuffers(HDC32);
2842 BOOL16 WINAPI TextOut16(HDC16,INT16,INT16,LPCSTR,INT16);
2843 BOOL32 WINAPI TextOut32A(HDC32,INT32,INT32,LPCSTR,INT32);
2844 BOOL32 WINAPI TextOut32W(HDC32,INT32,INT32,LPCWSTR,INT32);
2845 #define TextOut WINELIB_NAME_AW(TextOut)
2846 BOOL16 WINAPI UnrealizeObject16(HGDIOBJ16);
2847 BOOL32 WINAPI UnrealizeObject32(HGDIOBJ32);
2848 #define UnrealizeObject WINELIB_NAME(UnrealizeObject)
2849 INT16 WINAPI UpdateColors16(HDC16);
2850 BOOL32 WINAPI UpdateColors32(HDC32);
2851 #define UpdateColors WINELIB_NAME(UpdateColors)
2852 BOOL16 WINAPI WidenPath16(HDC16);
2853 BOOL32 WINAPI WidenPath32(HDC32);
2854 #define WidenPath WINELIB_NAME(WidenPath)
2856 #endif /* __WINE_WINGDI_H */