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