libwine: Added a wine_call_on_stack function.
[wine] / include / wine / wingdi16.h
1 /*
2  * Copyright (C) the Wine project
3  *
4  * This library is free software; you can redistribute it and/or
5  * modify it under the terms of the GNU Lesser General Public
6  * License as published by the Free Software Foundation; either
7  * version 2.1 of the License, or (at your option) any later version.
8  *
9  * This library is distributed in the hope that it will be useful,
10  * but WITHOUT ANY WARRANTY; without even the implied warranty of
11  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
12  * Lesser General Public License for more details.
13  *
14  * You should have received a copy of the GNU Lesser General Public
15  * License along with this library; if not, write to the Free Software
16  * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
17  */
18
19 #ifndef __WINE_WINE_WINGDI16_H
20 #define __WINE_WINE_WINGDI16_H
21
22 #include <stdarg.h>
23 #include <windef.h>
24 #include <winbase.h>
25 #include <wingdi.h>
26 #include <wine/winbase16.h>
27
28 #include <pshpack1.h>
29
30 typedef HANDLE16 HPQ16;
31 typedef HANDLE16 HPJOB16;
32
33 typedef struct
34 {
35     WORD   wFirst;
36     WORD   wSecond;
37     INT16  iKernAmount;
38 } KERNINGPAIR16, *LPKERNINGPAIR16;
39
40 typedef struct
41 {
42     INT16  bmType;
43     INT16  bmWidth;
44     INT16  bmHeight;
45     INT16  bmWidthBytes;
46     BYTE   bmPlanes;
47     BYTE   bmBitsPixel;
48     SEGPTR bmBits;
49 } BITMAP16, *LPBITMAP16;
50
51 typedef struct
52 {
53     UINT16     lbStyle;
54     COLORREF   lbColor;
55     INT16      lbHatch;
56 } LOGBRUSH16, *LPLOGBRUSH16;
57
58 typedef struct
59 {
60     INT16  lfHeight;
61     INT16  lfWidth;
62     INT16  lfEscapement;
63     INT16  lfOrientation;
64     INT16  lfWeight;
65     BYTE   lfItalic;
66     BYTE   lfUnderline;
67     BYTE   lfStrikeOut;
68     BYTE   lfCharSet;
69     BYTE   lfOutPrecision;
70     BYTE   lfClipPrecision;
71     BYTE   lfQuality;
72     BYTE   lfPitchAndFamily;
73     CHAR   lfFaceName[LF_FACESIZE];
74 } LOGFONT16, *LPLOGFONT16;
75
76 typedef struct
77 {
78   LOGFONT16  elfLogFont;
79   BYTE       elfFullName[LF_FULLFACESIZE];
80   BYTE       elfStyle[LF_FACESIZE];
81 } ENUMLOGFONT16, *LPENUMLOGFONT16;
82
83 typedef struct
84 {
85   LOGFONT16  elfLogFont;
86   BYTE       elfFullName[LF_FULLFACESIZE];
87   BYTE       elfStyle[LF_FACESIZE];
88   BYTE       elfScript[LF_FACESIZE];
89 } ENUMLOGFONTEX16, *LPENUMLOGFONTEX16;
90
91 typedef struct
92 {
93     INT16  txfHeight;
94     INT16  txfWidth;
95     INT16  txfEscapement;
96     INT16  txfOrientation;
97     INT16  txfWeight;
98     CHAR   txfItalic;
99     CHAR   txfUnderline;
100     CHAR   txfStrikeOut;
101     CHAR   txfOutPrecision;
102     CHAR   txfClipPrecision;
103     INT16  txfAccelerator;
104     INT16  txfOverhang;
105 } TEXTXFORM16, *LPTEXTXFORM16;
106
107 typedef struct
108 {
109     INT16 dfType;
110     INT16 dfPoints;
111     INT16 dfVertRes;
112     INT16 dfHorizRes;
113     INT16 dfAscent;
114     INT16 dfInternalLeading;
115     INT16 dfExternalLeading;
116     CHAR  dfItalic;
117     CHAR  dfUnderline;
118     CHAR  dfStrikeOut;
119     INT16 dfWeight;
120     BYTE  dfCharSet;
121     INT16 dfPixWidth;
122     INT16 dfPixHeight;
123     CHAR  dfPitchAndFamily;
124     INT16 dfAvgWidth;
125     INT16 dfMaxWidth;
126     CHAR  dfFirstChar;
127     CHAR  dfLastChar;
128     CHAR  dfDefaultChar;
129     CHAR  dfBreakChar;
130     INT16 dfWidthBytes;
131     LONG  dfDevice;
132     LONG  dfFace;
133     LONG  dfBitsPointer;
134     LONG  dfBitsOffset;
135     CHAR  dfReserved;
136     /* Fields, introduced for Windows 3.x fonts */
137     LONG  dfFlags;
138     INT16 dfAspace;
139     INT16 dfBspace;
140     INT16 dfCspace;
141     LONG  dfColorPointer;
142     LONG  dfReserved1[4];
143 } FONTINFO16, *LPFONTINFO16;
144
145 typedef struct {
146     WORD   dfVersion;
147     DWORD  dfSize;
148     CHAR   dfCopyright[60];
149     WORD   dfType;
150     WORD   dfPoints;
151     WORD   dfVertRes;
152     WORD   dfHorizRes;
153     WORD   dfAscent;
154     WORD   dfInternalLeading;
155     WORD   dfExternalLeading;
156     BYTE   dfItalic;
157     BYTE   dfUnderline;
158     BYTE   dfStrikeOut;
159     WORD   dfWeight;
160     BYTE   dfCharSet;
161     WORD   dfPixWidth;
162     WORD   dfPixHeight;
163     BYTE   dfPitchAndFamily;
164     WORD   dfAvgWidth;
165     WORD   dfMaxWidth;
166     BYTE   dfFirstChar;
167     BYTE   dfLastChar;
168     BYTE   dfDefaultChar;
169     BYTE   dfBreakChar;
170     WORD   dfWidthBytes;
171     DWORD  dfDevice;
172     DWORD  dfFace;
173     DWORD  dfReserved;
174     CHAR   szDeviceName[60]; /* FIXME: length unknown */
175     CHAR   szFaceName[60];   /* ditto */
176 } FONTDIR16, *LPFONTDIR16;
177
178 typedef struct
179 {
180     INT16     tmHeight;
181     INT16     tmAscent;
182     INT16     tmDescent;
183     INT16     tmInternalLeading;
184     INT16     tmExternalLeading;
185     INT16     tmAveCharWidth;
186     INT16     tmMaxCharWidth;
187     INT16     tmWeight;
188     BYTE      tmItalic;
189     BYTE      tmUnderlined;
190     BYTE      tmStruckOut;
191     BYTE      tmFirstChar;
192     BYTE      tmLastChar;
193     BYTE      tmDefaultChar;
194     BYTE      tmBreakChar;
195     BYTE      tmPitchAndFamily;
196     BYTE      tmCharSet;
197     INT16     tmOverhang;
198     INT16     tmDigitizedAspectX;
199     INT16     tmDigitizedAspectY;
200 } TEXTMETRIC16, *LPTEXTMETRIC16;
201
202 typedef struct _OUTLINETEXTMETRIC16
203 {
204     UINT16          otmSize;
205     TEXTMETRIC16    otmTextMetrics;
206     BYTE            otmFiller;
207     PANOSE          otmPanoseNumber;
208     UINT16          otmfsSelection;
209     UINT16          otmfsType;
210     INT16           otmsCharSlopeRise;
211     INT16           otmsCharSlopeRun;
212     INT16           otmItalicAngle;
213     UINT16          otmEMSquare;
214     INT16           otmAscent;
215     INT16           otmDescent;
216     UINT16          otmLineGap;
217     UINT16          otmsCapEmHeight;
218     UINT16          otmsXHeight;
219     RECT16          otmrcFontBox;
220     INT16           otmMacAscent;
221     INT16           otmMacDescent;
222     UINT16          otmMacLineGap;
223     UINT16          otmusMinimumPPEM;
224     POINT16         otmptSubscriptSize;
225     POINT16         otmptSubscriptOffset;
226     POINT16         otmptSuperscriptSize;
227     POINT16         otmptSuperscriptOffset;
228     UINT16          otmsStrikeoutSize;
229     INT16           otmsStrikeoutPosition;
230     INT16           otmsUnderscoreSize;
231     INT           otmsUnderscorePosition;
232     LPSTR           otmpFamilyName;
233     LPSTR           otmpFaceName;
234     LPSTR           otmpStyleName;
235     LPSTR           otmpFullName;
236 } OUTLINETEXTMETRIC16,*LPOUTLINETEXTMETRIC16;
237
238 typedef struct
239 {
240     INT16     tmHeight;
241     INT16     tmAscent;
242     INT16     tmDescent;
243     INT16     tmInternalLeading;
244     INT16     tmExternalLeading;
245     INT16     tmAveCharWidth;
246     INT16     tmMaxCharWidth;
247     INT16     tmWeight;
248     BYTE      tmItalic;
249     BYTE      tmUnderlined;
250     BYTE      tmStruckOut;
251     BYTE      tmFirstChar;
252     BYTE      tmLastChar;
253     BYTE      tmDefaultChar;
254     BYTE      tmBreakChar;
255     BYTE      tmPitchAndFamily;
256     BYTE      tmCharSet;
257     INT16     tmOverhang;
258     INT16     tmDigitizedAspectX;
259     INT16     tmDigitizedAspectY;
260     DWORD     ntmFlags;
261     UINT16    ntmSizeEM;
262     UINT16    ntmCellHeight;
263     UINT16    ntmAvgWidth;
264 } NEWTEXTMETRIC16,*LPNEWTEXTMETRIC16;
265
266 typedef struct
267 {
268     NEWTEXTMETRIC16     ntmTm;
269     FONTSIGNATURE       ntmFontSig;
270 } NEWTEXTMETRICEX16,*LPNEWTEXTMETRICEX16;
271
272 typedef INT16 (CALLBACK *FONTENUMPROC16)(SEGPTR,SEGPTR,UINT16,LPARAM);
273 typedef VOID  (CALLBACK *LINEDDAPROC16)(INT16,INT16,LPARAM);
274 typedef INT16 (CALLBACK *GOBJENUMPROC16)(SEGPTR,LPARAM);
275
276
277 typedef struct
278 {
279     UINT16      gmBlackBoxX;
280     UINT16      gmBlackBoxY;
281     POINT16     gmptGlyphOrigin;
282     INT16       gmCellIncX;
283     INT16       gmCellIncY;
284 } GLYPHMETRICS16, *LPGLYPHMETRICS16;
285
286 typedef struct
287 {
288     INT16   abcA;
289     UINT16  abcB;
290     INT16   abcC;
291 } ABC16, *LPABC16;
292
293 typedef struct
294 {
295     UINT16   lopnStyle;
296     POINT16  lopnWidth;
297     COLORREF lopnColor;
298 } LOGPEN16, *LPLOGPEN16;
299
300 typedef struct
301 {
302     HGDIOBJ16 objectHandle[1];
303 } HANDLETABLE16, *LPHANDLETABLE16;
304
305 typedef struct
306 {
307     INT16        mm;
308     INT16        xExt;
309     INT16        yExt;
310     HMETAFILE16  hMF;
311 } METAFILEPICT16, *LPMETAFILEPICT16;
312
313 typedef INT16 (CALLBACK *MFENUMPROC16)(HDC16,HANDLETABLE16*,METARECORD*,
314                                        INT16,LPARAM);
315 typedef struct
316 {
317     INT16    cbSize;
318     SEGPTR   lpszDocName;
319     SEGPTR   lpszOutput;
320     SEGPTR   lpszDatatype;
321     DWORD    fwType;
322 } DOCINFO16, *LPDOCINFO16;
323
324 typedef BOOL16 (CALLBACK *ABORTPROC16)(HDC16, INT16);
325
326 #define INT_PD_DEFAULT_DEVMODE  1
327 #define INT_PD_DEFAULT_MODEL    2
328
329 /* Escape: CLIP_TO_PATH modes */
330 #define CLIP_SAVE 0
331 #define CLIP_RESTORE 1
332 #define CLIP_INCLUSIVE 2
333 #define CLIP_EXCLUSIVE 3
334
335 /* Escape: END_PATH info */
336 struct PATH_INFO {
337     short RenderMode;
338     BYTE FillMode;
339     BYTE BkMode;
340     LOGPEN16 Pen;
341     LOGBRUSH16 Brush;
342     DWORD BkColor;
343 };
344
345 /* RenderMode */
346 #define RENDERMODE_NO_DISPLAY 0
347 #define RENDERMODE_OPEN 1
348 #define RENDERMODE_CLOSED 2
349
350 /* For DRAWPATTERNRECT Escape, 16bit mode */
351 typedef struct _DRAWPATRECT16
352 {
353     POINT16     ptPosition;
354     POINT16     ptSize;
355     WORD        wStyle;
356     WORD        wPattern;
357 } DRAWPATRECT16, *PDRAWPATRECT16;
358
359 #include <poppack.h>
360
361
362 INT16       WINAPI AbortDoc16(HDC16);
363 BOOL16      WINAPI AbortPath16(HDC16);
364 INT16       WINAPI AddFontResource16(LPCSTR);
365 void        WINAPI AnimatePalette16(HPALETTE16,UINT16,UINT16,const PALETTEENTRY*);
366 BOOL16      WINAPI Arc16(HDC16,INT16,INT16,INT16,INT16,INT16,INT16,INT16,INT16);
367 BOOL16      WINAPI BeginPath16(HDC16);
368 BOOL16      WINAPI BitBlt16(HDC16,INT16,INT16,INT16,INT16,HDC16,INT16,INT16,DWORD);
369 BOOL16      WINAPI Chord16(HDC16,INT16,INT16,INT16,INT16,INT16,INT16,INT16,INT16);
370 BOOL16      WINAPI CloseFigure16(HDC16);
371 INT16       WINAPI CloseJob16(HPJOB16);
372 HMETAFILE16 WINAPI CloseMetaFile16(HDC16);
373 INT16       WINAPI CombineRgn16(HRGN16,HRGN16,HRGN16,INT16);
374 HMETAFILE16 WINAPI CopyMetaFile16(HMETAFILE16,LPCSTR);
375 HBITMAP16   WINAPI CreateBitmap16(INT16,INT16,UINT16,UINT16,LPCVOID);
376 HBITMAP16   WINAPI CreateBitmapIndirect16(const BITMAP16*);
377 HBRUSH16    WINAPI CreateBrushIndirect16(const LOGBRUSH16*);
378 HBITMAP16   WINAPI CreateCompatibleBitmap16(HDC16,INT16,INT16);
379 HDC16       WINAPI CreateCompatibleDC16(HDC16);
380 HDC16       WINAPI CreateDC16(LPCSTR,LPCSTR,LPCSTR,const DEVMODEA*);
381 HBITMAP16   WINAPI CreateDIBitmap16(HDC16,const BITMAPINFOHEADER*,DWORD,
382                                     LPCVOID,const BITMAPINFO*,UINT16);
383 HBRUSH16    WINAPI CreateDIBPatternBrush16(HGLOBAL16,UINT16);
384 HBITMAP16   WINAPI CreateDIBSection16 (HDC16, const BITMAPINFO *, UINT16,
385                                        SEGPTR *, HANDLE, DWORD offset);
386 HBITMAP16   WINAPI CreateDiscardableBitmap16(HDC16,INT16,INT16);
387 HRGN16      WINAPI CreateEllipticRgn16(INT16,INT16,INT16,INT16);
388 HRGN16      WINAPI CreateEllipticRgnIndirect16(const RECT16 *);
389 HFONT16     WINAPI CreateFont16(INT16,INT16,INT16,INT16,INT16,BYTE,BYTE,BYTE,
390                                 BYTE,BYTE,BYTE,BYTE,BYTE,LPCSTR);
391 HFONT16     WINAPI CreateFontIndirect16(const LOGFONT16*);
392 HPALETTE16  WINAPI CreateHalftonePalette16(HDC16);
393 HBRUSH16    WINAPI CreateHatchBrush16(INT16,COLORREF);
394 HDC16       WINAPI CreateIC16(LPCSTR,LPCSTR,LPCSTR,const DEVMODEA*);
395 HDC16       WINAPI CreateMetaFile16(LPCSTR);
396 HPALETTE16  WINAPI CreatePalette16(const LOGPALETTE*);
397 HBRUSH16    WINAPI CreatePatternBrush16(HBITMAP16);
398 HPEN16      WINAPI CreatePen16(INT16,INT16,COLORREF);
399 HPEN16      WINAPI CreatePenIndirect16(const LOGPEN16*);
400 HRGN16      WINAPI CreatePolyPolygonRgn16(const POINT16*,const INT16*,INT16,INT16);
401 HRGN16      WINAPI CreatePolygonRgn16(const POINT16*,INT16,INT16);
402 HRGN16      WINAPI CreateRectRgn16(INT16,INT16,INT16,INT16);
403 HRGN16      WINAPI CreateRectRgnIndirect16(const RECT16*);
404 HRGN16      WINAPI CreateRoundRectRgn16(INT16,INT16,INT16,INT16,INT16,INT16);
405 BOOL16      WINAPI CreateScalableFontResource16(UINT16,LPCSTR,LPCSTR,LPCSTR);
406 HBRUSH16    WINAPI CreateSolidBrush16(COLORREF);
407 VOID        WINAPI Death16(HDC16);
408 BOOL16      WINAPI DeleteDC16(HDC16);
409 INT16       WINAPI DeleteJob16(HPJOB16,INT16);
410 BOOL16      WINAPI DeleteMetaFile16(HMETAFILE16);
411 BOOL16      WINAPI DeleteObject16(HGDIOBJ16);
412 BOOL16      WINAPI DPtoLP16(HDC16,LPPOINT16,INT16);
413 DWORD       WINAPI DrvGetPrinterData16(LPSTR,LPSTR,LPDWORD,LPBYTE,int cbData,LPDWORD);
414 DWORD       WINAPI DrvSetPrinterData16(LPSTR,LPSTR,DWORD,LPBYTE,DWORD);
415 BOOL16      WINAPI Ellipse16(HDC16,INT16,INT16,INT16,INT16);
416 INT16       WINAPI EndDoc16(HDC16);
417 INT16       WINAPI EndPage16(HDC16);
418 BOOL16      WINAPI EndPath16(HDC16);
419 INT16       WINAPI EndSpoolPage16(HPJOB16);
420 INT16       WINAPI EnumFontFamilies16(HDC16,LPCSTR,FONTENUMPROC16,LPARAM);
421 INT16       WINAPI EnumFontFamiliesEx16(HDC16,LPLOGFONT16,FONTENUMPROC16,LPARAM,DWORD);
422 INT16       WINAPI EnumFonts16(HDC16,LPCSTR,FONTENUMPROC16,LPARAM);
423 BOOL16      WINAPI EnumMetaFile16(HDC16,HMETAFILE16,MFENUMPROC16,LPARAM);
424 INT16       WINAPI EnumObjects16(HDC16,INT16,GOBJENUMPROC16,LPARAM);
425 BOOL16      WINAPI EqualRgn16(HRGN16,HRGN16);
426 INT16       WINAPI Escape16(HDC16,INT16,INT16,SEGPTR,LPVOID);
427 INT16       WINAPI ExcludeClipRect16(HDC16,INT16,INT16,INT16,INT16);
428 INT16       WINAPI ExcludeVisRect16(HDC16,INT16,INT16,INT16,INT16);
429 HPEN16      WINAPI ExtCreatePen16(DWORD,DWORD,const LOGBRUSH16*,DWORD,const DWORD*);
430 BOOL16      WINAPI ExtFloodFill16(HDC16,INT16,INT16,COLORREF,UINT16);
431 BOOL16      WINAPI ExtTextOut16(HDC16,INT16,INT16,UINT16,const RECT16*,
432                                 LPCSTR,UINT16,const INT16*);
433 BOOL16      WINAPI FastWindowFrame16(HDC16,const RECT16*,INT16,INT16,DWORD);
434 BOOL16      WINAPI FillPath16(HDC16);
435 BOOL16      WINAPI FillRgn16(HDC16,HRGN16,HBRUSH16);
436 BOOL16      WINAPI FlattenPath16(HDC16);
437 BOOL16      WINAPI FloodFill16(HDC16,INT16,INT16,COLORREF);
438 BOOL16      WINAPI FrameRgn16(HDC16,HRGN16,HBRUSH16,INT16,INT16);
439 UINT16      WINAPI GDIRealizePalette16(HDC16);
440 DWORD       WINAPI GdiSeeGdiDo16(WORD,WORD,WORD,WORD);
441 HPALETTE16  WINAPI GDISelectPalette16(HDC16,HPALETTE16,WORD);
442 INT16       WINAPI GetArcDirection16(HDC16);
443 BOOL16      WINAPI GetAspectRatioFilterEx16(HDC16,LPSIZE16);
444 LONG        WINAPI GetBitmapBits16(HBITMAP16,LONG,LPVOID);
445 DWORD       WINAPI GetBitmapDimension16(HBITMAP16);
446 BOOL16      WINAPI GetBitmapDimensionEx16(HBITMAP16,LPSIZE16);
447 DWORD       WINAPI GetBrushOrg16(HDC16);
448 BOOL16      WINAPI GetBrushOrgEx16(HDC16,LPPOINT16);
449 COLORREF    WINAPI GetBkColor16(HDC16);
450 INT16       WINAPI GetBkMode16(HDC16);
451 UINT16      WINAPI GetBoundsRect16(HDC16,LPRECT16,UINT16);
452 BOOL16      WINAPI GetCharABCWidths16(HDC16,UINT16,UINT16,LPABC16);
453 BOOL16      WINAPI GetCharWidth16(HDC16,UINT16,UINT16,LPINT16);
454 INT16       WINAPI GetClipBox16(HDC16,LPRECT16);
455 HRGN16      WINAPI GetClipRgn16(HDC16);
456 HFONT16     WINAPI GetCurLogFont16(HDC16);
457 DWORD       WINAPI GetCurrentPosition16(HDC16);
458 BOOL16      WINAPI GetCurrentPositionEx16(HDC16,LPPOINT16);
459 DWORD       WINAPI GetDCHook16(HDC16,FARPROC16*);
460 DWORD       WINAPI GetDCOrg16(HDC16);
461 HDC16       WINAPI GetDCState16(HDC16);
462 INT16       WINAPI GetDeviceCaps16(HDC16,INT16);
463 UINT16      WINAPI GetDIBColorTable16(HDC16,UINT16,UINT16,RGBQUAD*);
464 INT16       WINAPI GetDIBits16(HDC16,HBITMAP16,UINT16,UINT16,LPVOID,LPBITMAPINFO,UINT16);
465 INT16       WINAPI GetEnvironment16(LPCSTR,LPDEVMODEA,UINT16);
466 DWORD       WINAPI GetFontData16(HDC16,DWORD,DWORD,LPVOID,DWORD);
467 DWORD       WINAPI GetFontLanguageInfo16(HDC16);
468 DWORD       WINAPI GetGlyphOutline16(HDC16,UINT16,UINT16,LPGLYPHMETRICS16,DWORD,LPVOID,const MAT2*);
469 INT16       WINAPI GetKerningPairs16(HDC16,INT16,LPKERNINGPAIR16);
470 INT16       WINAPI GetMapMode16(HDC16);
471 HMETAFILE16 WINAPI GetMetaFile16(LPCSTR);
472 HGLOBAL16   WINAPI GetMetaFileBits16(HMETAFILE16);
473 DWORD       WINAPI GetNearestColor16(HDC16,DWORD);
474 UINT16      WINAPI GetNearestPaletteIndex16(HPALETTE16,COLORREF);
475 INT16       WINAPI GetObject16(HANDLE16,INT16,LPVOID);
476 UINT16      WINAPI GetOutlineTextMetrics16(HDC16,UINT16,LPOUTLINETEXTMETRIC16);
477 UINT16      WINAPI GetPaletteEntries16(HPALETTE16,UINT16,UINT16,LPPALETTEENTRY);
478 INT16       WINAPI GetPath16(HDC16,LPPOINT16,LPBYTE,INT16);
479 COLORREF    WINAPI GetPixel16(HDC16,INT16,INT16);
480 INT16       WINAPI GetPolyFillMode16(HDC16);
481 BOOL16      WINAPI GetRasterizerCaps16(LPRASTERIZER_STATUS,UINT16);
482 DWORD       WINAPI GetRegionData16(HRGN16,DWORD,LPRGNDATA);
483 INT16       WINAPI GetRelAbs16(HDC16);
484 INT16       WINAPI GetRgnBox16(HRGN16,LPRECT16);
485 INT16       WINAPI GetROP216(HDC16);
486 DWORD       WINAPI GetSpoolJob16(int,LONG);
487 HGDIOBJ16   WINAPI GetStockObject16(INT16);
488 INT16       WINAPI GetStretchBltMode16(HDC16);
489 UINT16      WINAPI GetSystemPaletteEntries16(HDC16,UINT16,UINT16,LPPALETTEENTRY);
490 UINT16      WINAPI GetSystemPaletteUse16(HDC16);
491 UINT16      WINAPI GetTextAlign16(HDC16);
492 INT16       WINAPI GetTextCharacterExtra16(HDC16);
493 UINT16      WINAPI GetTextCharset16(HDC16);
494 COLORREF    WINAPI GetTextColor16(HDC16);
495 DWORD       WINAPI GetTextExtent16(HDC16,LPCSTR,INT16);
496 BOOL16      WINAPI GetTextExtentPoint16(HDC16,LPCSTR,INT16,LPSIZE16);
497 INT16       WINAPI GetTextFace16(HDC16,INT16,LPSTR);
498 BOOL16      WINAPI GetTextMetrics16(HDC16,LPTEXTMETRIC16);
499 DWORD       WINAPI GetViewportExt16(HDC16);
500 BOOL16      WINAPI GetViewportExtEx16(HDC16,LPSIZE16);
501 BOOL16      WINAPI GetViewportOrgEx16(HDC16,LPPOINT16);
502 DWORD       WINAPI GetViewportOrg16(HDC16);
503 DWORD       WINAPI GetWindowExt16(HDC16);
504 DWORD       WINAPI GetWindowOrg16(HDC16);
505 BOOL16      WINAPI GetWindowExtEx16(HDC16,LPSIZE16);
506 BOOL16      WINAPI GetWindowOrgEx16(HDC16,LPPOINT16);
507 HRGN16      WINAPI InquireVisRgn16(HDC16);
508 INT16       WINAPI IntersectClipRect16(HDC16,INT16,INT16,INT16,INT16);
509 INT16       WINAPI IntersectVisRect16(HDC16,INT16,INT16,INT16,INT16);
510 BOOL16      WINAPI InvertRgn16(HDC16,HRGN16);
511 BOOL16      WINAPI IsDCCurrentPalette16(HDC16);
512 BOOL16      WINAPI IsGDIObject16(HGDIOBJ16);
513 BOOL16      WINAPI IsValidMetaFile16(HMETAFILE16);
514 VOID        WINAPI LineDDA16(INT16,INT16,INT16,INT16,LINEDDAPROC16,LPARAM);
515 BOOL16      WINAPI LineTo16(HDC16,INT16,INT16);
516 BOOL16      WINAPI LPtoDP16(HDC16,LPPOINT16,INT16);
517 DWORD       WINAPI MoveTo16(HDC16,INT16,INT16);
518 BOOL16      WINAPI MoveToEx16(HDC16,INT16,INT16,LPPOINT16);
519 INT16       WINAPI MulDiv16(INT16,INT16,INT16);
520 INT16       WINAPI OffsetClipRgn16(HDC16,INT16,INT16);
521 INT16       WINAPI OffsetRgn16(HRGN16,INT16,INT16);
522 DWORD       WINAPI OffsetViewportOrg16(HDC16,INT16,INT16);
523 BOOL16      WINAPI OffsetViewportOrgEx16(HDC16,INT16,INT16,LPPOINT16);
524 INT16       WINAPI OffsetVisRgn16(HDC16,INT16,INT16);
525 DWORD       WINAPI OffsetWindowOrg16(HDC16,INT16,INT16);
526 BOOL16      WINAPI OffsetWindowOrgEx16(HDC16,INT16,INT16,LPPOINT16);
527 HANDLE16    WINAPI OpenJob16(LPCSTR,LPCSTR,HDC16);
528 BOOL16      WINAPI PaintRgn16(HDC16,HRGN16);
529 BOOL16      WINAPI PatBlt16(HDC16,INT16,INT16,INT16,INT16,DWORD);
530 HRGN16      WINAPI PathToRegion16(HDC16);
531 BOOL16      WINAPI Pie16(HDC16,INT16,INT16,INT16,INT16,INT16,INT16,INT16,INT16);
532 BOOL16      WINAPI PlayMetaFile16(HDC16,HMETAFILE16);
533 VOID        WINAPI PlayMetaFileRecord16(HDC16,LPHANDLETABLE16,LPMETARECORD,UINT16);
534 BOOL16      WINAPI PolyBezier16(HDC16,const POINT16*,INT16);
535 BOOL16      WINAPI PolyBezierTo16(HDC16,const POINT16*,INT16);
536 BOOL16      WINAPI PolyPolygon16(HDC16,const POINT16*,const INT16*,UINT16);
537 BOOL16      WINAPI Polygon16(HDC16,const POINT16*,INT16);
538 BOOL16      WINAPI Polyline16(HDC16,const POINT16*,INT16);
539 BOOL16      WINAPI PtInRegion16(HRGN16,INT16,INT16);
540 BOOL16      WINAPI PtVisible16(HDC16,INT16,INT16);
541 BOOL16      WINAPI QueryAbort16(HDC16,INT16);
542 UINT16      WINAPI RealizeDefaultPalette16(HDC16);
543 BOOL16      WINAPI Rectangle16(HDC16,INT16,INT16,INT16,INT16);
544 BOOL16      WINAPI RectInRegion16(HRGN16,const RECT16 *);
545 BOOL16      WINAPI RectVisible16(HDC16,const RECT16*);
546 BOOL16      WINAPI RemoveFontResource16(LPCSTR);
547 HDC16       WINAPI ResetDC16(HDC16,const DEVMODEA *);
548 BOOL16      WINAPI ResizePalette16(HPALETTE16,UINT16);
549 BOOL16      WINAPI RestoreDC16(HDC16,INT16);
550 INT16       WINAPI RestoreVisRgn16(HDC16);
551 VOID        WINAPI Resurrection16(HDC16,WORD,WORD,WORD,WORD,WORD,WORD);
552 BOOL16      WINAPI RoundRect16(HDC16,INT16,INT16,INT16,INT16,INT16,INT16);
553 INT16       WINAPI SaveDC16(HDC16);
554 HRGN16      WINAPI SaveVisRgn16(HDC16);
555 DWORD       WINAPI ScaleViewportExt16(HDC16,INT16,INT16,INT16,INT16);
556 BOOL16      WINAPI ScaleViewportExtEx16(HDC16,INT16,INT16,INT16,INT16,LPSIZE16);
557 DWORD       WINAPI ScaleWindowExt16(HDC16,INT16,INT16,INT16,INT16);
558 BOOL16      WINAPI ScaleWindowExtEx16(HDC16,INT16,INT16,INT16,INT16,LPSIZE16);
559 BOOL16      WINAPI SelectClipPath16(HDC16,INT16);
560 INT16       WINAPI SelectClipRgn16(HDC16,HRGN16);
561 HGDIOBJ16   WINAPI SelectObject16(HDC16,HGDIOBJ16);
562 INT16       WINAPI SelectVisRgn16(HDC16,HRGN16);
563 INT16       WINAPI SetAbortProc16(HDC16,ABORTPROC16);
564 INT16       WINAPI SetArcDirection16(HDC16,INT16);
565 LONG        WINAPI SetBitmapBits16(HBITMAP16,LONG,LPCVOID);
566 DWORD       WINAPI SetBitmapDimension16(HBITMAP16,INT16,INT16);
567 BOOL16      WINAPI SetBitmapDimensionEx16(HBITMAP16,INT16,INT16,LPSIZE16);
568 COLORREF    WINAPI SetBkColor16(HDC16,COLORREF);
569 INT16       WINAPI SetBkMode16(HDC16,INT16);
570 UINT16      WINAPI SetBoundsRect16(HDC16,const RECT16*,UINT16);
571 DWORD       WINAPI SetBrushOrg16(HDC16,INT16,INT16);
572 BOOL16      WINAPI SetDCHook16(HDC16,FARPROC16,DWORD);
573 DWORD       WINAPI SetDCOrg16(HDC16,INT16,INT16);
574 VOID        WINAPI SetDCState16(HDC16,HDC16);
575 UINT16      WINAPI SetDIBColorTable16(HDC16,UINT16,UINT16,RGBQUAD*);
576 INT16       WINAPI SetDIBits16(HDC16,HBITMAP16,UINT16,UINT16,LPCVOID,const BITMAPINFO*,UINT16);
577 INT16       WINAPI SetDIBitsToDevice16(HDC16,INT16,INT16,INT16,INT16,INT16,
578                          INT16,UINT16,UINT16,LPCVOID,const BITMAPINFO*,UINT16);
579 INT16       WINAPI SetEnvironment16(LPCSTR,LPDEVMODEA,UINT16);
580 WORD        WINAPI SetHookFlags16(HDC16,WORD);
581 INT16       WINAPI SetMapMode16(HDC16,INT16);
582 DWORD       WINAPI SetMapperFlags16(HDC16,DWORD);
583 HMETAFILE16 WINAPI SetMetaFileBits16(HGLOBAL16);
584 UINT16      WINAPI SetPaletteEntries16(HPALETTE16,UINT16,UINT16,const PALETTEENTRY*);
585 COLORREF    WINAPI SetPixel16(HDC16,INT16,INT16,COLORREF);
586 INT16       WINAPI SetPolyFillMode16(HDC16,INT16);
587 VOID        WINAPI SetRectRgn16(HRGN16,INT16,INT16,INT16,INT16);
588 INT16       WINAPI SetRelAbs16(HDC16,INT16);
589 INT16       WINAPI SetROP216(HDC16,INT16);
590 INT16       WINAPI SetStretchBltMode16(HDC16,INT16);
591 UINT16      WINAPI SetSystemPaletteUse16(HDC16,UINT16);
592 UINT16      WINAPI SetTextAlign16(HDC16,UINT16);
593 INT16       WINAPI SetTextCharacterExtra16(HDC16,INT16);
594 COLORREF    WINAPI SetTextColor16(HDC16,COLORREF);
595 INT16       WINAPI SetTextJustification16(HDC16,INT16,INT16);
596 DWORD       WINAPI SetViewportExt16(HDC16,INT16,INT16);
597 BOOL16      WINAPI SetViewportExtEx16(HDC16,INT16,INT16,LPSIZE16);
598 DWORD       WINAPI SetViewportOrg16(HDC16,INT16,INT16);
599 BOOL16      WINAPI SetViewportOrgEx16(HDC16,INT16,INT16,LPPOINT16);
600 DWORD       WINAPI SetWindowExt16(HDC16,INT16,INT16);
601 BOOL16      WINAPI SetWindowExtEx16(HDC16,INT16,INT16,LPSIZE16);
602 DWORD       WINAPI SetWindowOrg16(HDC16,INT16,INT16);
603 BOOL16      WINAPI SetWindowOrgEx16(HDC16,INT16,INT16,LPPOINT16);
604 INT16       WINAPI StartDoc16(HDC16,const DOCINFO16*);
605 INT16       WINAPI StartPage16(HDC16);
606 INT16       WINAPI StartSpoolPage16(HPJOB16);
607 BOOL16      WINAPI StretchBlt16(HDC16,INT16,INT16,INT16,INT16,HDC16,INT16,
608                                 INT16,INT16,INT16,DWORD);
609 INT16       WINAPI StretchDIBits16(HDC16,INT16,INT16,INT16,INT16,INT16,INT16,
610                        INT16,INT16,const VOID*,const BITMAPINFO*,UINT16,DWORD);
611 BOOL16      WINAPI StrokeAndFillPath16(HDC16);
612 BOOL16      WINAPI StrokePath16(HDC16);
613 BOOL16      WINAPI TextOut16(HDC16,INT16,INT16,LPCSTR,INT16);
614 BOOL16      WINAPI UnrealizeObject16(HGDIOBJ16);
615 INT16       WINAPI UpdateColors16(HDC16);
616 BOOL16      WINAPI WidenPath16(HDC16);
617 INT16       WINAPI WriteDialog16(HPJOB16,LPSTR,INT16);
618 INT16       WINAPI WriteSpool16(HPJOB16,LPSTR,INT16);
619
620 #endif /* __WINE_WINE_WINGDI16_H */