Fixed index calculations of the upper and lower bounds of a safearray.
[wine/wine-kai.git] / include / wingdi.h
blobede2b61986d3e493872176a24473f1d0f9b086f1
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 INT iKernAmount;
26 } KERNINGPAIR, *LPKERNINGPAIR;
29 typedef struct
31 HDC16 hdc;
32 BOOL16 fErase;
33 RECT16 rcPaint;
34 BOOL16 fRestore;
35 BOOL16 fIncUpdate;
36 BYTE rgbReserved[16];
37 } PAINTSTRUCT16, *LPPAINTSTRUCT16;
39 typedef struct
41 HDC hdc;
42 BOOL fErase;
43 RECT rcPaint;
44 BOOL fRestore;
45 BOOL fIncUpdate;
46 BYTE rgbReserved[32];
47 } PAINTSTRUCT, *LPPAINTSTRUCT;
51 typedef struct tagPIXELFORMATDESCRIPTOR {
52 WORD nSize;
53 WORD nVersion;
54 DWORD dwFlags;
55 BYTE iPixelType;
56 BYTE cColorBits;
57 BYTE cRedBits;
58 BYTE cRedShift;
59 BYTE cGreenBits;
60 BYTE cGreenShift;
61 BYTE cBlueBits;
62 BYTE cBlueShift;
63 BYTE cAlphaBits;
64 BYTE cAlphaShift;
65 BYTE cAccumBits;
66 BYTE cAccumRedBits;
67 BYTE cAccumGreenBits;
68 BYTE cAccumBlueBits;
69 BYTE cAccumAlphaBits;
70 BYTE cDepthBits;
71 BYTE cStencilBits;
72 BYTE cAuxBuffers;
73 BYTE iLayerType;
74 BYTE bReserved;
75 DWORD dwLayerMask;
76 DWORD dwVisibleMask;
77 DWORD dwDamageMask;
78 } PIXELFORMATDESCRIPTOR, *LPPIXELFORMATDESCRIPTOR;
80 typedef struct tagCOLORADJUSTMENT
82 WORD caSize;
83 WORD caFlags;
84 WORD caIlluminantIndex;
85 WORD caRedGamma;
86 WORD caGreenGamma;
87 WORD caBlueGamma;
88 WORD caReferenceBlack;
89 WORD caReferenceWhite;
90 SHORT caContrast;
91 SHORT caBrightness;
92 SHORT caColorfulness;
93 SHORT caRedGreenTint;
94 } COLORADJUSTMENT, *PCOLORADJUSTMENT, *LPCOLORADJUSTMENT;
96 #define DC_FIELDS 1
97 #define DC_PAPERS 2
98 #define DC_PAPERSIZE 3
99 #define DC_MINEXTENT 4
100 #define DC_MAXEXTENT 5
101 #define DC_BINS 6
102 #define DC_DUPLEX 7
103 #define DC_SIZE 8
104 #define DC_EXTRA 9
105 #define DC_VERSION 10
106 #define DC_DRIVER 11
107 #define DC_BINNAMES 12
108 #define DC_ENUMRESOLUTIONS 13
109 #define DC_FILEDEPENDENCIES 14
110 #define DC_TRUETYPE 15
111 #define DC_PAPERNAMES 16
112 #define DC_ORIENTATION 17
113 #define DC_COPIES 18
115 /* Flag returned from Escape QUERYDIBSUPPORT */
116 #define QDI_SETDIBITS 1
117 #define QDI_GETDIBITS 2
118 #define QDI_DIBTOSCREEN 4
119 #define QDI_STRETCHDIB 8
122 #define PR_JOBSTATUS 0x0000
125 /* GDI Escape commands */
126 #define NEWFRAME 1
127 #define ABORTDOC 2
128 #define NEXTBAND 3
129 #define SETCOLORTABLE 4
130 #define GETCOLORTABLE 5
131 #define FLUSHOUTPUT 6
132 #define DRAFTMODE 7
133 #define QUERYESCSUPPORT 8
134 #define SETABORTPROC 9
135 #define STARTDOC 10
136 #define ENDDOC 11
137 #define GETPHYSPAGESIZE 12
138 #define GETPRINTINGOFFSET 13
139 #define GETSCALINGFACTOR 14
140 #define MFCOMMENT 15
141 #define GETPENWIDTH 16
142 #define SETCOPYCOUNT 17
143 #define SELECTPAPERSOURCE 18
144 #define DEVICEDATA 19
145 #define PASSTHROUGH 19
146 #define GETTECHNOLGY 20
147 #define GETTECHNOLOGY 20 /* yes, both of them */
148 #define SETLINECAP 21
149 #define SETLINEJOIN 22
150 #define SETMITERLIMIT 23
151 #define BANDINFO 24
152 #define DRAWPATTERNRECT 25
153 #define GETVECTORPENSIZE 26
154 #define GETVECTORBRUSHSIZE 27
155 #define ENABLEDUPLEX 28
156 #define GETSETPAPERBINS 29
157 #define GETSETPRINTORIENT 30
158 #define ENUMPAPERBINS 31
159 #define SETDIBSCALING 32
160 #define EPSPRINTING 33
161 #define ENUMPAPERMETRICS 34
162 #define GETSETPAPERMETRICS 35
163 #define POSTSCRIPT_DATA 37
164 #define POSTSCRIPT_IGNORE 38
165 #define MOUSETRAILS 39
166 #define GETDEVICEUNITS 42
168 #define GETEXTENDEDTEXTMETRICS 256
169 #define GETEXTENTTABLE 257
170 #define GETPAIRKERNTABLE 258
171 #define GETTRACKKERNTABLE 259
172 #define EXTTEXTOUT 512
173 #define GETFACENAME 513
174 #define DOWNLOADFACE 514
175 #define ENABLERELATIVEWIDTHS 768
176 #define ENABLEPAIRKERNING 769
177 #define SETKERNTRACK 770
178 #define SETALLJUSTVALUES 771
179 #define SETCHARSET 772
181 #define STRETCHBLT 2048
182 #define GETSETSCREENPARAMS 3072
183 #define QUERYDIBSUPPORT 3073
184 #define BEGIN_PATH 4096
185 #define CLIP_TO_PATH 4097
186 #define END_PATH 4098
187 #define EXT_DEVICE_CAPS 4099
188 #define RESTORE_CTM 4100
189 #define SAVE_CTM 4101
190 #define SET_ARC_DIRECTION 4102
191 #define SET_BACKGROUND_COLOR 4103
192 #define SET_POLY_MODE 4104
193 #define SET_SCREEN_ANGLE 4105
194 #define SET_SPREAD 4106
195 #define TRANSFORM_CTM 4107
196 #define SET_CLIP_BOX 4108
197 #define SET_BOUNDS 4109
198 #define SET_MIRROR_MODE 4110
199 #define OPENCHANNEL 4110
200 #define DOWNLOADHEADER 4111
201 #define CLOSECHANNEL 4112
202 #define POSTSCRIPT_PASSTHROUGH 4115
203 #define ENCAPSULATED_POSTSCRIPT 4116
205 /* Spooler Error Codes */
206 #define SP_NOTREPORTED 0x4000
207 #define SP_ERROR (-1)
208 #define SP_APPABORT (-2)
209 #define SP_USERABORT (-3)
210 #define SP_OUTOFDISK (-4)
211 #define SP_OUTOFMEMORY (-5)
214 /* Raster operations */
216 #define R2_BLACK 1
217 #define R2_NOTMERGEPEN 2
218 #define R2_MASKNOTPEN 3
219 #define R2_NOTCOPYPEN 4
220 #define R2_MASKPENNOT 5
221 #define R2_NOT 6
222 #define R2_XORPEN 7
223 #define R2_NOTMASKPEN 8
224 #define R2_MASKPEN 9
225 #define R2_NOTXORPEN 10
226 #define R2_NOP 11
227 #define R2_MERGENOTPEN 12
228 #define R2_COPYPEN 13
229 #define R2_MERGEPENNOT 14
230 #define R2_MERGEPEN 15
231 #define R2_WHITE 16
233 #define SRCCOPY 0xcc0020
234 #define SRCPAINT 0xee0086
235 #define SRCAND 0x8800c6
236 #define SRCINVERT 0x660046
237 #define SRCERASE 0x440328
238 #define NOTSRCCOPY 0x330008
239 #define NOTSRCERASE 0x1100a6
240 #define MERGECOPY 0xc000ca
241 #define MERGEPAINT 0xbb0226
242 #define PATCOPY 0xf00021
243 #define PATPAINT 0xfb0a09
244 #define PATINVERT 0x5a0049
245 #define DSTINVERT 0x550009
246 #define BLACKNESS 0x000042
247 #define WHITENESS 0xff0062
249 /* StretchBlt() modes */
250 #define BLACKONWHITE 1
251 #define WHITEONBLACK 2
252 #define COLORONCOLOR 3
254 #define STRETCH_ANDSCANS BLACKONWHITE
255 #define STRETCH_ORSCANS WHITEONBLACK
256 #define STRETCH_DELETESCANS COLORONCOLOR
258 /* Colors */
260 typedef DWORD COLORREF;
262 #define RGB(r,g,b) ((COLORREF)((r) | ((g) << 8) | ((b) << 16)))
263 #define PALETTERGB(r,g,b) (0x02000000 | RGB(r,g,b))
264 #define PALETTEINDEX(i) ((COLORREF)(0x01000000 | (WORD)(i)))
266 #define GetRValue(rgb) ((rgb) & 0xff)
267 #define GetGValue(rgb) (((rgb) >> 8) & 0xff)
268 #define GetBValue(rgb) (((rgb) >> 16) & 0xff)
270 #define COLOR_SCROLLBAR 0
271 #define COLOR_BACKGROUND 1
272 #define COLOR_ACTIVECAPTION 2
273 #define COLOR_INACTIVECAPTION 3
274 #define COLOR_MENU 4
275 #define COLOR_WINDOW 5
276 #define COLOR_WINDOWFRAME 6
277 #define COLOR_MENUTEXT 7
278 #define COLOR_WINDOWTEXT 8
279 #define COLOR_CAPTIONTEXT 9
280 #define COLOR_ACTIVEBORDER 10
281 #define COLOR_INACTIVEBORDER 11
282 #define COLOR_APPWORKSPACE 12
283 #define COLOR_HIGHLIGHT 13
284 #define COLOR_HIGHLIGHTTEXT 14
285 #define COLOR_BTNFACE 15
286 #define COLOR_BTNSHADOW 16
287 #define COLOR_GRAYTEXT 17
288 #define COLOR_BTNTEXT 18
289 #define COLOR_INACTIVECAPTIONTEXT 19
290 #define COLOR_BTNHIGHLIGHT 20
291 /* win95 colors */
292 #define COLOR_3DDKSHADOW 21
293 #define COLOR_3DLIGHT 22
294 #define COLOR_INFOTEXT 23
295 #define COLOR_INFOBK 24
296 #define COLOR_DESKTOP COLOR_BACKGROUND
297 #define COLOR_3DFACE COLOR_BTNFACE
298 #define COLOR_3DSHADOW COLOR_BTNSHADOW
299 #define COLOR_3DHIGHLIGHT COLOR_BTNHIGHLIGHT
300 #define COLOR_3DHILIGHT COLOR_BTNHIGHLIGHT
301 #define COLOR_BTNHILIGHT COLOR_BTNHIGHLIGHT
302 /* win98 colors */
303 #define COLOR_ALTERNATEBTNFACE 25 /* undocumented, constant's name unknown */
304 #define COLOR_HOTLIGHT 26
305 #define COLOR_GRADIENTACTIVECAPTION 27
306 #define COLOR_GRADIENTINACTIVECAPTION 28
308 /* WM_CTLCOLOR values */
309 #define CTLCOLOR_MSGBOX 0
310 #define CTLCOLOR_EDIT 1
311 #define CTLCOLOR_LISTBOX 2
312 #define CTLCOLOR_BTN 3
313 #define CTLCOLOR_DLG 4
314 #define CTLCOLOR_SCROLLBAR 5
315 #define CTLCOLOR_STATIC 6
317 #define ICM_OFF 1
318 #define ICM_ON 2
319 #define ICM_QUERY 3
321 /* Bounds Accumulation APIs */
322 #define DCB_RESET 0x0001
323 #define DCB_ACCUMULATE 0x0002
324 #define DCB_DIRTY DCB_ACCUMULATE
325 #define DCB_SET (DCB_RESET | DCB_ACCUMULATE)
326 #define DCB_ENABLE 0x0004
327 #define DCB_DISABLE 0x0008
329 /* Bitmaps */
331 typedef struct
333 INT16 bmType;
334 INT16 bmWidth;
335 INT16 bmHeight;
336 INT16 bmWidthBytes;
337 BYTE bmPlanes;
338 BYTE bmBitsPixel;
339 SEGPTR bmBits WINE_PACKED;
340 } BITMAP16, *LPBITMAP16;
342 typedef struct
344 INT bmType;
345 INT bmWidth;
346 INT bmHeight;
347 INT bmWidthBytes;
348 WORD bmPlanes;
349 WORD bmBitsPixel;
350 LPVOID bmBits WINE_PACKED;
351 } BITMAP, *LPBITMAP;
354 /* Brushes */
356 typedef struct
358 UINT16 lbStyle;
359 COLORREF lbColor WINE_PACKED;
360 INT16 lbHatch;
361 } LOGBRUSH16, *LPLOGBRUSH16;
363 typedef struct
365 UINT lbStyle;
366 COLORREF lbColor;
367 INT lbHatch;
368 } LOGBRUSH, *LPLOGBRUSH;
371 /* Brush styles */
372 #define BS_SOLID 0
373 #define BS_NULL 1
374 #define BS_HOLLOW 1
375 #define BS_HATCHED 2
376 #define BS_PATTERN 3
377 #define BS_INDEXED 4
378 #define BS_DIBPATTERN 5
379 #define BS_DIBPATTERNPT 6
380 #define BS_PATTERN8X8 7
381 #define BS_DIBPATTERN8X8 8
382 #define BS_MONOPATTERN 9
384 /* Hatch styles */
385 #define HS_HORIZONTAL 0
386 #define HS_VERTICAL 1
387 #define HS_FDIAGONAL 2
388 #define HS_BDIAGONAL 3
389 #define HS_CROSS 4
390 #define HS_DIAGCROSS 5
392 /* Fonts */
394 #define LF_FACESIZE 32
395 #define LF_FULLFACESIZE 64
397 #define RASTER_FONTTYPE 0x0001
398 #define DEVICE_FONTTYPE 0x0002
399 #define TRUETYPE_FONTTYPE 0x0004
401 typedef struct
403 INT16 lfHeight;
404 INT16 lfWidth;
405 INT16 lfEscapement;
406 INT16 lfOrientation;
407 INT16 lfWeight;
408 BYTE lfItalic;
409 BYTE lfUnderline;
410 BYTE lfStrikeOut;
411 BYTE lfCharSet;
412 BYTE lfOutPrecision;
413 BYTE lfClipPrecision;
414 BYTE lfQuality;
415 BYTE lfPitchAndFamily;
416 CHAR lfFaceName[LF_FACESIZE] WINE_PACKED;
417 } LOGFONT16, *LPLOGFONT16;
419 typedef struct
421 INT lfHeight;
422 INT lfWidth;
423 INT lfEscapement;
424 INT lfOrientation;
425 INT lfWeight;
426 BYTE lfItalic;
427 BYTE lfUnderline;
428 BYTE lfStrikeOut;
429 BYTE lfCharSet;
430 BYTE lfOutPrecision;
431 BYTE lfClipPrecision;
432 BYTE lfQuality;
433 BYTE lfPitchAndFamily;
434 CHAR lfFaceName[LF_FACESIZE];
435 } LOGFONTA, *LPLOGFONTA;
437 typedef struct
439 INT lfHeight;
440 INT lfWidth;
441 INT lfEscapement;
442 INT lfOrientation;
443 INT lfWeight;
444 BYTE lfItalic;
445 BYTE lfUnderline;
446 BYTE lfStrikeOut;
447 BYTE lfCharSet;
448 BYTE lfOutPrecision;
449 BYTE lfClipPrecision;
450 BYTE lfQuality;
451 BYTE lfPitchAndFamily;
452 WCHAR lfFaceName[LF_FACESIZE];
453 } LOGFONTW, *LPLOGFONTW;
455 DECL_WINELIB_TYPE_AW(LOGFONT)
456 DECL_WINELIB_TYPE_AW(LPLOGFONT)
458 typedef struct
460 LOGFONT16 elfLogFont;
461 BYTE elfFullName[LF_FULLFACESIZE] WINE_PACKED;
462 BYTE elfStyle[LF_FACESIZE] WINE_PACKED;
463 } ENUMLOGFONT16, *LPENUMLOGFONT16;
465 typedef struct
467 LOGFONTA elfLogFont;
468 BYTE elfFullName[LF_FULLFACESIZE] WINE_PACKED;
469 BYTE elfStyle[LF_FACESIZE] WINE_PACKED;
470 } ENUMLOGFONTA, *LPENUMLOGFONTA;
472 typedef struct
474 LOGFONTW elfLogFont;
475 WCHAR elfFullName[LF_FULLFACESIZE] WINE_PACKED;
476 WCHAR elfStyle[LF_FACESIZE] WINE_PACKED;
477 } ENUMLOGFONTW, *LPENUMLOGFONTW;
479 typedef struct
481 LOGFONT16 elfLogFont;
482 BYTE elfFullName[LF_FULLFACESIZE] WINE_PACKED;
483 BYTE elfStyle[LF_FACESIZE] WINE_PACKED;
484 BYTE elfScript[LF_FACESIZE] WINE_PACKED;
485 } ENUMLOGFONTEX16, *LPENUMLOGFONTEX16;
487 typedef struct
489 LOGFONTA elfLogFont;
490 BYTE elfFullName[LF_FULLFACESIZE] WINE_PACKED;
491 BYTE elfStyle[LF_FACESIZE] WINE_PACKED;
492 BYTE elfScript[LF_FACESIZE] WINE_PACKED;
493 } ENUMLOGFONTEXA,*LPENUMLOGFONTEXA;
495 typedef struct
497 LOGFONTW elfLogFont;
498 WCHAR elfFullName[LF_FULLFACESIZE] WINE_PACKED;
499 WCHAR elfStyle[LF_FACESIZE] WINE_PACKED;
500 WCHAR elfScript[LF_FACESIZE] WINE_PACKED;
501 } ENUMLOGFONTEXW,*LPENUMLOGFONTEXW;
503 DECL_WINELIB_TYPE_AW(ENUMLOGFONT)
504 DECL_WINELIB_TYPE_AW(LPENUMLOGFONT)
505 DECL_WINELIB_TYPE_AW(LPENUMLOGFONTEX)
508 * The FONTSIGNATURE tells which Unicode ranges and which code pages
509 * have glyphs in a font.
511 * fsUsb 128-bit bitmap. The most significant bits are 10 (magic number).
512 * The remaining 126 bits map the Unicode ISO 10646 subranges
513 * for which the font provides glyphs.
515 * fsCsb 64-bit bitmap. The low 32 bits map the Windows codepages for
516 * which the font provides glyphs. The high 32 bits are for
517 * non Windows codepages.
519 typedef struct
521 DWORD fsUsb[4];
522 DWORD fsCsb[2];
523 } FONTSIGNATURE,*LPFONTSIGNATURE;
525 typedef struct
527 UINT ciCharset; /* character set */
528 UINT ciACP; /* ANSI code page */
529 FONTSIGNATURE fs;
530 } CHARSETINFO,*LPCHARSETINFO;
532 /* Flags for TranslateCharsetInfo */
533 #define TCI_SRCCHARSET 1
534 #define TCI_SRCCODEPAGE 2
535 #define TCI_SRCFONTSIG 3
537 /* Flags for ModifyWorldTransform */
538 #define MWT_IDENTITY 1
539 #define MWT_LEFTMULTIPLY 2
540 #define MWT_RIGHTMULTIPLY 3
542 /* Object Definitions for EnumObjects() */
543 #define OBJ_PEN 1
544 #define OBJ_BRUSH 2
545 #define OBJ_DC 3
546 #define OBJ_METADC 4
547 #define OBJ_PAL 5
548 #define OBJ_FONT 6
549 #define OBJ_BITMAP 7
550 #define OBJ_REGION 8
551 #define OBJ_METAFILE 9
552 #define OBJ_MEMDC 10
553 #define OBJ_EXTPEN 11
554 #define OBJ_ENHMETADC 12
555 #define OBJ_ENHMETAFILE 13
558 typedef struct
560 FLOAT eM11;
561 FLOAT eM12;
562 FLOAT eM21;
563 FLOAT eM22;
564 FLOAT eDx;
565 FLOAT eDy;
566 } XFORM, *LPXFORM;
568 typedef struct
570 INT16 txfHeight;
571 INT16 txfWidth;
572 INT16 txfEscapement;
573 INT16 txfOrientation;
574 INT16 txfWeight;
575 CHAR txfItalic;
576 CHAR txfUnderline;
577 CHAR txfStrikeOut;
578 CHAR txfOutPrecision;
579 CHAR txfClipPrecision;
580 INT16 txfAccelerator WINE_PACKED;
581 INT16 txfOverhang WINE_PACKED;
582 } TEXTXFORM16, *LPTEXTXFORM16;
584 typedef struct
586 INT16 dfType;
587 INT16 dfPoints;
588 INT16 dfVertRes;
589 INT16 dfHorizRes;
590 INT16 dfAscent;
591 INT16 dfInternalLeading;
592 INT16 dfExternalLeading;
593 CHAR dfItalic;
594 CHAR dfUnderline;
595 CHAR dfStrikeOut;
596 INT16 dfWeight;
597 BYTE dfCharSet;
598 INT16 dfPixWidth;
599 INT16 dfPixHeight;
600 CHAR dfPitchAndFamily;
601 INT16 dfAvgWidth;
602 INT16 dfMaxWidth;
603 CHAR dfFirstChar;
604 CHAR dfLastChar;
605 CHAR dfDefaultChar;
606 CHAR dfBreakChar;
607 INT16 dfWidthBytes;
608 LONG dfDevice;
609 LONG dfFace;
610 LONG dfBitsPointer;
611 LONG dfBitsOffset;
612 CHAR dfReserved;
613 LONG dfFlags;
614 INT16 dfAspace;
615 INT16 dfBspace;
616 INT16 dfCspace;
617 LONG dfColorPointer;
618 LONG dfReserved1[4];
619 } FONTINFO16, *LPFONTINFO16;
621 /* lfWeight values */
622 #define FW_DONTCARE 0
623 #define FW_THIN 100
624 #define FW_EXTRALIGHT 200
625 #define FW_ULTRALIGHT 200
626 #define FW_LIGHT 300
627 #define FW_NORMAL 400
628 #define FW_REGULAR 400
629 #define FW_MEDIUM 500
630 #define FW_SEMIBOLD 600
631 #define FW_DEMIBOLD 600
632 #define FW_BOLD 700
633 #define FW_EXTRABOLD 800
634 #define FW_ULTRABOLD 800
635 #define FW_HEAVY 900
636 #define FW_BLACK 900
638 /* lfCharSet values */
639 #define ANSI_CHARSET (BYTE)0 /* CP1252, ansi-0, iso8859-{1,15} */
640 #define DEFAULT_CHARSET (BYTE)1
641 #define SYMBOL_CHARSET (BYTE)2
642 #define SHIFTJIS_CHARSET (BYTE)128 /* CP932 */
643 #define HANGEUL_CHARSET (BYTE)129 /* CP949, ksc5601.1987-0 */
644 #define HANGUL_CHARSET HANGEUL_CHARSET
645 #define GB2312_CHARSET (BYTE)134 /* CP936, gb2312.1980-0 */
646 #define CHINESEBIG5_CHARSET (BYTE)136 /* CP950, big5.et-0 */
647 #define GREEK_CHARSET (BYTE)161 /* CP1253 */
648 #define TURKISH_CHARSET (BYTE)162 /* CP1254, -iso8859-9 */
649 #define HEBREW_CHARSET (BYTE)177 /* CP1255, -iso8859-8 */
650 #define ARABIC_CHARSET (BYTE)178 /* CP1256, -iso8859-6 */
651 #define BALTIC_CHARSET (BYTE)186 /* CP1257, -iso8859-10 */
652 #define RUSSIAN_CHARSET (BYTE)204 /* CP1251, -iso8859-5 */
653 #define EE_CHARSET (BYTE)238 /* CP1250, -iso8859-2 */
654 #define EASTEUROPE_CHARSET EE_CHARSET
655 #define THAI_CHARSET (BYTE)222 /* CP874, iso8859-11, tis620 */
656 #define JOHAB_CHARSET (BYTE)130 /* korean (johab) CP1361 */
657 #define OEM_CHARSET (BYTE)255
658 /* I don't know if the values of *_CHARSET macros are defined in Windows
659 * or if we can choose them as we want. -- srtxg
661 #define VISCII_CHARSET (BYTE)240 /* viscii1.1-1 */
662 #define TCVN_CHARSET (BYTE)241 /* tcvn-0 */
663 #define KOI8_CHARSET (BYTE)242 /* koi8-{r,u,ru} */
664 #define ISO3_CHARSET (BYTE)243 /* iso8859-3 */
665 #define ISO4_CHARSET (BYTE)244 /* iso8859-4 */
667 /* lfOutPrecision values */
668 #define OUT_DEFAULT_PRECIS 0
669 #define OUT_STRING_PRECIS 1
670 #define OUT_CHARACTER_PRECIS 2
671 #define OUT_STROKE_PRECIS 3
672 #define OUT_TT_PRECIS 4
673 #define OUT_DEVICE_PRECIS 5
674 #define OUT_RASTER_PRECIS 6
675 #define OUT_TT_ONLY_PRECIS 7
677 /* lfClipPrecision values */
678 #define CLIP_DEFAULT_PRECIS 0x00
679 #define CLIP_CHARACTER_PRECIS 0x01
680 #define CLIP_STROKE_PRECIS 0x02
681 #define CLIP_MASK 0x0F
682 #define CLIP_LH_ANGLES 0x10
683 #define CLIP_TT_ALWAYS 0x20
684 #define CLIP_EMBEDDED 0x80
686 /* lfQuality values */
687 #define DEFAULT_QUALITY 0
688 #define DRAFT_QUALITY 1
689 #define PROOF_QUALITY 2
691 /* lfPitchAndFamily pitch values */
692 #define DEFAULT_PITCH 0x00
693 #define FIXED_PITCH 0x01
694 #define VARIABLE_PITCH 0x02
695 #define FF_DONTCARE 0x00
696 #define FF_ROMAN 0x10
697 #define FF_SWISS 0x20
698 #define FF_MODERN 0x30
699 #define FF_SCRIPT 0x40
700 #define FF_DECORATIVE 0x50
702 typedef struct
704 INT16 tmHeight;
705 INT16 tmAscent;
706 INT16 tmDescent;
707 INT16 tmInternalLeading;
708 INT16 tmExternalLeading;
709 INT16 tmAveCharWidth;
710 INT16 tmMaxCharWidth;
711 INT16 tmWeight;
712 BYTE tmItalic;
713 BYTE tmUnderlined;
714 BYTE tmStruckOut;
715 BYTE tmFirstChar;
716 BYTE tmLastChar;
717 BYTE tmDefaultChar;
718 BYTE tmBreakChar;
719 BYTE tmPitchAndFamily;
720 BYTE tmCharSet;
721 INT16 tmOverhang WINE_PACKED;
722 INT16 tmDigitizedAspectX WINE_PACKED;
723 INT16 tmDigitizedAspectY WINE_PACKED;
724 } TEXTMETRIC16, *LPTEXTMETRIC16;
726 typedef struct
728 INT tmHeight;
729 INT tmAscent;
730 INT tmDescent;
731 INT tmInternalLeading;
732 INT tmExternalLeading;
733 INT tmAveCharWidth;
734 INT tmMaxCharWidth;
735 INT tmWeight;
736 INT tmOverhang;
737 INT tmDigitizedAspectX;
738 INT tmDigitizedAspectY;
739 BYTE tmFirstChar;
740 BYTE tmLastChar;
741 BYTE tmDefaultChar;
742 BYTE tmBreakChar;
743 BYTE tmItalic;
744 BYTE tmUnderlined;
745 BYTE tmStruckOut;
746 BYTE tmPitchAndFamily;
747 BYTE tmCharSet;
748 } TEXTMETRICA, *LPTEXTMETRICA;
750 typedef struct
752 INT tmHeight;
753 INT tmAscent;
754 INT tmDescent;
755 INT tmInternalLeading;
756 INT tmExternalLeading;
757 INT tmAveCharWidth;
758 INT tmMaxCharWidth;
759 INT tmWeight;
760 INT tmOverhang;
761 INT tmDigitizedAspectX;
762 INT tmDigitizedAspectY;
763 WCHAR tmFirstChar;
764 WCHAR tmLastChar;
765 WCHAR tmDefaultChar;
766 WCHAR tmBreakChar;
767 BYTE tmItalic;
768 BYTE tmUnderlined;
769 BYTE tmStruckOut;
770 BYTE tmPitchAndFamily;
771 BYTE tmCharSet;
772 } TEXTMETRICW, *LPTEXTMETRICW;
774 DECL_WINELIB_TYPE_AW(TEXTMETRIC)
775 DECL_WINELIB_TYPE_AW(LPTEXTMETRIC)
778 typedef struct tagPANOSE
780 BYTE bFamilyType;
781 BYTE bSerifStyle;
782 BYTE bWeight;
783 BYTE bProportion;
784 BYTE bContrast;
785 BYTE bStrokeVariation;
786 BYTE bArmStyle;
787 BYTE bLetterform;
788 BYTE bMidline;
789 BYTE bXHeight;
790 } PANOSE;
793 typedef struct _OUTLINETEXTMETRICA
795 UINT otmSize;
796 TEXTMETRICA otmTextMetrics;
797 BYTE otmFilter;
798 PANOSE otmPanoseNumber;
799 UINT otmfsSelection;
800 UINT otmfsType;
801 INT otmsCharSlopeRise;
802 INT otmsCharSlopeRun;
803 INT otmItalicAngle;
804 UINT otmEMSquare;
805 INT otmAscent;
806 INT otmDescent;
807 UINT otmLineGap;
808 UINT otmsCapEmHeight;
809 UINT otmsXHeight;
810 RECT otmrcFontBox;
811 INT otmMacAscent;
812 INT otmMacDescent;
813 UINT otmMacLineGap;
814 UINT otmusMinimumPPEM;
815 POINT otmptSubscriptSize;
816 POINT otmptSubscriptOffset;
817 POINT otmptSuperscriptSize;
818 POINT otmptSuperscriptOffset;
819 UINT otmsStrikeoutSize;
820 INT otmsStrikeoutPosition;
821 INT otmsUnderscoreSize;
822 INT otmsUnderscorePosition;
823 LPSTR otmpFamilyName;
824 LPSTR otmpFaceName;
825 LPSTR otmpStyleName;
826 LPSTR otmpFullName;
827 } OUTLINETEXTMETRICA, *LPOUTLINETEXTMETRICA;
829 typedef struct _OUTLINETEXTMETRICW
831 UINT otmSize;
832 TEXTMETRICW otmTextMetrics;
833 BYTE otmFilter;
834 PANOSE otmPanoseNumber;
835 UINT otmfsSelection;
836 UINT otmfsType;
837 INT otmsCharSlopeRise;
838 INT otmsCharSlopeRun;
839 INT otmItalicAngle;
840 UINT otmEMSquare;
841 INT otmAscent;
842 INT otmDescent;
843 UINT otmLineGap;
844 UINT otmsCapEmHeight;
845 UINT otmsXHeight;
846 RECT otmrcFontBox;
847 INT otmMacAscent;
848 INT otmMacDescent;
849 UINT otmMacLineGap;
850 UINT otmusMinimumPPEM;
851 POINT otmptSubscriptSize;
852 POINT otmptSubscriptOffset;
853 POINT otmptSuperscriptSize;
854 POINT otmptSuperscriptOffset;
855 UINT otmsStrikeoutSize;
856 INT otmsStrikeoutPosition;
857 INT otmsUnderscoreSize;
858 INT otmsUnderscorePosition;
859 LPSTR otmpFamilyName;
860 LPSTR otmpFaceName;
861 LPSTR otmpStyleName;
862 LPSTR otmpFullName;
863 } OUTLINETEXTMETRICW, *LPOUTLINETEXTMETRICW;
865 typedef struct _OUTLINETEXTMETRIC16
867 UINT16 otmSize;
868 TEXTMETRIC16 otmTextMetrics;
869 BYTE otmFilter;
870 PANOSE otmPanoseNumber;
871 UINT16 otmfsSelection;
872 UINT16 otmfsType;
873 INT16 otmsCharSlopeRise;
874 INT16 otmsCharSlopeRun;
875 INT16 otmItalicAngle;
876 UINT16 otmEMSquare;
877 INT16 otmAscent;
878 INT16 otmDescent;
879 UINT16 otmLineGap;
880 UINT16 otmsCapEmHeight;
881 UINT16 otmsXHeight;
882 RECT16 otmrcFontBox;
883 INT16 otmMacAscent;
884 INT16 otmMacDescent;
885 UINT16 otmMacLineGap;
886 UINT16 otmusMinimumPPEM;
887 POINT16 otmptSubscriptSize;
888 POINT16 otmptSubscriptOffset;
889 POINT16 otmptSuperscriptSize;
890 POINT16 otmptSuperscriptOffset;
891 UINT16 otmsStrikeoutSize;
892 INT16 otmsStrikeoutPosition;
893 INT16 otmsUnderscoreSize;
894 INT otmsUnderscorePosition;
895 LPSTR otmpFamilyName;
896 LPSTR otmpFaceName;
897 LPSTR otmpStyleName;
898 LPSTR otmpFullName;
899 } OUTLINETEXTMETRIC16,*LPOUTLINETEXTMETRIC16;
901 DECL_WINELIB_TYPE_AW(OUTLINETEXTMETRIC)
902 DECL_WINELIB_TYPE_AW(LPOUTLINETEXTMETRIC)
906 /* ntmFlags field flags */
907 #define NTM_REGULAR 0x00000040L
908 #define NTM_BOLD 0x00000020L
909 #define NTM_ITALIC 0x00000001L
911 typedef struct
913 INT16 tmHeight;
914 INT16 tmAscent;
915 INT16 tmDescent;
916 INT16 tmInternalLeading;
917 INT16 tmExternalLeading;
918 INT16 tmAveCharWidth;
919 INT16 tmMaxCharWidth;
920 INT16 tmWeight;
921 BYTE tmItalic;
922 BYTE tmUnderlined;
923 BYTE tmStruckOut;
924 BYTE tmFirstChar;
925 BYTE tmLastChar;
926 BYTE tmDefaultChar;
927 BYTE tmBreakChar;
928 BYTE tmPitchAndFamily;
929 BYTE tmCharSet;
930 INT16 tmOverhang WINE_PACKED;
931 INT16 tmDigitizedAspectX WINE_PACKED;
932 INT16 tmDigitizedAspectY WINE_PACKED;
933 DWORD ntmFlags;
934 UINT16 ntmSizeEM;
935 UINT16 ntmCellHeight;
936 UINT16 ntmAvgWidth;
937 } NEWTEXTMETRIC16,*LPNEWTEXTMETRIC16;
939 typedef struct
941 INT tmHeight;
942 INT tmAscent;
943 INT tmDescent;
944 INT tmInternalLeading;
945 INT tmExternalLeading;
946 INT tmAveCharWidth;
947 INT tmMaxCharWidth;
948 INT tmWeight;
949 INT tmOverhang;
950 INT tmDigitizedAspectX;
951 INT tmDigitizedAspectY;
952 BYTE tmFirstChar;
953 BYTE tmLastChar;
954 BYTE tmDefaultChar;
955 BYTE tmBreakChar;
956 BYTE tmItalic;
957 BYTE tmUnderlined;
958 BYTE tmStruckOut;
959 BYTE tmPitchAndFamily;
960 BYTE tmCharSet;
961 DWORD ntmFlags;
962 UINT ntmSizeEM;
963 UINT ntmCellHeight;
964 UINT ntmAvgWidth;
965 } NEWTEXTMETRICA, *LPNEWTEXTMETRICA;
967 typedef struct
969 INT tmHeight;
970 INT tmAscent;
971 INT tmDescent;
972 INT tmInternalLeading;
973 INT tmExternalLeading;
974 INT tmAveCharWidth;
975 INT tmMaxCharWidth;
976 INT tmWeight;
977 INT tmOverhang;
978 INT tmDigitizedAspectX;
979 INT tmDigitizedAspectY;
980 WCHAR tmFirstChar;
981 WCHAR tmLastChar;
982 WCHAR tmDefaultChar;
983 WCHAR tmBreakChar;
984 BYTE tmItalic;
985 BYTE tmUnderlined;
986 BYTE tmStruckOut;
987 BYTE tmPitchAndFamily;
988 BYTE tmCharSet;
989 DWORD ntmFlags;
990 UINT ntmSizeEM;
991 UINT ntmCellHeight;
992 UINT ntmAvgWidth;
993 } NEWTEXTMETRICW, *LPNEWTEXTMETRICW;
995 DECL_WINELIB_TYPE_AW(NEWTEXTMETRIC)
996 DECL_WINELIB_TYPE_AW(LPNEWTEXTMETRIC)
998 typedef struct
1000 NEWTEXTMETRIC16 ntmetm;
1001 FONTSIGNATURE ntmeFontSignature;
1002 } NEWTEXTMETRICEX16,*LPNEWTEXTMETRICEX16;
1004 typedef struct
1006 NEWTEXTMETRICA ntmetm;
1007 FONTSIGNATURE ntmeFontSignature;
1008 } NEWTEXTMETRICEXA,*LPNEWTEXTMETRICEXA;
1010 typedef struct
1012 NEWTEXTMETRICW ntmetm;
1013 FONTSIGNATURE ntmeFontSignature;
1014 } NEWTEXTMETRICEXW,*LPNEWTEXTMETRICEXW;
1016 DECL_WINELIB_TYPE_AW(NEWTEXTMETRICEX)
1017 DECL_WINELIB_TYPE_AW(LPNEWTEXTMETRICEX)
1020 typedef INT16 (CALLBACK *FONTENUMPROC16)(SEGPTR,SEGPTR,UINT16,LPARAM);
1021 typedef INT (CALLBACK *FONTENUMPROCA)(LPENUMLOGFONTA,LPNEWTEXTMETRICA,
1022 UINT,LPARAM);
1023 typedef INT (CALLBACK *FONTENUMPROCW)(LPENUMLOGFONTW,LPNEWTEXTMETRICW,
1024 UINT,LPARAM);
1025 DECL_WINELIB_TYPE_AW(FONTENUMPROC)
1027 typedef INT16 (CALLBACK *FONTENUMPROCEX16)(SEGPTR,SEGPTR,UINT16,LPARAM);
1028 typedef INT (CALLBACK *FONTENUMPROCEXA)(LPENUMLOGFONTEXA,LPNEWTEXTMETRICEXA,UINT,LPARAM);
1029 typedef INT (CALLBACK *FONTENUMPROCEXW)(LPENUMLOGFONTEXW,LPNEWTEXTMETRICEXW,UINT,LPARAM);
1030 DECL_WINELIB_TYPE_AW(FONTENUMPROCEX)
1032 /* tmPitchAndFamily bits */
1033 #define TMPF_FIXED_PITCH 1 /* means variable pitch */
1034 #define TMPF_VECTOR 2
1035 #define TMPF_TRUETYPE 4
1036 #define TMPF_DEVICE 8
1038 /* Text alignment */
1039 #define TA_NOUPDATECP 0x00
1040 #define TA_UPDATECP 0x01
1041 #define TA_LEFT 0x00
1042 #define TA_RIGHT 0x02
1043 #define TA_CENTER 0x06
1044 #define TA_TOP 0x00
1045 #define TA_BOTTOM 0x08
1046 #define TA_BASELINE 0x18
1048 /* ExtTextOut() parameters */
1049 #define ETO_GRAYED 0x01
1050 #define ETO_OPAQUE 0x02
1051 #define ETO_CLIPPED 0x04
1053 typedef struct
1055 UINT16 gmBlackBoxX;
1056 UINT16 gmBlackBoxY;
1057 POINT16 gmptGlyphOrigin;
1058 INT16 gmCellIncX;
1059 INT16 gmCellIncY;
1060 } GLYPHMETRICS16, *LPGLYPHMETRICS16;
1062 typedef struct
1064 UINT gmBlackBoxX;
1065 UINT gmBlackBoxY;
1066 POINT gmptGlyphOrigin;
1067 INT16 gmCellIncX;
1068 INT16 gmCellIncY;
1069 } GLYPHMETRICS, *LPGLYPHMETRICS;
1072 #define GGO_METRICS 0
1073 #define GGO_BITMAP 1
1074 #define GGO_NATIVE 2
1076 typedef struct
1078 UINT16 fract;
1079 INT16 value;
1080 } FIXED;
1082 typedef struct
1084 FIXED eM11;
1085 FIXED eM12;
1086 FIXED eM21;
1087 FIXED eM22;
1088 } MAT2, *LPMAT2;
1090 /* for GetCharABCWidths() */
1091 typedef struct
1093 INT16 abcA;
1094 UINT16 abcB;
1095 INT16 abcC;
1096 } ABC16, *LPABC16;
1098 typedef struct
1100 INT abcA;
1101 UINT abcB;
1102 INT abcC;
1103 } ABC, *LPABC;
1106 /* for GetCharacterPlacement () */
1107 typedef struct tagGCP_RESULTSA
1109 DWORD lStructSize;
1110 LPSTR lpOutString;
1111 UINT *lpOrder;
1112 INT *lpDx;
1113 INT *lpCaretPos;
1114 LPSTR lpClass;
1115 UINT *lpGlyphs;
1116 UINT nGlyphs;
1117 UINT nMaxFit;
1118 } GCP_RESULTSA;
1120 typedef struct tagGCP_RESULTSW
1122 DWORD lStructSize;
1123 LPWSTR lpOutString;
1124 UINT *lpOrder;
1125 INT *lpDx;
1126 INT *lpCaretPos;
1127 LPWSTR lpClass;
1128 UINT *lpGlyphs;
1129 UINT nGlyphs;
1130 UINT nMaxFit;
1131 } GCP_RESULTSW;
1133 DECL_WINELIB_TYPE_AW(GCP_RESULTS)
1135 /* Rasterizer status */
1136 typedef struct
1138 INT16 nSize;
1139 INT16 wFlags;
1140 INT16 nLanguageID;
1141 } RASTERIZER_STATUS, *LPRASTERIZER_STATUS;
1143 #define TT_AVAILABLE 0x0001
1144 #define TT_ENABLED 0x0002
1146 /* Get/SetSystemPaletteUse() values */
1147 #define SYSPAL_STATIC 1
1148 #define SYSPAL_NOSTATIC 2
1150 typedef struct tagPALETTEENTRY
1152 BYTE peRed, peGreen, peBlue, peFlags;
1153 } PALETTEENTRY, *LPPALETTEENTRY;
1155 /* Logical palette entry flags */
1156 #define PC_RESERVED 0x01
1157 #define PC_EXPLICIT 0x02
1158 #define PC_NOCOLLAPSE 0x04
1160 typedef struct
1162 WORD palVersion;
1163 WORD palNumEntries;
1164 PALETTEENTRY palPalEntry[1] WINE_PACKED;
1165 } LOGPALETTE, *LPLOGPALETTE;
1167 /* Pens */
1169 typedef struct
1171 UINT16 lopnStyle;
1172 POINT16 lopnWidth WINE_PACKED;
1173 COLORREF lopnColor WINE_PACKED;
1174 } LOGPEN16, *LPLOGPEN16;
1176 typedef struct
1178 UINT lopnStyle;
1179 POINT lopnWidth WINE_PACKED;
1180 COLORREF lopnColor WINE_PACKED;
1181 } LOGPEN, *LPLOGPEN;
1184 typedef struct tagEXTLOGPEN
1186 DWORD elpPenStyle;
1187 DWORD elpWidth;
1188 DWORD elpBrushStyle;
1189 DWORD elpColor;
1190 DWORD elpNumEntries;
1191 DWORD elpStyleEntry[1];
1192 } EXTLOGPEN, *PEXTLOGPEN, *NPEXTLOGPEN, *LPEXTLOGPEN;
1194 #define PS_SOLID 0x00000000
1195 #define PS_DASH 0x00000001
1196 #define PS_DOT 0x00000002
1197 #define PS_DASHDOT 0x00000003
1198 #define PS_DASHDOTDOT 0x00000004
1199 #define PS_NULL 0x00000005
1200 #define PS_INSIDEFRAME 0x00000006
1201 #define PS_USERSTYLE 0x00000007
1202 #define PS_ALTERNATE 0x00000008
1203 #define PS_STYLE_MASK 0x0000000f
1205 #define PS_ENDCAP_ROUND 0x00000000
1206 #define PS_ENDCAP_SQUARE 0x00000100
1207 #define PS_ENDCAP_FLAT 0x00000200
1208 #define PS_ENDCAP_MASK 0x00000f00
1210 #define PS_JOIN_ROUND 0x00000000
1211 #define PS_JOIN_BEVEL 0x00001000
1212 #define PS_JOIN_MITER 0x00002000
1213 #define PS_JOIN_MASK 0x0000f000
1215 #define PS_COSMETIC 0x00000000
1216 #define PS_GEOMETRIC 0x00010000
1217 #define PS_TYPE_MASK 0x000f0000
1219 /* Regions */
1221 #define ERROR 0
1222 #define NULLREGION 1
1223 #define SIMPLEREGION 2
1224 #define COMPLEXREGION 3
1226 #define RGN_AND 1
1227 #define RGN_OR 2
1228 #define RGN_XOR 3
1229 #define RGN_DIFF 4
1230 #define RGN_COPY 5
1232 /* Device contexts */
1234 /* GetDCEx flags */
1235 #define DCX_WINDOW 0x00000001
1236 #define DCX_CACHE 0x00000002
1237 #define DCX_CLIPCHILDREN 0x00000008
1238 #define DCX_CLIPSIBLINGS 0x00000010
1239 #define DCX_PARENTCLIP 0x00000020
1240 #define DCX_EXCLUDERGN 0x00000040
1241 #define DCX_INTERSECTRGN 0x00000080
1242 #define DCX_LOCKWINDOWUPDATE 0x00000400
1243 #define DCX_USESTYLE 0x00010000
1245 /* Polygon modes */
1246 #define ALTERNATE 1
1247 #define WINDING 2
1249 /* Background modes */
1250 #ifdef TRANSPARENT /*Apparently some broken svr4 includes define TRANSPARENT*/
1251 #undef TRANSPARENT
1252 #endif
1253 #define TRANSPARENT 1
1254 #define OPAQUE 2
1257 /* Graphics Modes */
1258 #define GM_COMPATIBLE 1
1259 #define GM_ADVANCED 2
1260 #define GM_LAST 2
1262 /* Arc direction modes */
1263 #define AD_COUNTERCLOCKWISE 1
1264 #define AD_CLOCKWISE 2
1266 /* Map modes */
1267 #define MM_TEXT 1
1268 #define MM_LOMETRIC 2
1269 #define MM_HIMETRIC 3
1270 #define MM_LOENGLISH 4
1271 #define MM_HIENGLISH 5
1272 #define MM_TWIPS 6
1273 #define MM_ISOTROPIC 7
1274 #define MM_ANISOTROPIC 8
1276 /* Coordinate modes */
1277 #define ABSOLUTE 1
1278 #define RELATIVE 2
1280 /* Flood fill modes */
1281 #define FLOODFILLBORDER 0
1282 #define FLOODFILLSURFACE 1
1284 /* Device parameters for GetDeviceCaps() */
1285 #define DRIVERVERSION 0
1286 #define TECHNOLOGY 2
1287 #define HORZSIZE 4
1288 #define VERTSIZE 6
1289 #define HORZRES 8
1290 #define VERTRES 10
1291 #define BITSPIXEL 12
1292 #define PLANES 14
1293 #define NUMBRUSHES 16
1294 #define NUMPENS 18
1295 #define NUMMARKERS 20
1296 #define NUMFONTS 22
1297 #define NUMCOLORS 24
1298 #define PDEVICESIZE 26
1299 #define CURVECAPS 28
1300 #define LINECAPS 30
1301 #define POLYGONALCAPS 32
1302 #define TEXTCAPS 34
1303 #define CLIPCAPS 36
1304 #define RASTERCAPS 38
1305 #define ASPECTX 40
1306 #define ASPECTY 42
1307 #define ASPECTXY 44
1308 #define LOGPIXELSX 88
1309 #define LOGPIXELSY 90
1310 #define SIZEPALETTE 104
1311 #define NUMRESERVED 106
1312 #define COLORRES 108
1314 /* TECHNOLOGY */
1315 #define DT_PLOTTER 0
1316 #define DT_RASDISPLAY 1
1317 #define DT_RASPRINTER 2
1318 #define DT_RASCAMERA 3
1319 #define DT_CHARSTREAM 4
1320 #define DT_METAFILE 5
1321 #define DT_DISPFILE 6
1323 /* CURVECAPS */
1324 #define CC_NONE 0x0000
1325 #define CC_CIRCLES 0x0001
1326 #define CC_PIE 0x0002
1327 #define CC_CHORD 0x0004
1328 #define CC_ELLIPSES 0x0008
1329 #define CC_WIDE 0x0010
1330 #define CC_STYLED 0x0020
1331 #define CC_WIDESTYLED 0x0040
1332 #define CC_INTERIORS 0x0080
1333 #define CC_ROUNDRECT 0x0100
1335 /* LINECAPS */
1336 #define LC_NONE 0x0000
1337 #define LC_POLYLINE 0x0002
1338 #define LC_MARKER 0x0004
1339 #define LC_POLYMARKER 0x0008
1340 #define LC_WIDE 0x0010
1341 #define LC_STYLED 0x0020
1342 #define LC_WIDESTYLED 0x0040
1343 #define LC_INTERIORS 0x0080
1345 /* POLYGONALCAPS */
1346 #define PC_NONE 0x0000
1347 #define PC_POLYGON 0x0001
1348 #define PC_RECTANGLE 0x0002
1349 #define PC_WINDPOLYGON 0x0004
1350 #define PC_SCANLINE 0x0008
1351 #define PC_WIDE 0x0010
1352 #define PC_STYLED 0x0020
1353 #define PC_WIDESTYLED 0x0040
1354 #define PC_INTERIORS 0x0080
1356 /* TEXTCAPS */
1357 #define TC_OP_CHARACTER 0x0001
1358 #define TC_OP_STROKE 0x0002
1359 #define TC_CP_STROKE 0x0004
1360 #define TC_CR_90 0x0008
1361 #define TC_CR_ANY 0x0010
1362 #define TC_SF_X_YINDEP 0x0020
1363 #define TC_SA_DOUBLE 0x0040
1364 #define TC_SA_INTEGER 0x0080
1365 #define TC_SA_CONTIN 0x0100
1366 #define TC_EA_DOUBLE 0x0200
1367 #define TC_IA_ABLE 0x0400
1368 #define TC_UA_ABLE 0x0800
1369 #define TC_SO_ABLE 0x1000
1370 #define TC_RA_ABLE 0x2000
1371 #define TC_VA_ABLE 0x4000
1372 #define TC_RESERVED 0x8000
1374 /* CLIPCAPS */
1375 #define CP_NONE 0x0000
1376 #define CP_RECTANGLE 0x0001
1377 #define CP_REGION 0x0002
1379 /* RASTERCAPS */
1380 #define RC_NONE 0x0000
1381 #define RC_BITBLT 0x0001
1382 #define RC_BANDING 0x0002
1383 #define RC_SCALING 0x0004
1384 #define RC_BITMAP64 0x0008
1385 #define RC_GDI20_OUTPUT 0x0010
1386 #define RC_GDI20_STATE 0x0020
1387 #define RC_SAVEBITMAP 0x0040
1388 #define RC_DI_BITMAP 0x0080
1389 #define RC_PALETTE 0x0100
1390 #define RC_DIBTODEV 0x0200
1391 #define RC_BIGFONT 0x0400
1392 #define RC_STRETCHBLT 0x0800
1393 #define RC_FLOODFILL 0x1000
1394 #define RC_STRETCHDIB 0x2000
1395 #define RC_OP_DX_OUTPUT 0x4000
1396 #define RC_DEVBITS 0x8000
1398 /* GetSystemMetrics() codes */
1399 #define SM_CXSCREEN 0
1400 #define SM_CYSCREEN 1
1401 #define SM_CXVSCROLL 2
1402 #define SM_CYHSCROLL 3
1403 #define SM_CYCAPTION 4
1404 #define SM_CXBORDER 5
1405 #define SM_CYBORDER 6
1406 #define SM_CXDLGFRAME 7
1407 #define SM_CYDLGFRAME 8
1408 #define SM_CYVTHUMB 9
1409 #define SM_CXHTHUMB 10
1410 #define SM_CXICON 11
1411 #define SM_CYICON 12
1412 #define SM_CXCURSOR 13
1413 #define SM_CYCURSOR 14
1414 #define SM_CYMENU 15
1415 #define SM_CXFULLSCREEN 16
1416 #define SM_CYFULLSCREEN 17
1417 #define SM_CYKANJIWINDOW 18
1418 #define SM_MOUSEPRESENT 19
1419 #define SM_CYVSCROLL 20
1420 #define SM_CXHSCROLL 21
1421 #define SM_DEBUG 22
1422 #define SM_SWAPBUTTON 23
1423 #define SM_RESERVED1 24
1424 #define SM_RESERVED2 25
1425 #define SM_RESERVED3 26
1426 #define SM_RESERVED4 27
1427 #define SM_CXMIN 28
1428 #define SM_CYMIN 29
1429 #define SM_CXSIZE 30
1430 #define SM_CYSIZE 31
1431 #define SM_CXFRAME 32
1432 #define SM_CYFRAME 33
1433 #define SM_CXMINTRACK 34
1434 #define SM_CYMINTRACK 35
1435 #define SM_CXDOUBLECLK 36
1436 #define SM_CYDOUBLECLK 37
1437 #define SM_CXICONSPACING 38
1438 #define SM_CYICONSPACING 39
1439 #define SM_MENUDROPALIGNMENT 40
1440 #define SM_PENWINDOWS 41
1441 #define SM_DBCSENABLED 42
1442 #define SM_CMOUSEBUTTONS 43
1443 #define SM_CXFIXEDFRAME SM_CXDLGFRAME
1444 #define SM_CYFIXEDFRAME SM_CYDLGFRAME
1445 #define SM_CXSIZEFRAME SM_CXFRAME
1446 #define SM_CYSIZEFRAME SM_CYFRAME
1447 #define SM_SECURE 44
1448 #define SM_CXEDGE 45
1449 #define SM_CYEDGE 46
1450 #define SM_CXMINSPACING 47
1451 #define SM_CYMINSPACING 48
1452 #define SM_CXSMICON 49
1453 #define SM_CYSMICON 50
1454 #define SM_CYSMCAPTION 51
1455 #define SM_CXSMSIZE 52
1456 #define SM_CYSMSIZE 53
1457 #define SM_CXMENUSIZE 54
1458 #define SM_CYMENUSIZE 55
1459 #define SM_ARRANGE 56
1460 #define SM_CXMINIMIZED 57
1461 #define SM_CYMINIMIZED 58
1462 #define SM_CXMAXTRACK 59
1463 #define SM_CYMAXTRACK 60
1464 #define SM_CXMAXIMIZED 61
1465 #define SM_CYMAXIMIZED 62
1466 #define SM_NETWORK 63
1467 #define SM_CLEANBOOT 67
1468 #define SM_CXDRAG 68
1469 #define SM_CYDRAG 69
1470 #define SM_SHOWSOUNDS 70
1471 #define SM_CXMENUCHECK 71
1472 #define SM_CYMENUCHECK 72
1473 #define SM_SLOWMACHINE 73
1474 #define SM_MIDEASTENABLED 74
1475 #define SM_MOUSEWHEELPRESENT 75
1476 #define SM_XVIRTUALSCREEN 76
1477 #define SM_YVIRTUALSCREEN 77
1478 #define SM_CXVIRTUALSCREEN 78
1479 #define SM_CYVIRTUALSCREEN 79
1480 #define SM_CMONITORS 80
1481 #define SM_SAMEDISPLAYFORMAT 81
1482 #define SM_CMETRICS 83
1485 /* Device-independent bitmaps */
1487 typedef struct { BYTE rgbBlue, rgbGreen, rgbRed, rgbReserved; } RGBQUAD;
1488 typedef struct { BYTE rgbtBlue, rgbtGreen, rgbtRed; } RGBTRIPLE;
1490 typedef struct
1492 UINT16 bfType;
1493 DWORD bfSize WINE_PACKED;
1494 UINT16 bfReserved1 WINE_PACKED;
1495 UINT16 bfReserved2 WINE_PACKED;
1496 DWORD bfOffBits WINE_PACKED;
1497 } BITMAPFILEHEADER;
1499 typedef struct
1501 DWORD biSize;
1502 LONG biWidth;
1503 LONG biHeight;
1504 WORD biPlanes;
1505 WORD biBitCount;
1506 DWORD biCompression;
1507 DWORD biSizeImage;
1508 LONG biXPelsPerMeter;
1509 LONG biYPelsPerMeter;
1510 DWORD biClrUsed;
1511 DWORD biClrImportant;
1512 } BITMAPINFOHEADER, *LPBITMAPINFOHEADER;
1514 /* biCompression */
1515 #define BI_RGB 0
1516 #define BI_RLE8 1
1517 #define BI_RLE4 2
1519 typedef struct {
1520 BITMAPINFOHEADER bmiHeader;
1521 RGBQUAD bmiColors[1];
1522 } BITMAPINFO;
1523 typedef BITMAPINFO *LPBITMAPINFO;
1524 typedef BITMAPINFO *NPBITMAPINFO;
1525 typedef BITMAPINFO *PBITMAPINFO;
1527 typedef struct
1529 DWORD bcSize;
1530 UINT16 bcWidth;
1531 UINT16 bcHeight;
1532 UINT16 bcPlanes;
1533 UINT16 bcBitCount;
1534 } BITMAPCOREHEADER;
1536 typedef struct
1538 BITMAPCOREHEADER bmciHeader;
1539 RGBTRIPLE bmciColors[1];
1540 } BITMAPCOREINFO, *LPBITMAPCOREINFO;
1542 #define DIB_RGB_COLORS 0
1543 #define DIB_PAL_COLORS 1
1544 #define CBM_INIT 4
1546 typedef struct
1548 BITMAP dsBm;
1549 BITMAPINFOHEADER dsBmih;
1550 DWORD dsBitfields[3];
1551 HANDLE dshSection;
1552 DWORD dsOffset;
1553 } DIBSECTION,*LPDIBSECTION;
1555 /* Stock GDI objects for GetStockObject() */
1557 #define WHITE_BRUSH 0
1558 #define LTGRAY_BRUSH 1
1559 #define GRAY_BRUSH 2
1560 #define DKGRAY_BRUSH 3
1561 #define BLACK_BRUSH 4
1562 #define NULL_BRUSH 5
1563 #define HOLLOW_BRUSH 5
1564 #define WHITE_PEN 6
1565 #define BLACK_PEN 7
1566 #define NULL_PEN 8
1567 #define OEM_FIXED_FONT 10
1568 #define ANSI_FIXED_FONT 11
1569 #define ANSI_VAR_FONT 12
1570 #define SYSTEM_FONT 13
1571 #define DEVICE_DEFAULT_FONT 14
1572 #define DEFAULT_PALETTE 15
1573 #define SYSTEM_FIXED_FONT 16
1574 #define DEFAULT_GUI_FONT 17
1576 #define STOCK_LAST 17
1578 /* Metafile header structure */
1579 typedef struct
1581 WORD mtType;
1582 WORD mtHeaderSize;
1583 WORD mtVersion;
1584 DWORD mtSize WINE_PACKED;
1585 WORD mtNoObjects;
1586 DWORD mtMaxRecord WINE_PACKED;
1587 WORD mtNoParameters;
1588 } METAHEADER;
1590 /* Metafile typical record structure */
1591 typedef struct
1593 DWORD rdSize;
1594 WORD rdFunction;
1595 WORD rdParm[1];
1596 } METARECORD;
1597 typedef METARECORD *PMETARECORD;
1598 typedef METARECORD *LPMETARECORD;
1600 /* Handle table structure */
1602 typedef struct
1604 HGDIOBJ16 objectHandle[1];
1605 } HANDLETABLE16, *LPHANDLETABLE16;
1607 typedef struct
1609 HGDIOBJ objectHandle[1];
1610 } HANDLETABLE, *LPHANDLETABLE;
1613 /* Clipboard metafile picture structure */
1614 typedef struct
1616 INT16 mm;
1617 INT16 xExt;
1618 INT16 yExt;
1619 HMETAFILE16 hMF;
1620 } METAFILEPICT16, *LPMETAFILEPICT16;
1622 typedef struct
1624 INT mm;
1625 INT xExt;
1626 INT yExt;
1627 HMETAFILE hMF;
1628 } METAFILEPICT, *LPMETAFILEPICT;
1631 /* Metafile functions */
1632 #define META_SETBKCOLOR 0x0201
1633 #define META_SETBKMODE 0x0102
1634 #define META_SETMAPMODE 0x0103
1635 #define META_SETROP2 0x0104
1636 #define META_SETRELABS 0x0105
1637 #define META_SETPOLYFILLMODE 0x0106
1638 #define META_SETSTRETCHBLTMODE 0x0107
1639 #define META_SETTEXTCHAREXTRA 0x0108
1640 #define META_SETTEXTCOLOR 0x0209
1641 #define META_SETTEXTJUSTIFICATION 0x020A
1642 #define META_SETWINDOWORG 0x020B
1643 #define META_SETWINDOWEXT 0x020C
1644 #define META_SETVIEWPORTORG 0x020D
1645 #define META_SETVIEWPORTEXT 0x020E
1646 #define META_OFFSETWINDOWORG 0x020F
1647 #define META_SCALEWINDOWEXT 0x0410
1648 #define META_OFFSETVIEWPORTORG 0x0211
1649 #define META_SCALEVIEWPORTEXT 0x0412
1650 #define META_LINETO 0x0213
1651 #define META_MOVETO 0x0214
1652 #define META_EXCLUDECLIPRECT 0x0415
1653 #define META_INTERSECTCLIPRECT 0x0416
1654 #define META_ARC 0x0817
1655 #define META_ELLIPSE 0x0418
1656 #define META_FLOODFILL 0x0419
1657 #define META_PIE 0x081A
1658 #define META_RECTANGLE 0x041B
1659 #define META_ROUNDRECT 0x061C
1660 #define META_PATBLT 0x061D
1661 #define META_SAVEDC 0x001E
1662 #define META_SETPIXEL 0x041F
1663 #define META_OFFSETCLIPRGN 0x0220
1664 #define META_TEXTOUT 0x0521
1665 #define META_BITBLT 0x0922
1666 #define META_STRETCHBLT 0x0B23
1667 #define META_POLYGON 0x0324
1668 #define META_POLYLINE 0x0325
1669 #define META_ESCAPE 0x0626
1670 #define META_RESTOREDC 0x0127
1671 #define META_FILLREGION 0x0228
1672 #define META_FRAMEREGION 0x0429
1673 #define META_INVERTREGION 0x012A
1674 #define META_PAINTREGION 0x012B
1675 #define META_SELECTCLIPREGION 0x012C
1676 #define META_SELECTOBJECT 0x012D
1677 #define META_SETTEXTALIGN 0x012E
1678 #define META_DRAWTEXT 0x062F
1679 #define META_CHORD 0x0830
1680 #define META_SETMAPPERFLAGS 0x0231
1681 #define META_EXTTEXTOUT 0x0A32
1682 #define META_SETDIBTODEV 0x0D33
1683 #define META_SELECTPALETTE 0x0234
1684 #define META_REALIZEPALETTE 0x0035
1685 #define META_ANIMATEPALETTE 0x0436
1686 #define META_SETPALENTRIES 0x0037
1687 #define META_POLYPOLYGON 0x0538
1688 #define META_RESIZEPALETTE 0x0139
1689 #define META_DIBBITBLT 0x0940
1690 #define META_DIBSTRETCHBLT 0x0B41
1691 #define META_DIBCREATEPATTERNBRUSH 0x0142
1692 #define META_STRETCHDIB 0x0F43
1693 #define META_EXTFLOODFILL 0x0548
1694 #define META_RESETDC 0x014C
1695 #define META_STARTDOC 0x014D
1696 #define META_STARTPAGE 0x004F
1697 #define META_ENDPAGE 0x0050
1698 #define META_ABORTDOC 0x0052
1699 #define META_ENDDOC 0x005E
1700 #define META_DELETEOBJECT 0x01F0
1701 #define META_CREATEPALETTE 0x00F7
1702 #define META_CREATEBRUSH 0x00F8
1703 #define META_CREATEPATTERNBRUSH 0x01F9
1704 #define META_CREATEPENINDIRECT 0x02FA
1705 #define META_CREATEFONTINDIRECT 0x02FB
1706 #define META_CREATEBRUSHINDIRECT 0x02FC
1707 #define META_CREATEBITMAPINDIRECT 0x02FD
1708 #define META_CREATEBITMAP 0x06FE
1709 #define META_CREATEREGION 0x06FF
1710 #define META_UNKNOWN 0x0529 /* FIXME: unknown meta magic */
1712 typedef INT16 (CALLBACK *MFENUMPROC16)(HDC16,HANDLETABLE16*,METARECORD*,
1713 INT16,LPARAM);
1714 typedef INT (CALLBACK *MFENUMPROC)(HDC,HANDLETABLE*,METARECORD*,
1715 INT,LPARAM);
1717 /* enhanced metafile structures and functions */
1719 /* note that ENHMETAHEADER is just a particular kind of ENHMETARECORD,
1720 ie. the header is just the first record in the metafile */
1721 typedef struct {
1722 DWORD iType;
1723 DWORD nSize;
1724 RECT rclBounds;
1725 RECT rclFrame;
1726 DWORD dSignature;
1727 DWORD nVersion;
1728 DWORD nBytes;
1729 DWORD nRecords;
1730 WORD nHandles;
1731 WORD sReserved;
1732 DWORD nDescription;
1733 DWORD offDescription;
1734 DWORD nPalEntries;
1735 SIZE szlDevice;
1736 SIZE szlMillimeters;
1737 DWORD cbPixelFormat;
1738 DWORD offPixelFormat;
1739 DWORD bOpenGL;
1740 } ENHMETAHEADER, *LPENHMETAHEADER;
1742 typedef struct {
1743 DWORD iType;
1744 DWORD nSize;
1745 DWORD dParm[1];
1746 } ENHMETARECORD, *LPENHMETARECORD;
1748 typedef INT (CALLBACK *ENHMFENUMPROC)(HDC, LPHANDLETABLE,
1749 LPENHMETARECORD, INT, LPVOID);
1751 #define EMR_HEADER 1
1752 #define EMR_POLYBEZIER 2
1753 #define EMR_POLYGON 3
1754 #define EMR_POLYLINE 4
1755 #define EMR_POLYBEZIERTO 5
1756 #define EMR_POLYLINETO 6
1757 #define EMR_POLYPOLYLINE 7
1758 #define EMR_POLYPOLYGON 8
1759 #define EMR_SETWINDOWEXTEX 9
1760 #define EMR_SETWINDOWORGEX 10
1761 #define EMR_SETVIEWPORTEXTEX 11
1762 #define EMR_SETVIEWPORTORGEX 12
1763 #define EMR_SETBRUSHORGEX 13
1764 #define EMR_EOF 14
1765 #define EMR_SETPIXELV 15
1766 #define EMR_SETMAPPERFLAGS 16
1767 #define EMR_SETMAPMODE 17
1768 #define EMR_SETBKMODE 18
1769 #define EMR_SETPOLYFILLMODE 19
1770 #define EMR_SETROP2 20
1771 #define EMR_SETSTRETCHBLTMODE 21
1772 #define EMR_SETTEXTALIGN 22
1773 #define EMR_SETCOLORADJUSTMENT 23
1774 #define EMR_SETTEXTCOLOR 24
1775 #define EMR_SETBKCOLOR 25
1776 #define EMR_OFFSETCLIPRGN 26
1777 #define EMR_MOVETOEX 27
1778 #define EMR_SETMETARGN 28
1779 #define EMR_EXCLUDECLIPRECT 29
1780 #define EMR_INTERSECTCLIPRECT 30
1781 #define EMR_SCALEVIEWPORTEXTEX 31
1782 #define EMR_SCALEWINDOWEXTEX 32
1783 #define EMR_SAVEDC 33
1784 #define EMR_RESTOREDC 34
1785 #define EMR_SETWORLDTRANSFORM 35
1786 #define EMR_MODIFYWORLDTRANSFORM 36
1787 #define EMR_SELECTOBJECT 37
1788 #define EMR_CREATEPEN 38
1789 #define EMR_CREATEBRUSHINDIRECT 39
1790 #define EMR_DELETEOBJECT 40
1791 #define EMR_ANGLEARC 41
1792 #define EMR_ELLIPSE 42
1793 #define EMR_RECTANGLE 43
1794 #define EMR_ROUNDRECT 44
1795 #define EMR_ARC 45
1796 #define EMR_CHORD 46
1797 #define EMR_PIE 47
1798 #define EMR_SELECTPALETTE 48
1799 #define EMR_CREATEPALETTE 49
1800 #define EMR_SETPALETTEENTRIES 50
1801 #define EMR_RESIZEPALETTE 51
1802 #define EMR_REALIZEPALETTE 52
1803 #define EMR_EXTFLOODFILL 53
1804 #define EMR_LINETO 54
1805 #define EMR_ARCTO 55
1806 #define EMR_POLYDRAW 56
1807 #define EMR_SETARCDIRECTION 57
1808 #define EMR_SETMITERLIMIT 58
1809 #define EMR_BEGINPATH 59
1810 #define EMR_ENDPATH 60
1811 #define EMR_CLOSEFIGURE 61
1812 #define EMR_FILLPATH 62
1813 #define EMR_STROKEANDFILLPATH 63
1814 #define EMR_STROKEPATH 64
1815 #define EMR_FLATTENPATH 65
1816 #define EMR_WIDENPATH 66
1817 #define EMR_SELECTCLIPPATH 67
1818 #define EMR_ABORTPATH 68
1819 #define EMR_GDICOMMENT 70
1820 #define EMR_FILLRGN 71
1821 #define EMR_FRAMERGN 72
1822 #define EMR_INVERTRGN 73
1823 #define EMR_PAINTRGN 74
1824 #define EMR_EXTSELECTCLIPRGN 75
1825 #define EMR_BITBLT 76
1826 #define EMR_STRETCHBLT 77
1827 #define EMR_MASKBLT 78
1828 #define EMR_PLGBLT 79
1829 #define EMR_SETDIBITSTODEVICE 80
1830 #define EMR_STRETCHDIBITS 81
1831 #define EMR_EXTCREATEFONTINDIRECTW 82
1832 #define EMR_EXTTEXTOUTA 83
1833 #define EMR_EXTTEXTOUTW 84
1834 #define EMR_POLYBEZIER16 85
1835 #define EMR_POLYGON16 86
1836 #define EMR_POLYLINE16 87
1837 #define EMR_POLYBEZIERTO16 88
1838 #define EMR_POLYLINETO16 89
1839 #define EMR_POLYPOLYLINE16 90
1840 #define EMR_POLYPOLYGON16 91
1841 #define EMR_POLYDRAW16 92
1842 #define EMR_CREATEMONOBRUSH 93
1843 #define EMR_CREATEDIBPATTERNBRUSHPT 94
1844 #define EMR_EXTCREATEPEN 95
1845 #define EMR_POLYTEXTOUTA 96
1846 #define EMR_POLYTEXTOUTW 97
1847 #define EMR_SETICMMODE 98
1848 #define EMR_CREATECOLORSPACE 99
1849 #define EMR_SETCOLORSPACE 100
1850 #define EMR_DELETECOLORSPACE 101
1851 #define EMR_GLSRECORD 102
1852 #define EMR_GLSBOUNDEDRECORD 103
1853 #define EMR_PIXELFORMAT 104
1855 #define ENHMETA_SIGNATURE 1179469088
1857 #define CCHDEVICENAME 32
1858 #define CCHFORMNAME 32
1860 typedef struct
1862 BYTE dmDeviceName[CCHDEVICENAME];
1863 WORD dmSpecVersion;
1864 WORD dmDriverVersion;
1865 WORD dmSize;
1866 WORD dmDriverExtra;
1867 DWORD dmFields;
1868 INT16 dmOrientation;
1869 INT16 dmPaperSize;
1870 INT16 dmPaperLength;
1871 INT16 dmPaperWidth;
1872 INT16 dmScale;
1873 INT16 dmCopies;
1874 INT16 dmDefaultSource;
1875 INT16 dmPrintQuality;
1876 INT16 dmColor;
1877 INT16 dmDuplex;
1878 INT16 dmYResolution;
1879 INT16 dmTTOption;
1880 INT16 dmCollate;
1881 BYTE dmFormName[CCHFORMNAME];
1882 WORD dmUnusedPadding;
1883 WORD dmBitsPerPel;
1884 DWORD dmPelsWidth;
1885 DWORD dmPelsHeight;
1886 DWORD dmDisplayFlags;
1887 DWORD dmDisplayFrequency;
1888 } DEVMODE16, *LPDEVMODE16;
1890 typedef struct
1892 BYTE dmDeviceName[CCHDEVICENAME];
1893 WORD dmSpecVersion;
1894 WORD dmDriverVersion;
1895 WORD dmSize;
1896 WORD dmDriverExtra;
1897 DWORD dmFields;
1898 INT16 dmOrientation;
1899 INT16 dmPaperSize;
1900 INT16 dmPaperLength;
1901 INT16 dmPaperWidth;
1902 INT16 dmScale;
1903 INT16 dmCopies;
1904 INT16 dmDefaultSource;
1905 INT16 dmPrintQuality;
1906 INT16 dmColor;
1907 INT16 dmDuplex;
1908 INT16 dmYResolution;
1909 INT16 dmTTOption;
1910 INT16 dmCollate;
1911 BYTE dmFormName[CCHFORMNAME];
1912 WORD dmLogPixels;
1913 DWORD dmBitsPerPel;
1914 DWORD dmPelsWidth;
1915 DWORD dmPelsHeight;
1916 DWORD dmDisplayFlags;
1917 DWORD dmDisplayFrequency;
1918 DWORD dmICMMethod;
1919 DWORD dmICMIntent;
1920 DWORD dmMediaType;
1921 DWORD dmDitherType;
1922 DWORD dmReserved1;
1923 DWORD dmReserved2;
1924 } DEVMODEA, *LPDEVMODEA;
1926 typedef struct
1928 WCHAR dmDeviceName[CCHDEVICENAME];
1929 WORD dmSpecVersion;
1930 WORD dmDriverVersion;
1931 WORD dmSize;
1932 WORD dmDriverExtra;
1933 DWORD dmFields;
1934 INT16 dmOrientation;
1935 INT16 dmPaperSize;
1936 INT16 dmPaperLength;
1937 INT16 dmPaperWidth;
1938 INT16 dmScale;
1939 INT16 dmCopies;
1940 INT16 dmDefaultSource;
1941 INT16 dmPrintQuality;
1942 INT16 dmColor;
1943 INT16 dmDuplex;
1944 INT16 dmYResolution;
1945 INT16 dmTTOption;
1946 INT16 dmCollate;
1947 WCHAR dmFormName[CCHFORMNAME];
1948 WORD dmLogPixels;
1949 DWORD dmBitsPerPel;
1950 DWORD dmPelsWidth;
1951 DWORD dmPelsHeight;
1952 DWORD dmDisplayFlags;
1953 DWORD dmDisplayFrequency;
1954 DWORD dmICMMethod;
1955 DWORD dmICMIntent;
1956 DWORD dmMediaType;
1957 DWORD dmDitherType;
1958 DWORD dmReserved1;
1959 DWORD dmReserved2;
1960 } DEVMODEW, *LPDEVMODEW;
1962 DECL_WINELIB_TYPE_AW(DEVMODE)
1963 DECL_WINELIB_TYPE_AW(LPDEVMODE)
1965 typedef struct
1967 INT16 cbSize;
1968 SEGPTR lpszDocName WINE_PACKED;
1969 SEGPTR lpszOutput WINE_PACKED;
1970 } DOCINFO16, *LPDOCINFO16;
1972 typedef struct
1974 INT cbSize;
1975 LPCSTR lpszDocName;
1976 LPCSTR lpszOutput;
1977 LPCSTR lpszDatatype;
1978 DWORD fwType;
1979 } DOCINFOA, *LPDOCINFOA;
1981 typedef struct
1983 INT cbSize;
1984 LPCWSTR lpszDocName;
1985 LPCWSTR lpszOutput;
1986 LPCWSTR lpszDatatype;
1987 DWORD fwType;
1988 } DOCINFOW, *LPDOCINFOW;
1990 DECL_WINELIB_TYPE_AW(DOCINFO)
1991 DECL_WINELIB_TYPE_AW(LPDOCINFO)
1993 typedef struct {
1994 UINT16 cbSize;
1995 INT16 iBorderWidth;
1996 INT16 iScrollWidth;
1997 INT16 iScrollHeight;
1998 INT16 iCaptionWidth;
1999 INT16 iCaptionHeight;
2000 LOGFONT16 lfCaptionFont;
2001 INT16 iSmCaptionWidth;
2002 INT16 iSmCaptionHeight;
2003 LOGFONT16 lfSmCaptionFont;
2004 INT16 iMenuWidth;
2005 INT16 iMenuHeight;
2006 LOGFONT16 lfMenuFont;
2007 LOGFONT16 lfStatusFont;
2008 LOGFONT16 lfMessageFont;
2009 } NONCLIENTMETRICS16,*LPNONCLIENTMETRICS16;
2011 typedef struct {
2012 UINT cbSize;
2013 INT iBorderWidth;
2014 INT iScrollWidth;
2015 INT iScrollHeight;
2016 INT iCaptionWidth;
2017 INT iCaptionHeight;
2018 LOGFONTA lfCaptionFont;
2019 INT iSmCaptionWidth;
2020 INT iSmCaptionHeight;
2021 LOGFONTA lfSmCaptionFont;
2022 INT iMenuWidth;
2023 INT iMenuHeight;
2024 LOGFONTA lfMenuFont;
2025 LOGFONTA lfStatusFont;
2026 LOGFONTA lfMessageFont;
2027 } NONCLIENTMETRICSA,*LPNONCLIENTMETRICSA;
2029 typedef struct {
2030 UINT cbSize;
2031 INT iBorderWidth;
2032 INT iScrollWidth;
2033 INT iScrollHeight;
2034 INT iCaptionWidth;
2035 INT iCaptionHeight;
2036 LOGFONTW lfCaptionFont;
2037 INT iSmCaptionWidth;
2038 INT iSmCaptionHeight;
2039 LOGFONTW lfSmCaptionFont;
2040 INT iMenuWidth;
2041 INT iMenuHeight;
2042 LOGFONTW lfMenuFont;
2043 LOGFONTW lfStatusFont;
2044 LOGFONTW lfMessageFont;
2045 } NONCLIENTMETRICSW,*LPNONCLIENTMETRICSW;
2047 DECL_WINELIB_TYPE_AW(NONCLIENTMETRICS)
2048 DECL_WINELIB_TYPE_AW(LPNONCLIENTMETRICS)
2050 /* Flags for PolyDraw and GetPath */
2051 #define PT_CLOSEFIGURE 0x0001
2052 #define PT_LINETO 0x0002
2053 #define PT_BEZIERTO 0x0004
2054 #define PT_MOVETO 0x0006
2056 #define RDH_RECTANGLES 1
2058 typedef struct _RGNDATAHEADER {
2059 DWORD dwSize;
2060 DWORD iType;
2061 DWORD nCount;
2062 DWORD nRgnSize;
2063 RECT rcBound;
2064 } RGNDATAHEADER,*LPRGNDATAHEADER;
2066 typedef struct _RGNDATA {
2067 RGNDATAHEADER rdh;
2068 char Buffer[1];
2069 } RGNDATA,*PRGNDATA,*LPRGNDATA;
2071 typedef BOOL16 (CALLBACK* ABORTPROC16)(HDC16, INT16);
2072 typedef BOOL (CALLBACK* ABORTPROC)(HDC, INT);
2074 #pragma pack(4)
2076 /* Declarations for functions that exist only in Win16 */
2078 VOID WINAPI Death16(HDC16);
2079 VOID WINAPI Resurrection16(HDC16,WORD,WORD,WORD,WORD,WORD,WORD);
2081 /* Declarations for functions that exist only in Win32 */
2083 BOOL WINAPI AngleArc(HDC, INT, INT, DWORD, FLOAT, FLOAT);
2084 BOOL WINAPI ArcTo(HDC, INT, INT, INT, INT, INT, INT, INT, INT);
2085 HENHMETAFILE WINAPI CloseEnhMetaFile(HDC);
2086 HBRUSH WINAPI CreateDIBPatternBrushPt(const void*,UINT);
2087 HDC WINAPI CreateEnhMetaFileA(HDC,LPCSTR,const RECT*,LPCSTR);
2088 HDC WINAPI CreateEnhMetaFileW(HDC,LPCWSTR,const RECT*,LPCWSTR);
2089 #define CreateEnhMetaFile WINELIB_NAME_AW(CreateEnhMetaFile)
2090 INT WINAPI DrawEscape(HDC,INT,INT,LPCSTR);
2091 INT16 WINAPI ExcludeVisRect16(HDC16,INT16,INT16,INT16,INT16);
2092 BOOL16 WINAPI FastWindowFrame16(HDC16,const RECT16*,INT16,INT16,DWORD);
2093 UINT16 WINAPI GDIRealizePalette16(HDC16);
2094 HPALETTE16 WINAPI GDISelectPalette16(HDC16,HPALETTE16,WORD);
2095 BOOL WINAPI GdiComment(HDC,UINT,const BYTE *);
2096 DWORD WINAPI GetBitmapDimension16(HBITMAP16);
2097 DWORD WINAPI GetBrushOrg16(HDC16);
2098 BOOL WINAPI GetCharABCWidthsFloatA(HDC,UINT,UINT,LPABCFLOAT);
2099 BOOL WINAPI GetCharABCWidthsFloatW(HDC,UINT,UINT,LPABCFLOAT);
2100 #define GetCharABCWidthsFloat WINELIB_NAME_AW(GetCharABCWidthsFloat)
2101 BOOL WINAPI GetCharWidthFloatA(HDC,UINT,UINT,PFLOAT);
2102 BOOL WINAPI GetCharWidthFloatW(HDC,UINT,UINT,PFLOAT);
2103 #define GetCharWidthFloat WINELIB_NAME_AW(GetCharWidthFloat)
2104 BOOL WINAPI GetColorAdjustment(HDC, LPCOLORADJUSTMENT);
2105 HFONT16 WINAPI GetCurLogFont16(HDC16);
2106 DWORD WINAPI GetCurrentPosition16(HDC16);
2107 DWORD WINAPI GetDCHook(HDC16,FARPROC16*);
2108 DWORD WINAPI GetDCOrg16(HDC16);
2109 HDC16 WINAPI GetDCState16(HDC16);
2110 INT16 WINAPI GetEnvironment16(LPCSTR,LPDEVMODE16,UINT16);
2111 HGLOBAL16 WINAPI GetMetaFileBits16(HMETAFILE16);
2112 BOOL WINAPI GetMiterLimit(HDC, PFLOAT);
2113 DWORD WINAPI GetTextExtent16(HDC16,LPCSTR,INT16);
2114 DWORD WINAPI GetViewportExt16(HDC16);
2115 DWORD WINAPI GetViewportOrg16(HDC16);
2116 DWORD WINAPI GetWindowExt16(HDC16);
2117 DWORD WINAPI GetWindowOrg16(HDC16);
2118 HRGN16 WINAPI InquireVisRgn16(HDC16);
2119 INT16 WINAPI IntersectVisRect16(HDC16,INT16,INT16,INT16,INT16);
2120 BOOL16 WINAPI IsDCCurrentPalette16(HDC16);
2121 BOOL16 WINAPI IsGDIObject16(HGDIOBJ16);
2122 BOOL16 WINAPI IsValidMetaFile16(HMETAFILE16);
2123 BOOL WINAPI MaskBlt(HDC,INT,INT,INT,INT,HDC,INT,INT,HBITMAP,INT,INT,DWORD);
2124 DWORD WINAPI MoveTo16(HDC16,INT16,INT16);
2125 DWORD WINAPI OffsetViewportOrg16(HDC16,INT16,INT16);
2126 INT16 WINAPI OffsetVisRgn16(HDC16,INT16,INT16);
2127 DWORD WINAPI OffsetWindowOrg16(HDC16,INT16,INT16);
2128 BOOL WINAPI PlgBlt(HDC,const POINT*,HDC,INT,INT,INT,INT,HBITMAP,INT,INT);
2129 BOOL WINAPI PolyDraw(HDC,const POINT*,const BYTE*,DWORD);
2130 UINT16 WINAPI RealizeDefaultPalette16(HDC16);
2131 INT16 WINAPI RestoreVisRgn16(HDC16);
2132 HRGN16 WINAPI SaveVisRgn16(HDC16);
2133 DWORD WINAPI ScaleViewportExt16(HDC16,INT16,INT16,INT16,INT16);
2134 DWORD WINAPI ScaleWindowExt16(HDC16,INT16,INT16,INT16,INT16);
2135 INT16 WINAPI SelectVisRgn16(HDC16,HRGN16);
2136 DWORD WINAPI SetBitmapDimension16(HBITMAP16,INT16,INT16);
2137 DWORD WINAPI SetBrushOrg16(HDC16,INT16,INT16);
2138 BOOL WINAPI SetColorAdjustment(HDC,const COLORADJUSTMENT*);
2139 BOOL16 WINAPI SetDCHook(HDC16,FARPROC16,DWORD);
2140 DWORD WINAPI SetDCOrg16(HDC16,INT16,INT16);
2141 VOID WINAPI SetDCState16(HDC16,HDC16);
2142 INT16 WINAPI SetEnvironment16(LPCSTR,LPDEVMODE16,UINT16);
2143 WORD WINAPI SetHookFlags16(HDC16,WORD);
2144 HMETAFILE16 WINAPI SetMetaFileBits16(HGLOBAL16);
2145 BOOL WINAPI SetMiterLimit(HDC, FLOAT, PFLOAT);
2146 DWORD WINAPI SetViewportExt16(HDC16,INT16,INT16);
2147 DWORD WINAPI SetViewportOrg16(HDC16,INT16,INT16);
2148 DWORD WINAPI SetWindowExt16(HDC16,INT16,INT16);
2149 DWORD WINAPI SetWindowOrg16(HDC16,INT16,INT16);
2150 BOOL WINAPI CombineTransform(LPXFORM,const XFORM *,const XFORM *);
2151 HENHMETAFILE WINAPI CopyEnhMetaFileA(HENHMETAFILE,LPCSTR);
2152 HENHMETAFILE WINAPI CopyEnhMetaFileW(HENHMETAFILE,LPCWSTR);
2153 #define CopyEnhMetaFile WINELIB_NAME_AW(CopyEnhMetaFile)
2154 HPALETTE WINAPI CreateHalftonePalette(HDC);
2155 BOOL WINAPI DeleteEnhMetaFile(HENHMETAFILE);
2156 INT WINAPI ExtSelectClipRgn(HDC,HRGN,INT);
2157 HRGN WINAPI ExtCreateRegion(const XFORM*,DWORD,const RGNDATA*);
2158 INT WINAPI ExtEscape(HDC,INT,INT,LPCSTR,INT,LPSTR);
2159 BOOL WINAPI FixBrushOrgEx(HDC,INT,INT,LPPOINT);
2160 HANDLE WINAPI GetCurrentObject(HDC,UINT);
2161 BOOL WINAPI GetDCOrgEx(HDC,LPPOINT);
2162 HENHMETAFILE WINAPI GetEnhMetaFileA(LPCSTR);
2163 HENHMETAFILE WINAPI GetEnhMetaFileW(LPCWSTR);
2164 #define GetEnhMetaFile WINELIB_NAME_AW(GetEnhMetaFile)
2165 UINT WINAPI GetEnhMetaFileBits(HENHMETAFILE,UINT,LPBYTE);
2166 UINT WINAPI GetEnhMetaFileHeader(HENHMETAFILE,UINT,LPENHMETAHEADER);
2167 UINT WINAPI GetEnhMetaFilePaletteEntries(HENHMETAFILE,UINT,LPPALETTEENTRY);
2168 INT WINAPI GetGraphicsMode(HDC);
2169 UINT WINAPI GetMetaFileBitsEx(HMETAFILE,UINT,LPVOID);
2170 DWORD WINAPI GetObjectType(HANDLE);
2171 UINT WINAPI GetTextCharsetInfo(HDC,LPFONTSIGNATURE,DWORD);
2172 BOOL WINAPI GetTextExtentExPointA(HDC,LPCSTR,INT,INT,
2173 LPINT,LPINT,LPSIZE);
2174 BOOL WINAPI GetTextExtentExPointW(HDC,LPCWSTR,INT,INT,
2175 LPINT,LPINT,LPSIZE);
2176 #define GetTextExtentExPoint WINELIB_NAME_AW(GetTextExtentExPoint)
2177 BOOL WINAPI GetWorldTransform(HDC,LPXFORM);
2178 BOOL WINAPI ModifyWorldTransform(HDC,const XFORM *, DWORD);
2179 BOOL WINAPI PlayEnhMetaFile(HDC,HENHMETAFILE,const RECT*);
2180 BOOL WINAPI PlayEnhMetaFileRecord(HDC,LPHANDLETABLE,const ENHMETARECORD*,UINT);
2181 BOOL WINAPI PolyPolyline(HDC,const POINT*,const DWORD*,DWORD);
2182 BOOL WINAPI SetBrushOrgEx(HDC,INT,INT,LPPOINT);
2183 HENHMETAFILE WINAPI SetEnhMetaFileBits(UINT,const BYTE *);
2184 INT WINAPI SetGraphicsMode(HDC,INT);
2185 HMETAFILE WINAPI SetMetaFileBitsEx(UINT,const BYTE*);
2186 BOOL WINAPI SetWorldTransform(HDC,const XFORM*);
2187 BOOL WINAPI TranslateCharsetInfo(LPDWORD,LPCHARSETINFO,DWORD);
2189 /* Declarations for functions that change between Win16 and Win32 */
2191 INT16 WINAPI AbortDoc16(HDC16);
2192 INT WINAPI AbortDoc(HDC);
2193 BOOL16 WINAPI AbortPath16(HDC16);
2194 BOOL WINAPI AbortPath(HDC);
2195 INT16 WINAPI AddFontResource16(LPCSTR);
2196 INT WINAPI AddFontResourceA(LPCSTR);
2197 INT WINAPI AddFontResourceW(LPCWSTR);
2198 #define AddFontResource WINELIB_NAME_AW(AddFontResource)
2199 void WINAPI AnimatePalette16(HPALETTE16,UINT16,UINT16,const PALETTEENTRY*);
2200 BOOL WINAPI AnimatePalette(HPALETTE,UINT,UINT,const PALETTEENTRY*);
2201 BOOL16 WINAPI Arc16(HDC16,INT16,INT16,INT16,INT16,INT16,INT16,INT16,INT16);
2202 BOOL WINAPI Arc(HDC,INT,INT,INT,INT,INT,INT,INT,INT);
2203 BOOL16 WINAPI BeginPath16(HDC16);
2204 BOOL WINAPI BeginPath(HDC);
2205 BOOL16 WINAPI BitBlt16(HDC16,INT16,INT16,INT16,INT16,HDC16,INT16,INT16,DWORD);
2206 BOOL WINAPI BitBlt(HDC,INT,INT,INT,INT,HDC,INT,INT,DWORD);
2207 INT WINAPI ChoosePixelFormat(HDC,const PIXELFORMATDESCRIPTOR*);
2208 BOOL16 WINAPI Chord16(HDC16,INT16,INT16,INT16,INT16,INT16,INT16,INT16,INT16);
2209 BOOL WINAPI Chord(HDC,INT,INT,INT,INT,INT,INT,INT,INT);
2210 BOOL16 WINAPI CloseFigure16(HDC16);
2211 BOOL WINAPI CloseFigure(HDC);
2212 HMETAFILE16 WINAPI CloseMetaFile16(HDC16);
2213 HMETAFILE WINAPI CloseMetaFile(HDC);
2214 INT16 WINAPI CombineRgn16(HRGN16,HRGN16,HRGN16,INT16);
2215 INT WINAPI CombineRgn(HRGN,HRGN,HRGN,INT);
2216 HMETAFILE16 WINAPI CopyMetaFile16(HMETAFILE16,LPCSTR);
2217 HMETAFILE WINAPI CopyMetaFileA(HMETAFILE,LPCSTR);
2218 HMETAFILE WINAPI CopyMetaFileW(HMETAFILE,LPCWSTR);
2219 #define CopyMetaFile WINELIB_NAME_AW(CopyMetaFile)
2220 HBITMAP16 WINAPI CreateBitmap16(INT16,INT16,UINT16,UINT16,LPCVOID);
2221 HBITMAP WINAPI CreateBitmap(INT,INT,UINT,UINT,LPCVOID);
2222 HBITMAP16 WINAPI CreateBitmapIndirect16(const BITMAP16*);
2223 HBITMAP WINAPI CreateBitmapIndirect(const BITMAP*);
2224 HBRUSH16 WINAPI CreateBrushIndirect16(const LOGBRUSH16*);
2225 HBRUSH WINAPI CreateBrushIndirect(const LOGBRUSH*);
2226 HBITMAP16 WINAPI CreateCompatibleBitmap16(HDC16,INT16,INT16);
2227 HBITMAP WINAPI CreateCompatibleBitmap(HDC,INT,INT);
2228 HDC16 WINAPI CreateCompatibleDC16(HDC16);
2229 HDC WINAPI CreateCompatibleDC(HDC);
2230 HDC16 WINAPI CreateDC16(LPCSTR,LPCSTR,LPCSTR,const DEVMODE16*);
2231 HDC WINAPI CreateDCA(LPCSTR,LPCSTR,LPCSTR,const DEVMODEA*);
2232 HDC WINAPI CreateDCW(LPCWSTR,LPCWSTR,LPCWSTR,const DEVMODEW*);
2233 #define CreateDC WINELIB_NAME_AW(CreateDC)
2234 HBITMAP16 WINAPI CreateDIBitmap16(HDC16,const BITMAPINFOHEADER*,DWORD,
2235 LPCVOID,const BITMAPINFO*,UINT16);
2236 HBITMAP WINAPI CreateDIBitmap(HDC,const BITMAPINFOHEADER*,DWORD,
2237 LPCVOID,const BITMAPINFO*,UINT);
2238 HBRUSH16 WINAPI CreateDIBPatternBrush16(HGLOBAL16,UINT16);
2239 HBRUSH WINAPI CreateDIBPatternBrush(HGLOBAL,UINT);
2240 HBITMAP16 WINAPI CreateDIBSection16 (HDC16, BITMAPINFO *, UINT16,
2241 SEGPTR *, HANDLE, DWORD offset);
2242 HBITMAP WINAPI CreateDIBSection (HDC, BITMAPINFO *, UINT,
2243 LPVOID *, HANDLE, DWORD offset);
2244 HBITMAP16 WINAPI CreateDiscardableBitmap16(HDC16,INT16,INT16);
2245 HBITMAP WINAPI CreateDiscardableBitmap(HDC,INT,INT);
2246 HRGN16 WINAPI CreateEllipticRgn16(INT16,INT16,INT16,INT16);
2247 HRGN WINAPI CreateEllipticRgn(INT,INT,INT,INT);
2248 HRGN16 WINAPI CreateEllipticRgnIndirect16(const RECT16 *);
2249 HRGN WINAPI CreateEllipticRgnIndirect(const RECT *);
2250 HFONT16 WINAPI CreateFont16(INT16,INT16,INT16,INT16,INT16,BYTE,BYTE,BYTE,
2251 BYTE,BYTE,BYTE,BYTE,BYTE,LPCSTR);
2252 HFONT WINAPI CreateFontA(INT,INT,INT,INT,INT,DWORD,DWORD,
2253 DWORD,DWORD,DWORD,DWORD,DWORD,DWORD,LPCSTR);
2254 HFONT WINAPI CreateFontW(INT,INT,INT,INT,INT,DWORD,DWORD,
2255 DWORD,DWORD,DWORD,DWORD,DWORD,DWORD,LPCWSTR);
2256 #define CreateFont WINELIB_NAME_AW(CreateFont)
2257 HFONT16 WINAPI CreateFontIndirect16(const LOGFONT16*);
2258 HFONT WINAPI CreateFontIndirectA(const LOGFONTA*);
2259 HFONT WINAPI CreateFontIndirectW(const LOGFONTW*);
2260 #define CreateFontIndirect WINELIB_NAME_AW(CreateFontIndirect)
2261 HBRUSH16 WINAPI CreateHatchBrush16(INT16,COLORREF);
2262 HBRUSH WINAPI CreateHatchBrush(INT,COLORREF);
2263 HDC16 WINAPI CreateIC16(LPCSTR,LPCSTR,LPCSTR,const DEVMODE16*);
2264 HDC WINAPI CreateICA(LPCSTR,LPCSTR,LPCSTR,const DEVMODEA*);
2265 HDC WINAPI CreateICW(LPCWSTR,LPCWSTR,LPCWSTR,const DEVMODEW*);
2266 #define CreateIC WINELIB_NAME_AW(CreateIC)
2267 HDC16 WINAPI CreateMetaFile16(LPCSTR);
2268 HDC WINAPI CreateMetaFileA(LPCSTR);
2269 HDC WINAPI CreateMetaFileW(LPCWSTR);
2270 #define CreateMetaFile WINELIB_NAME_AW(CreateMetaFile)
2271 HPALETTE16 WINAPI CreatePalette16(const LOGPALETTE*);
2272 HPALETTE WINAPI CreatePalette(const LOGPALETTE*);
2273 HBRUSH16 WINAPI CreatePatternBrush16(HBITMAP16);
2274 HBRUSH WINAPI CreatePatternBrush(HBITMAP);
2275 HPEN16 WINAPI CreatePen16(INT16,INT16,COLORREF);
2276 HPEN WINAPI CreatePen(INT,INT,COLORREF);
2277 HPEN16 WINAPI CreatePenIndirect16(const LOGPEN16*);
2278 HPEN WINAPI CreatePenIndirect(const LOGPEN*);
2279 HRGN16 WINAPI CreatePolyPolygonRgn16(const POINT16*,const INT16*,INT16,INT16);
2280 HRGN WINAPI CreatePolyPolygonRgn(const POINT*,const INT*,INT,INT);
2281 HRGN16 WINAPI CreatePolygonRgn16(const POINT16*,INT16,INT16);
2282 HRGN WINAPI CreatePolygonRgn(const POINT*,INT,INT);
2283 HRGN16 WINAPI CreateRectRgn16(INT16,INT16,INT16,INT16);
2284 HRGN WINAPI CreateRectRgn(INT,INT,INT,INT);
2285 HRGN16 WINAPI CreateRectRgnIndirect16(const RECT16*);
2286 HRGN WINAPI CreateRectRgnIndirect(const RECT*);
2287 HRGN16 WINAPI CreateRoundRectRgn16(INT16,INT16,INT16,INT16,INT16,INT16);
2288 HRGN WINAPI CreateRoundRectRgn(INT,INT,INT,INT,INT,INT);
2289 BOOL16 WINAPI CreateScalableFontResource16(UINT16,LPCSTR,LPCSTR,LPCSTR);
2290 BOOL WINAPI CreateScalableFontResourceA(DWORD,LPCSTR,LPCSTR,LPCSTR);
2291 BOOL WINAPI CreateScalableFontResourceW(DWORD,LPCWSTR,LPCWSTR,LPCWSTR);
2292 #define CreateScalableFontResource WINELIB_NAME_AW(CreateScalableFontResource)
2293 HBRUSH16 WINAPI CreateSolidBrush16(COLORREF);
2294 HBRUSH WINAPI CreateSolidBrush(COLORREF);
2295 BOOL16 WINAPI DeleteDC16(HDC16);
2296 BOOL WINAPI DeleteDC(HDC);
2297 BOOL16 WINAPI DeleteMetaFile16(HMETAFILE16);
2298 BOOL WINAPI DeleteMetaFile(HMETAFILE);
2299 BOOL16 WINAPI DeleteObject16(HGDIOBJ16);
2300 BOOL WINAPI DeleteObject(HGDIOBJ);
2301 INT WINAPI DescribePixelFormat(HDC,int,UINT,
2302 LPPIXELFORMATDESCRIPTOR);
2303 BOOL16 WINAPI DPtoLP16(HDC16,LPPOINT16,INT16);
2304 BOOL WINAPI DPtoLP(HDC,LPPOINT,INT);
2305 BOOL16 WINAPI Ellipse16(HDC16,INT16,INT16,INT16,INT16);
2306 BOOL WINAPI Ellipse(HDC,INT,INT,INT,INT);
2307 INT16 WINAPI EndDoc16(HDC16);
2308 INT WINAPI EndDoc(HDC);
2309 BOOL16 WINAPI EndPath16(HDC16);
2310 BOOL WINAPI EndPath(HDC);
2311 INT16 WINAPI EnumFontFamilies16(HDC16,LPCSTR,FONTENUMPROC16,LPARAM);
2312 INT WINAPI EnumFontFamiliesA(HDC,LPCSTR,FONTENUMPROCA,LPARAM);
2313 INT WINAPI EnumFontFamiliesW(HDC,LPCWSTR,FONTENUMPROCW,LPARAM);
2314 #define EnumFontFamilies WINELIB_NAME_AW(EnumFontFamilies)
2315 INT16 WINAPI EnumFontFamiliesEx16(HDC16,LPLOGFONT16,FONTENUMPROCEX16,LPARAM,DWORD);
2316 INT WINAPI EnumFontFamiliesExA(HDC,LPLOGFONTA,FONTENUMPROCEXA,LPARAM,DWORD);
2317 INT WINAPI EnumFontFamiliesExW(HDC,LPLOGFONTW,FONTENUMPROCEXW,LPARAM,DWORD);
2318 #define EnumFontFamiliesEx WINELIB_NAME_AW(EnumFontFamiliesEx)
2319 INT16 WINAPI EnumFonts16(HDC16,LPCSTR,FONTENUMPROC16,LPARAM);
2320 INT WINAPI EnumFontsA(HDC,LPCSTR,FONTENUMPROCA,LPARAM);
2321 INT WINAPI EnumFontsW(HDC,LPCWSTR,FONTENUMPROCW,LPARAM);
2322 #define EnumFonts WINELIB_NAME_AW(EnumFonts)
2323 BOOL16 WINAPI EnumMetaFile16(HDC16,HMETAFILE16,MFENUMPROC16,LPARAM);
2324 BOOL WINAPI EnumMetaFile(HDC,HMETAFILE,MFENUMPROC,LPARAM);
2325 INT16 WINAPI EnumObjects16(HDC16,INT16,GOBJENUMPROC16,LPARAM);
2326 INT WINAPI EnumObjects(HDC,INT,GOBJENUMPROC,LPARAM);
2327 BOOL16 WINAPI EqualRgn16(HRGN16,HRGN16);
2328 BOOL WINAPI EqualRgn(HRGN,HRGN);
2329 INT16 WINAPI Escape16(HDC16,INT16,INT16,SEGPTR,SEGPTR);
2330 INT WINAPI Escape(HDC,INT,INT,LPCSTR,LPVOID);
2331 INT16 WINAPI ExcludeClipRect16(HDC16,INT16,INT16,INT16,INT16);
2332 INT WINAPI ExcludeClipRect(HDC,INT,INT,INT,INT);
2333 HPEN16 WINAPI ExtCreatePen16(DWORD,DWORD,const LOGBRUSH16*,DWORD,const DWORD*);
2334 HPEN WINAPI ExtCreatePen(DWORD,DWORD,const LOGBRUSH*,DWORD,const DWORD*);
2335 BOOL16 WINAPI ExtFloodFill16(HDC16,INT16,INT16,COLORREF,UINT16);
2336 BOOL WINAPI ExtFloodFill(HDC,INT,INT,COLORREF,UINT);
2337 BOOL16 WINAPI ExtTextOut16(HDC16,INT16,INT16,UINT16,const RECT16*,
2338 LPCSTR,UINT16,const INT16*);
2339 BOOL WINAPI ExtTextOutA(HDC,INT,INT,UINT,const RECT*,
2340 LPCSTR,UINT,const INT*);
2341 BOOL WINAPI ExtTextOutW(HDC,INT,INT,UINT,const RECT*,
2342 LPCWSTR,UINT,const INT*);
2343 #define ExtTextOut WINELIB_NAME_AW(ExtTextOut)
2344 BOOL16 WINAPI FillPath16(HDC16);
2345 BOOL WINAPI FillPath(HDC);
2346 BOOL16 WINAPI FillRgn16(HDC16,HRGN16,HBRUSH16);
2347 BOOL WINAPI FillRgn(HDC,HRGN,HBRUSH);
2348 BOOL16 WINAPI FlattenPath16(HDC16);
2349 BOOL WINAPI FlattenPath(HDC);
2350 BOOL16 WINAPI FloodFill16(HDC16,INT16,INT16,COLORREF);
2351 BOOL WINAPI FloodFill(HDC,INT,INT,COLORREF);
2352 BOOL16 WINAPI FrameRgn16(HDC16,HRGN16,HBRUSH16,INT16,INT16);
2353 BOOL WINAPI FrameRgn(HDC,HRGN,HBRUSH,INT,INT);
2354 INT16 WINAPI GetArcDirection16(HDC16);
2355 INT WINAPI GetArcDirection(HDC);
2356 BOOL16 WINAPI GetAspectRatioFilterEx16(HDC16,LPSIZE16);
2357 BOOL WINAPI GetAspectRatioFilterEx(HDC,LPSIZE);
2358 LONG WINAPI GetBitmapBits16(HBITMAP16,LONG,LPVOID);
2359 LONG WINAPI GetBitmapBits(HBITMAP,LONG,LPVOID);
2360 BOOL16 WINAPI GetBitmapDimensionEx16(HBITMAP16,LPSIZE16);
2361 BOOL WINAPI GetBitmapDimensionEx(HBITMAP,LPSIZE);
2362 BOOL16 WINAPI GetBrushOrgEx16(HDC16,LPPOINT16);
2363 BOOL WINAPI GetBrushOrgEx(HDC,LPPOINT);
2364 COLORREF WINAPI GetBkColor16(HDC16);
2365 COLORREF WINAPI GetBkColor(HDC);
2366 INT16 WINAPI GetBkMode16(HDC16);
2367 INT WINAPI GetBkMode(HDC);
2368 UINT16 WINAPI GetBoundsRect16(HDC16,LPRECT16,UINT16);
2369 UINT WINAPI GetBoundsRect(HDC,LPRECT,UINT);
2370 BOOL16 WINAPI GetCharABCWidths16(HDC16,UINT16,UINT16,LPABC16);
2371 BOOL WINAPI GetCharABCWidthsA(HDC,UINT,UINT,LPABC);
2372 BOOL WINAPI GetCharABCWidthsW(HDC,UINT,UINT,LPABC);
2373 #define GetCharABCWidths WINELIB_NAME_AW(GetCharABCWidths)
2374 DWORD WINAPI GetCharacterPlacementA(HDC,LPCSTR,INT,INT,GCP_RESULTSA*,DWORD);
2375 DWORD WINAPI GetCharacterPlacementW(HDC,LPCWSTR,INT,INT,GCP_RESULTSW*,DWORD);
2376 #define GetCharacterPlacement WINELIB_NAME_AW(GetCharacterPlacement)
2377 BOOL16 WINAPI GetCharWidth16(HDC16,UINT16,UINT16,LPINT16);
2378 BOOL WINAPI GetCharWidth32A(HDC,UINT,UINT,LPINT);
2379 BOOL WINAPI GetCharWidth32W(HDC,UINT,UINT,LPINT);
2380 #define GetCharWidth WINELIB_NAME_AW(GetCharWidth)
2381 INT16 WINAPI GetClipBox16(HDC16,LPRECT16);
2382 INT WINAPI GetClipBox(HDC,LPRECT);
2383 HRGN16 WINAPI GetClipRgn16(HDC16);
2384 INT WINAPI GetClipRgn(HDC,HRGN);
2385 BOOL16 WINAPI GetCurrentPositionEx16(HDC16,LPPOINT16);
2386 BOOL WINAPI GetCurrentPositionEx(HDC,LPPOINT);
2387 INT16 WINAPI GetDeviceCaps16(HDC16,INT16);
2388 INT WINAPI GetDeviceCaps(HDC,INT);
2389 UINT16 WINAPI GetDIBColorTable16(HDC16,UINT16,UINT16,RGBQUAD*);
2390 UINT WINAPI GetDIBColorTable(HDC,UINT,UINT,RGBQUAD*);
2391 INT16 WINAPI GetDIBits16(HDC16,HBITMAP16,UINT16,UINT16,LPVOID,LPBITMAPINFO,UINT16);
2392 INT WINAPI GetDIBits(HDC,HBITMAP,UINT,UINT,LPVOID,LPBITMAPINFO,UINT);
2393 DWORD WINAPI GetFontData(HDC,DWORD,DWORD,LPVOID,DWORD);
2394 DWORD WINAPI GetFontLanguageInfo16(HDC16);
2395 DWORD WINAPI GetFontLanguageInfo(HDC);
2396 DWORD WINAPI GetGlyphOutline16(HDC16,UINT16,UINT16,LPGLYPHMETRICS16,DWORD,LPVOID,const MAT2*);
2397 DWORD WINAPI GetGlyphOutlineA(HDC,UINT,UINT,LPGLYPHMETRICS,DWORD,LPVOID,const MAT2*);
2398 DWORD WINAPI GetGlyphOutlineW(HDC,UINT,UINT,LPGLYPHMETRICS,DWORD,LPVOID,const MAT2*);
2399 #define GetGlyphOutline WINELIB_NAME_AW(GetGlyphOutline)
2400 INT16 WINAPI GetKerningPairs16(HDC16,INT16,LPKERNINGPAIR16);
2401 DWORD WINAPI GetKerningPairsA(HDC,DWORD,LPKERNINGPAIR);
2402 DWORD WINAPI GetKerningPairsW(HDC,DWORD,LPKERNINGPAIR);
2403 #define GetKerningPairs WINELIB_NAME_AW(GetKerningPairs)
2404 INT16 WINAPI GetMapMode16(HDC16);
2405 INT WINAPI GetMapMode(HDC);
2406 HMETAFILE16 WINAPI GetMetaFile16(LPCSTR);
2407 HMETAFILE WINAPI GetMetaFileA(LPCSTR);
2408 HMETAFILE WINAPI GetMetaFileW(LPCWSTR);
2409 #define GetMetaFile WINELIB_NAME_AW(GetMetaFile)
2410 DWORD WINAPI GetNearestColor16(HDC16,DWORD);
2411 DWORD WINAPI GetNearestColor(HDC,DWORD);
2412 UINT16 WINAPI GetNearestPaletteIndex16(HPALETTE16,COLORREF);
2413 UINT WINAPI GetNearestPaletteIndex(HPALETTE,COLORREF);
2414 INT16 WINAPI GetObject16(HANDLE16,INT16,LPVOID);
2415 INT WINAPI GetObjectA(HANDLE,INT,LPVOID);
2416 INT WINAPI GetObjectW(HANDLE,INT,LPVOID);
2417 #define GetObject WINELIB_NAME_AW(GetObject)
2418 UINT16 WINAPI GetOutlineTextMetrics16(HDC16,UINT16,LPOUTLINETEXTMETRIC16);
2419 UINT WINAPI GetOutlineTextMetricsA(HDC,UINT,LPOUTLINETEXTMETRICA);
2420 UINT WINAPI GetOutlineTextMetricsW(HDC,UINT,LPOUTLINETEXTMETRICW);
2421 #define GetOutlineTextMetrics WINELIB_NAME_AW(GetOutlineTextMetrics)
2422 UINT16 WINAPI GetPaletteEntries16(HPALETTE16,UINT16,UINT16,LPPALETTEENTRY);
2423 UINT WINAPI GetPaletteEntries(HPALETTE,UINT,UINT,LPPALETTEENTRY);
2424 INT16 WINAPI GetPath16(HDC16,LPPOINT16,LPBYTE,INT16);
2425 INT WINAPI GetPath(HDC,LPPOINT,LPBYTE,INT);
2426 COLORREF WINAPI GetPixel16(HDC16,INT16,INT16);
2427 COLORREF WINAPI GetPixel(HDC,INT,INT);
2428 INT WINAPI GetPixelFormat(HDC);
2429 INT16 WINAPI GetPolyFillMode16(HDC16);
2430 INT WINAPI GetPolyFillMode(HDC);
2431 BOOL16 WINAPI GetRasterizerCaps16(LPRASTERIZER_STATUS,UINT16);
2432 BOOL WINAPI GetRasterizerCaps(LPRASTERIZER_STATUS,UINT);
2433 DWORD WINAPI GetRegionData16(HRGN16,DWORD,LPRGNDATA);
2434 DWORD WINAPI GetRegionData(HRGN,DWORD,LPRGNDATA);
2435 INT16 WINAPI GetRelAbs16(HDC16);
2436 INT WINAPI GetRelAbs(HDC);
2437 INT16 WINAPI GetRgnBox16(HRGN16,LPRECT16);
2438 INT WINAPI GetRgnBox(HRGN,LPRECT);
2439 INT16 WINAPI GetROP216(HDC16);
2440 INT WINAPI GetROP2(HDC);
2441 HGDIOBJ16 WINAPI GetStockObject16(INT16);
2442 HGDIOBJ WINAPI GetStockObject(INT);
2443 INT16 WINAPI GetStretchBltMode16(HDC16);
2444 INT WINAPI GetStretchBltMode(HDC);
2445 UINT16 WINAPI GetSystemPaletteEntries16(HDC16,UINT16,UINT16,LPPALETTEENTRY);
2446 UINT WINAPI GetSystemPaletteEntries(HDC,UINT,UINT,LPPALETTEENTRY);
2447 UINT16 WINAPI GetSystemPaletteUse16(HDC16);
2448 UINT WINAPI GetSystemPaletteUse(HDC);
2449 UINT16 WINAPI GetTextAlign16(HDC16);
2450 UINT WINAPI GetTextAlign(HDC);
2451 INT16 WINAPI GetTextCharacterExtra16(HDC16);
2452 INT WINAPI GetTextCharacterExtra(HDC);
2453 UINT16 WINAPI GetTextCharset16(HDC16);
2454 UINT WINAPI GetTextCharset(HDC);
2455 COLORREF WINAPI GetTextColor16(HDC16);
2456 COLORREF WINAPI GetTextColor(HDC);
2457 /* this one is different, because Win32 has *both*
2458 * GetTextExtentPoint and GetTextExtentPoint32 !
2460 BOOL16 WINAPI GetTextExtentPoint16(HDC16,LPCSTR,INT16,LPSIZE16);
2461 BOOL WINAPI GetTextExtentPoint32A(HDC,LPCSTR,INT,LPSIZE);
2462 BOOL WINAPI GetTextExtentPoint32W(HDC,LPCWSTR,INT,LPSIZE);
2463 BOOL WINAPI GetTextExtentPointA(HDC,LPCSTR,INT,LPSIZE);
2464 BOOL WINAPI GetTextExtentPointW(HDC,LPCWSTR,INT,LPSIZE);
2465 #ifdef UNICODE
2466 #define GetTextExtentPoint GetTextExtentPointW
2467 #define GetTextExtentPoint32 GetTextExtentPoint32W
2468 #else
2469 #define GetTextExtentPoint GetTextExtentPointA
2470 #define GetTextExtentPoint32 GetTextExtentPoint32A
2471 #endif
2472 INT16 WINAPI GetTextFace16(HDC16,INT16,LPSTR);
2473 INT WINAPI GetTextFaceA(HDC,INT,LPSTR);
2474 INT WINAPI GetTextFaceW(HDC,INT,LPWSTR);
2475 #define GetTextFace WINELIB_NAME_AW(GetTextFace)
2476 BOOL16 WINAPI GetTextMetrics16(HDC16,LPTEXTMETRIC16);
2477 BOOL WINAPI GetTextMetricsA(HDC,LPTEXTMETRICA);
2478 BOOL WINAPI GetTextMetricsW(HDC,LPTEXTMETRICW);
2479 #define GetTextMetrics WINELIB_NAME_AW(GetTextMetrics)
2480 BOOL16 WINAPI GetViewportExtEx16(HDC16,LPSIZE16);
2481 BOOL WINAPI GetViewportExtEx(HDC,LPSIZE);
2482 BOOL16 WINAPI GetViewportOrgEx16(HDC16,LPPOINT16);
2483 BOOL WINAPI GetViewportOrgEx(HDC,LPPOINT);
2484 BOOL16 WINAPI GetWindowExtEx16(HDC16,LPSIZE16);
2485 BOOL WINAPI GetWindowExtEx(HDC,LPSIZE);
2486 BOOL16 WINAPI GetWindowOrgEx16(HDC16,LPPOINT16);
2487 BOOL WINAPI GetWindowOrgEx(HDC,LPPOINT);
2488 INT16 WINAPI IntersectClipRect16(HDC16,INT16,INT16,INT16,INT16);
2489 INT WINAPI IntersectClipRect(HDC,INT,INT,INT,INT);
2490 BOOL16 WINAPI InvertRgn16(HDC16,HRGN16);
2491 BOOL WINAPI InvertRgn(HDC,HRGN);
2492 VOID WINAPI LineDDA16(INT16,INT16,INT16,INT16,LINEDDAPROC16,LPARAM);
2493 BOOL WINAPI LineDDA(INT,INT,INT,INT,LINEDDAPROC,LPARAM);
2494 BOOL16 WINAPI LineTo16(HDC16,INT16,INT16);
2495 BOOL WINAPI LineTo(HDC,INT,INT);
2496 BOOL16 WINAPI LPtoDP16(HDC16,LPPOINT16,INT16);
2497 BOOL WINAPI LPtoDP(HDC,LPPOINT,INT);
2498 BOOL16 WINAPI MoveToEx16(HDC16,INT16,INT16,LPPOINT16);
2499 BOOL WINAPI MoveToEx(HDC,INT,INT,LPPOINT);
2500 INT16 WINAPI MulDiv16(INT16,INT16,INT16);
2501 /* FIXME This is defined in kernel32.spec !?*/
2502 INT WINAPI MulDiv(INT,INT,INT);
2503 INT16 WINAPI OffsetClipRgn16(HDC16,INT16,INT16);
2504 INT WINAPI OffsetClipRgn(HDC,INT,INT);
2505 INT16 WINAPI OffsetRgn16(HRGN16,INT16,INT16);
2506 INT WINAPI OffsetRgn(HRGN,INT,INT);
2507 BOOL16 WINAPI OffsetViewportOrgEx16(HDC16,INT16,INT16,LPPOINT16);
2508 BOOL WINAPI OffsetViewportOrgEx(HDC,INT,INT,LPPOINT);
2509 BOOL16 WINAPI OffsetWindowOrgEx16(HDC16,INT16,INT16,LPPOINT16);
2510 BOOL WINAPI OffsetWindowOrgEx(HDC,INT,INT,LPPOINT);
2511 BOOL16 WINAPI PaintRgn16(HDC16,HRGN16);
2512 BOOL WINAPI PaintRgn(HDC,HRGN);
2513 BOOL16 WINAPI PatBlt16(HDC16,INT16,INT16,INT16,INT16,DWORD);
2514 BOOL WINAPI PatBlt(HDC,INT,INT,INT,INT,DWORD);
2515 HRGN16 WINAPI PathToRegion16(HDC16);
2516 HRGN WINAPI PathToRegion(HDC);
2517 BOOL16 WINAPI Pie16(HDC16,INT16,INT16,INT16,INT16,INT16,INT16,INT16,INT16);
2518 BOOL WINAPI Pie(HDC,INT,INT,INT,INT,INT,INT,INT,INT);
2519 BOOL16 WINAPI PlayMetaFile16(HDC16,HMETAFILE16);
2520 BOOL WINAPI PlayMetaFile(HDC,HMETAFILE);
2521 VOID WINAPI PlayMetaFileRecord16(HDC16,LPHANDLETABLE16,LPMETARECORD,UINT16);
2522 BOOL WINAPI PlayMetaFileRecord(HDC,LPHANDLETABLE,LPMETARECORD,UINT);
2523 BOOL16 WINAPI PolyBezier16(HDC16,const POINT16*,INT16);
2524 BOOL WINAPI PolyBezier(HDC,const POINT*,DWORD);
2525 BOOL16 WINAPI PolyBezierTo16(HDC16,const POINT16*,INT16);
2526 BOOL WINAPI PolyBezierTo(HDC,const POINT*,DWORD);
2527 BOOL16 WINAPI PolyPolygon16(HDC16,const POINT16*,const INT16*,UINT16);
2528 BOOL WINAPI PolyPolygon(HDC,const POINT*,const INT*,UINT);
2529 BOOL16 WINAPI Polygon16(HDC16,const POINT16*,INT16);
2530 BOOL WINAPI Polygon(HDC,const POINT*,INT);
2531 BOOL16 WINAPI Polyline16(HDC16,const POINT16*,INT16);
2532 BOOL WINAPI Polyline(HDC,const POINT*,INT);
2533 BOOL WINAPI PolylineTo(HDC,const POINT*,DWORD);
2534 BOOL16 WINAPI PtInRegion16(HRGN16,INT16,INT16);
2535 BOOL WINAPI PtInRegion(HRGN,INT,INT);
2536 BOOL16 WINAPI PtVisible16(HDC16,INT16,INT16);
2537 BOOL WINAPI PtVisible(HDC,INT,INT);
2538 /* FIXME This is defined in user.spec !? */
2539 UINT16 WINAPI RealizePalette16(HDC16);
2540 UINT WINAPI RealizePalette(HDC);
2541 BOOL16 WINAPI Rectangle16(HDC16,INT16,INT16,INT16,INT16);
2542 BOOL WINAPI Rectangle(HDC,INT,INT,INT,INT);
2543 BOOL16 WINAPI RectInRegion16(HRGN16,const RECT16 *);
2544 BOOL WINAPI RectInRegion(HRGN,const RECT *);
2545 BOOL16 WINAPI RectVisible16(HDC16,const RECT16*);
2546 BOOL WINAPI RectVisible(HDC,const RECT*);
2547 BOOL16 WINAPI RemoveFontResource16(SEGPTR);
2548 BOOL WINAPI RemoveFontResourceA(LPCSTR);
2549 BOOL WINAPI RemoveFontResourceW(LPCWSTR);
2550 #define RemoveFontResource WINELIB_NAME_AW(RemoveFontResource)
2551 HDC16 WINAPI ResetDC16(HDC16,const DEVMODE16 *);
2552 HDC WINAPI ResetDCA(HDC,const DEVMODEA *);
2553 HDC WINAPI ResetDCW(HDC,const DEVMODEW *);
2554 #define ResetDC WINELIB_NAME_AW(ResetDC)
2555 BOOL16 WINAPI ResizePalette16(HPALETTE16,UINT16);
2556 BOOL WINAPI ResizePalette(HPALETTE,UINT);
2557 BOOL16 WINAPI RestoreDC16(HDC16,INT16);
2558 BOOL WINAPI RestoreDC(HDC,INT);
2559 BOOL16 WINAPI RoundRect16(HDC16,INT16,INT16,INT16,INT16,INT16,INT16);
2560 BOOL WINAPI RoundRect(HDC,INT,INT,INT,INT,INT,INT);
2561 INT16 WINAPI SaveDC16(HDC16);
2562 INT WINAPI SaveDC(HDC);
2563 BOOL16 WINAPI ScaleViewportExtEx16(HDC16,INT16,INT16,INT16,INT16,LPSIZE16);
2564 BOOL WINAPI ScaleViewportExtEx(HDC,INT,INT,INT,INT,LPSIZE);
2565 BOOL16 WINAPI ScaleWindowExtEx16(HDC16,INT16,INT16,INT16,INT16,LPSIZE16);
2566 BOOL WINAPI ScaleWindowExtEx(HDC,INT,INT,INT,INT,LPSIZE);
2567 BOOL16 WINAPI SelectClipPath16(HDC16,INT16);
2568 BOOL WINAPI SelectClipPath(HDC,INT);
2569 INT16 WINAPI SelectClipRgn16(HDC16,HRGN16);
2570 INT WINAPI SelectClipRgn(HDC,HRGN);
2571 HGDIOBJ16 WINAPI SelectObject16(HDC16,HGDIOBJ16);
2572 HGDIOBJ WINAPI SelectObject(HDC,HGDIOBJ);
2573 /* FIXME This is defined in user.spec !? */
2574 HPALETTE16 WINAPI SelectPalette16(HDC16,HPALETTE16,BOOL16);
2575 HPALETTE WINAPI SelectPalette(HDC,HPALETTE,BOOL);
2576 INT16 WINAPI SetAbortProc16(HDC16,SEGPTR);
2577 INT WINAPI SetAbortProc(HDC,ABORTPROC);
2578 INT16 WINAPI SetArcDirection16(HDC16,INT16);
2579 INT WINAPI SetArcDirection(HDC,INT);
2580 LONG WINAPI SetBitmapBits16(HBITMAP16,LONG,LPCVOID);
2581 LONG WINAPI SetBitmapBits(HBITMAP,LONG,LPCVOID);
2582 BOOL16 WINAPI SetBitmapDimensionEx16(HBITMAP16,INT16,INT16,LPSIZE16);
2583 BOOL WINAPI SetBitmapDimensionEx(HBITMAP,INT,INT,LPSIZE);
2584 COLORREF WINAPI SetBkColor16(HDC16,COLORREF);
2585 COLORREF WINAPI SetBkColor(HDC,COLORREF);
2586 INT16 WINAPI SetBkMode16(HDC16,INT16);
2587 INT WINAPI SetBkMode(HDC,INT);
2588 UINT16 WINAPI SetBoundsRect16(HDC16,const RECT16*,UINT16);
2589 UINT WINAPI SetBoundsRect(HDC,const RECT*,UINT);
2590 UINT16 WINAPI SetDIBColorTable16(HDC16,UINT16,UINT16,RGBQUAD*);
2591 UINT WINAPI SetDIBColorTable(HDC,UINT,UINT,RGBQUAD*);
2592 INT16 WINAPI SetDIBits16(HDC16,HBITMAP16,UINT16,UINT16,LPCVOID,const BITMAPINFO*,UINT16);
2593 INT WINAPI SetDIBits(HDC,HBITMAP,UINT,UINT,LPCVOID,const BITMAPINFO*,UINT);
2594 INT16 WINAPI SetDIBitsToDevice16(HDC16,INT16,INT16,INT16,INT16,INT16,
2595 INT16,UINT16,UINT16,LPCVOID,const BITMAPINFO*,UINT16);
2596 INT WINAPI SetDIBitsToDevice(HDC,INT,INT,DWORD,DWORD,INT,
2597 INT,UINT,UINT,LPCVOID,const BITMAPINFO*,UINT);
2598 INT16 WINAPI SetMapMode16(HDC16,INT16);
2599 INT WINAPI SetMapMode(HDC,INT);
2600 DWORD WINAPI SetMapperFlags16(HDC16,DWORD);
2601 DWORD WINAPI SetMapperFlags(HDC,DWORD);
2602 UINT16 WINAPI SetPaletteEntries16(HPALETTE16,UINT16,UINT16,LPPALETTEENTRY);
2603 UINT WINAPI SetPaletteEntries(HPALETTE,UINT,UINT,LPPALETTEENTRY);
2604 COLORREF WINAPI SetPixel16(HDC16,INT16,INT16,COLORREF);
2605 COLORREF WINAPI SetPixel(HDC,INT,INT,COLORREF);
2606 BOOL WINAPI SetPixelV(HDC,INT,INT,COLORREF);
2607 BOOL WINAPI SetPixelFormat(HDC,int,const PIXELFORMATDESCRIPTOR*);
2608 INT16 WINAPI SetPolyFillMode16(HDC16,INT16);
2609 INT WINAPI SetPolyFillMode(HDC,INT);
2610 VOID WINAPI SetRectRgn16(HRGN16,INT16,INT16,INT16,INT16);
2611 VOID WINAPI SetRectRgn(HRGN,INT,INT,INT,INT);
2612 INT16 WINAPI SetRelAbs16(HDC16,INT16);
2613 INT WINAPI SetRelAbs(HDC,INT);
2614 INT16 WINAPI SetROP216(HDC16,INT16);
2615 INT WINAPI SetROP2(HDC,INT);
2616 INT16 WINAPI SetStretchBltMode16(HDC16,INT16);
2617 INT WINAPI SetStretchBltMode(HDC,INT);
2618 UINT16 WINAPI SetSystemPaletteUse16(HDC16,UINT16);
2619 UINT WINAPI SetSystemPaletteUse(HDC,UINT);
2620 UINT16 WINAPI SetTextAlign16(HDC16,UINT16);
2621 UINT WINAPI SetTextAlign(HDC,UINT);
2622 INT16 WINAPI SetTextCharacterExtra16(HDC16,INT16);
2623 INT WINAPI SetTextCharacterExtra(HDC,INT);
2624 COLORREF WINAPI SetTextColor16(HDC16,COLORREF);
2625 COLORREF WINAPI SetTextColor(HDC,COLORREF);
2626 INT16 WINAPI SetTextJustification16(HDC16,INT16,INT16);
2627 BOOL WINAPI SetTextJustification(HDC,INT,INT);
2628 BOOL16 WINAPI SetViewportExtEx16(HDC16,INT16,INT16,LPSIZE16);
2629 BOOL WINAPI SetViewportExtEx(HDC,INT,INT,LPSIZE);
2630 BOOL16 WINAPI SetViewportOrgEx16(HDC16,INT16,INT16,LPPOINT16);
2631 BOOL WINAPI SetViewportOrgEx(HDC,INT,INT,LPPOINT);
2632 BOOL16 WINAPI SetWindowExtEx16(HDC16,INT16,INT16,LPSIZE16);
2633 BOOL WINAPI SetWindowExtEx(HDC,INT,INT,LPSIZE);
2634 BOOL16 WINAPI SetWindowOrgEx16(HDC16,INT16,INT16,LPPOINT16);
2635 BOOL WINAPI SetWindowOrgEx(HDC,INT,INT,LPPOINT);
2636 HENHMETAFILE WINAPI SetWinMetaFileBits(UINT,CONST BYTE*,HDC,CONST METAFILEPICT *);
2637 INT16 WINAPI StartDoc16(HDC16,const DOCINFO16*);
2638 INT WINAPI StartDocA(HDC,const DOCINFOA*);
2639 INT WINAPI StartDocW(HDC,const DOCINFOW*);
2640 #define StartDoc WINELIB_NAME_AW(StartDoc)
2641 INT16 WINAPI StartPage16(HDC16);
2642 INT WINAPI StartPage(HDC);
2643 INT16 WINAPI EndPage16(HDC16);
2644 INT WINAPI EndPage(HDC);
2645 BOOL16 WINAPI StretchBlt16(HDC16,INT16,INT16,INT16,INT16,HDC16,INT16,
2646 INT16,INT16,INT16,DWORD);
2647 BOOL WINAPI StretchBlt(HDC,INT,INT,INT,INT,HDC,INT,
2648 INT,INT,INT,DWORD);
2649 INT16 WINAPI StretchDIBits16(HDC16,INT16,INT16,INT16,INT16,INT16,INT16,
2650 INT16,INT16,const VOID*,const BITMAPINFO*,UINT16,DWORD);
2651 INT WINAPI StretchDIBits(HDC,INT,INT,INT,INT,INT,INT,
2652 INT,INT,const VOID*,const BITMAPINFO*,UINT,DWORD);
2653 BOOL16 WINAPI StrokeAndFillPath16(HDC16);
2654 BOOL WINAPI StrokeAndFillPath(HDC);
2655 BOOL16 WINAPI StrokePath16(HDC16);
2656 BOOL WINAPI StrokePath(HDC);
2657 BOOL WINAPI SwapBuffers(HDC);
2658 BOOL16 WINAPI TextOut16(HDC16,INT16,INT16,LPCSTR,INT16);
2659 BOOL WINAPI TextOutA(HDC,INT,INT,LPCSTR,INT);
2660 BOOL WINAPI TextOutW(HDC,INT,INT,LPCWSTR,INT);
2661 #define TextOut WINELIB_NAME_AW(TextOut)
2662 BOOL16 WINAPI UnrealizeObject16(HGDIOBJ16);
2663 BOOL WINAPI UnrealizeObject(HGDIOBJ);
2664 INT16 WINAPI UpdateColors16(HDC16);
2665 BOOL WINAPI UpdateColors(HDC);
2666 BOOL16 WINAPI WidenPath16(HDC16);
2667 BOOL WINAPI WidenPath(HDC);
2669 #endif /* __WINE_WINGDI_H */