Fixed the WINE_NO_STRICT #ifdefs to do the right thing if STRICT is
[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., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
17  */
18
19 #ifndef __WINE_WINE_WINGDI16_H
20 #define __WINE_WINE_WINGDI16_H
21
22 #include "windef.h"
23 #include "wingdi.h"
24 #include "wine/winbase16.h"
25
26 #include "pshpack1.h"
27
28 typedef HANDLE16 HPQ16;
29 typedef HANDLE16 HPJOB16;
30
31 typedef struct
32 {
33     WORD   wFirst;
34     WORD   wSecond;
35     INT16  iKernAmount;
36 } KERNINGPAIR16, *LPKERNINGPAIR16;
37
38 typedef struct
39 {
40     INT16  bmType;
41     INT16  bmWidth;
42     INT16  bmHeight;
43     INT16  bmWidthBytes;
44     BYTE   bmPlanes;
45     BYTE   bmBitsPixel;
46     SEGPTR bmBits;
47 } BITMAP16, *LPBITMAP16;
48
49 typedef struct
50 {
51     UINT16     lbStyle;
52     COLORREF   lbColor;
53     INT16      lbHatch;
54 } LOGBRUSH16, *LPLOGBRUSH16;
55
56 typedef struct
57 {
58     INT16  lfHeight;
59     INT16  lfWidth;
60     INT16  lfEscapement;
61     INT16  lfOrientation;
62     INT16  lfWeight;
63     BYTE   lfItalic;
64     BYTE   lfUnderline;
65     BYTE   lfStrikeOut;
66     BYTE   lfCharSet;
67     BYTE   lfOutPrecision;
68     BYTE   lfClipPrecision;
69     BYTE   lfQuality;
70     BYTE   lfPitchAndFamily;
71     CHAR   lfFaceName[LF_FACESIZE];
72 } LOGFONT16, *LPLOGFONT16;
73
74 typedef struct
75 {
76   LOGFONT16  elfLogFont;
77   BYTE       elfFullName[LF_FULLFACESIZE];
78   BYTE       elfStyle[LF_FACESIZE];
79 } ENUMLOGFONT16, *LPENUMLOGFONT16;
80
81 typedef struct
82 {
83   LOGFONT16  elfLogFont;
84   BYTE       elfFullName[LF_FULLFACESIZE];
85   BYTE       elfStyle[LF_FACESIZE];
86   BYTE       elfScript[LF_FACESIZE];
87 } ENUMLOGFONTEX16, *LPENUMLOGFONTEX16;
88
89 typedef struct
90 {
91     INT16  txfHeight;
92     INT16  txfWidth;
93     INT16  txfEscapement;
94     INT16  txfOrientation;
95     INT16  txfWeight;
96     CHAR   txfItalic;
97     CHAR   txfUnderline;
98     CHAR   txfStrikeOut;
99     CHAR   txfOutPrecision;
100     CHAR   txfClipPrecision;
101     INT16  txfAccelerator;
102     INT16  txfOverhang;
103 } TEXTXFORM16, *LPTEXTXFORM16;
104
105 typedef struct
106 {
107     INT16 dfType;
108     INT16 dfPoints;
109     INT16 dfVertRes;
110     INT16 dfHorizRes;
111     INT16 dfAscent;
112     INT16 dfInternalLeading;
113     INT16 dfExternalLeading;
114     CHAR  dfItalic;
115     CHAR  dfUnderline;
116     CHAR  dfStrikeOut;
117     INT16 dfWeight;
118     BYTE  dfCharSet;
119     INT16 dfPixWidth;
120     INT16 dfPixHeight;
121     CHAR  dfPitchAndFamily;
122     INT16 dfAvgWidth;
123     INT16 dfMaxWidth;
124     CHAR  dfFirstChar;
125     CHAR  dfLastChar;
126     CHAR  dfDefaultChar;
127     CHAR  dfBreakChar;
128     INT16 dfWidthBytes;
129     LONG  dfDevice;
130     LONG  dfFace;
131     LONG  dfBitsPointer;
132     LONG  dfBitsOffset;
133     CHAR  dfReserved;
134     /* Fields, introduced for Windows 3.x fonts */
135     LONG  dfFlags;
136     INT16 dfAspace;
137     INT16 dfBspace;
138     INT16 dfCspace;
139     LONG  dfColorPointer;
140     LONG  dfReserved1[4];
141 } FONTINFO16, *LPFONTINFO16;
142
143 typedef struct {
144     WORD   dfVersion;
145     DWORD  dfSize;
146     CHAR   dfCopyright[60];
147     WORD   dfType;
148     WORD   dfPoints;
149     WORD   dfVertRes;
150     WORD   dfHorizRes;
151     WORD   dfAscent;
152     WORD   dfInternalLeading;
153     WORD   dfExternalLeading;
154     BYTE   dfItalic;
155     BYTE   dfUnderline;
156     BYTE   dfStrikeOut;
157     WORD   dfWeight;
158     BYTE   dfCharSet;
159     WORD   dfPixWidth;
160     WORD   dfPixHeight;
161     BYTE   dfPitchAndFamily;
162     WORD   dfAvgWidth;
163     WORD   dfMaxWidth;
164     BYTE   dfFirstChar;
165     BYTE   dfLastChar;
166     BYTE   dfDefaultChar;
167     BYTE   dfBreakChar;
168     WORD   dfWidthBytes;
169     DWORD  dfDevice;
170     DWORD  dfFace;
171     DWORD  dfReserved;
172     CHAR   szDeviceName[60]; /* FIXME: length unknown */
173     CHAR   szFaceName[60];   /* dito */
174 } FONTDIR16, *LPFONTDIR16;
175
176 typedef struct
177 {
178     INT16     tmHeight;
179     INT16     tmAscent;
180     INT16     tmDescent;
181     INT16     tmInternalLeading;
182     INT16     tmExternalLeading;
183     INT16     tmAveCharWidth;
184     INT16     tmMaxCharWidth;
185     INT16     tmWeight;
186     BYTE      tmItalic;
187     BYTE      tmUnderlined;
188     BYTE      tmStruckOut;
189     BYTE      tmFirstChar;
190     BYTE      tmLastChar;
191     BYTE      tmDefaultChar;
192     BYTE      tmBreakChar;
193     BYTE      tmPitchAndFamily;
194     BYTE      tmCharSet;
195     INT16     tmOverhang;
196     INT16     tmDigitizedAspectX;
197     INT16     tmDigitizedAspectY;
198 } TEXTMETRIC16, *LPTEXTMETRIC16;
199
200 typedef struct _OUTLINETEXTMETRIC16
201 {
202     UINT16          otmSize;
203     TEXTMETRIC16    otmTextMetrics;
204     BYTE            otmFiller;
205     PANOSE          otmPanoseNumber;
206     UINT16          otmfsSelection;
207     UINT16          otmfsType;
208     INT16           otmsCharSlopeRise;
209     INT16           otmsCharSlopeRun;
210     INT16           otmItalicAngle;
211     UINT16          otmEMSquare;
212     INT16           otmAscent;
213     INT16           otmDescent;
214     UINT16          otmLineGap;
215     UINT16          otmsCapEmHeight;
216     UINT16          otmsXHeight;
217     RECT16          otmrcFontBox;
218     INT16           otmMacAscent;
219     INT16           otmMacDescent;
220     UINT16          otmMacLineGap;
221     UINT16          otmusMinimumPPEM;
222     POINT16         otmptSubscriptSize;
223     POINT16         otmptSubscriptOffset;
224     POINT16         otmptSuperscriptSize;
225     POINT16         otmptSuperscriptOffset;
226     UINT16          otmsStrikeoutSize;
227     INT16           otmsStrikeoutPosition;
228     INT16           otmsUnderscoreSize;
229     INT           otmsUnderscorePosition;
230     LPSTR           otmpFamilyName;
231     LPSTR           otmpFaceName;
232     LPSTR           otmpStyleName;
233     LPSTR           otmpFullName;
234 } OUTLINETEXTMETRIC16,*LPOUTLINETEXTMETRIC16;
235
236 typedef struct
237 {
238     INT16     tmHeight;
239     INT16     tmAscent;
240     INT16     tmDescent;
241     INT16     tmInternalLeading;
242     INT16     tmExternalLeading;
243     INT16     tmAveCharWidth;
244     INT16     tmMaxCharWidth;
245     INT16     tmWeight;
246     BYTE      tmItalic;
247     BYTE      tmUnderlined;
248     BYTE      tmStruckOut;
249     BYTE      tmFirstChar;
250     BYTE      tmLastChar;
251     BYTE      tmDefaultChar;
252     BYTE      tmBreakChar;
253     BYTE      tmPitchAndFamily;
254     BYTE      tmCharSet;
255     INT16     tmOverhang;
256     INT16     tmDigitizedAspectX;
257     INT16     tmDigitizedAspectY;
258     DWORD     ntmFlags;
259     UINT16    ntmSizeEM;
260     UINT16    ntmCellHeight;
261     UINT16    ntmAvgWidth;
262 } NEWTEXTMETRIC16,*LPNEWTEXTMETRIC16;
263
264 typedef struct
265 {
266     NEWTEXTMETRIC16     ntmTm;
267     FONTSIGNATURE       ntmFontSig;
268 } NEWTEXTMETRICEX16,*LPNEWTEXTMETRICEX16;
269
270 typedef BOOL16 (CALLBACK *DCHOOKPROC)(HDC16,WORD,DWORD,LPARAM);
271 typedef INT16 (CALLBACK *FONTENUMPROC16)(SEGPTR,SEGPTR,UINT16,LPARAM);
272 typedef INT16 (CALLBACK *FONTENUMPROCEX16)(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 struct {
314     EMR    emr;
315     RECTL  rclBounds;
316     DWORD  cpts;
317     POINT16 apts[1];
318 } EMRPOLYLINE16,     *PEMRPOLYLINE16,
319   EMRPOLYBEZIER16,   *PEMRPOLYBEZIER16,
320   EMRPOLYGON16,      *PEMRPOLYGON16,
321   EMRPOLYBEZIERTO16, *PEMRPOLYBEZIERTO16,
322   EMRPOLYLINETO16,   *PEMRPOLYLINETO16;
323
324 typedef struct {
325     EMR    emr;
326     RECTL  rclBounds;
327     DWORD  cpts;
328     POINT16 apts[1];
329     BYTE   abTypes[1];
330 } EMRPOLYDRAW16, *PEMRPOLYDRAW16;
331
332 typedef struct {
333     EMR     emr;
334     RECTL   rclBounds;
335     DWORD   nPolys;
336     DWORD   cpts;
337     DWORD   aPolyCounts[1];
338     POINT16 apts[1];
339 } EMRPOLYPOLYLINE16, *PEMRPOLYPOLYLINE16,
340   EMRPOLYPOLYGON16,  *PEMRPOLYPOLYGON16;
341
342 typedef INT16 (CALLBACK *MFENUMPROC16)(HDC16,HANDLETABLE16*,METARECORD*,
343                                        INT16,LPARAM);
344 typedef struct
345 {
346     INT16    cbSize;
347     SEGPTR   lpszDocName;
348     SEGPTR   lpszOutput;
349     SEGPTR   lpszDatatype;
350     DWORD    fwType;
351 } DOCINFO16, *LPDOCINFO16;
352
353 typedef BOOL16 (CALLBACK *ABORTPROC16)(HDC16, INT16);
354
355 #define INT_PD_DEFAULT_DEVMODE  1
356 #define INT_PD_DEFAULT_MODEL    2
357
358 #include "poppack.h"
359
360
361 INT16       WINAPI AbortDoc16(HDC16);
362 BOOL16      WINAPI AbortPath16(HDC16);
363 INT16       WINAPI AddFontResource16(LPCSTR);
364 void        WINAPI AnimatePalette16(HPALETTE16,UINT16,UINT16,const PALETTEENTRY*);
365 BOOL16      WINAPI Arc16(HDC16,INT16,INT16,INT16,INT16,INT16,INT16,INT16,INT16);
366 BOOL16      WINAPI BeginPath16(HDC16);
367 BOOL16      WINAPI BitBlt16(HDC16,INT16,INT16,INT16,INT16,HDC16,INT16,INT16,DWORD);
368 BOOL16      WINAPI Chord16(HDC16,INT16,INT16,INT16,INT16,INT16,INT16,INT16,INT16);
369 BOOL16      WINAPI CloseFigure16(HDC16);
370 INT16       WINAPI CloseJob16(HPJOB16);
371 HMETAFILE16 WINAPI CloseMetaFile16(HDC16);
372 INT16       WINAPI CombineRgn16(HRGN16,HRGN16,HRGN16,INT16);
373 HMETAFILE16 WINAPI CopyMetaFile16(HMETAFILE16,LPCSTR);
374 HBITMAP16   WINAPI CreateBitmap16(INT16,INT16,UINT16,UINT16,LPCVOID);
375 HBITMAP16   WINAPI CreateBitmapIndirect16(const BITMAP16*);
376 HBRUSH16    WINAPI CreateBrushIndirect16(const LOGBRUSH16*);
377 HBITMAP16   WINAPI CreateCompatibleBitmap16(HDC16,INT16,INT16);
378 HDC16       WINAPI CreateCompatibleDC16(HDC16);
379 HDC16       WINAPI CreateDC16(LPCSTR,LPCSTR,LPCSTR,const DEVMODEA*);
380 HBITMAP16   WINAPI CreateDIBitmap16(HDC16,const BITMAPINFOHEADER*,DWORD,
381                                     LPCVOID,const BITMAPINFO*,UINT16);
382 HBRUSH16    WINAPI CreateDIBPatternBrush16(HGLOBAL16,UINT16);
383 HBITMAP16   WINAPI CreateDIBSection16 (HDC16, BITMAPINFO *, UINT16,
384                                        SEGPTR *, HANDLE, DWORD offset);
385 HBITMAP16   WINAPI CreateDiscardableBitmap16(HDC16,INT16,INT16);
386 HRGN16      WINAPI CreateEllipticRgn16(INT16,INT16,INT16,INT16);
387 HRGN16      WINAPI CreateEllipticRgnIndirect16(const RECT16 *);
388 HFONT16     WINAPI CreateFont16(INT16,INT16,INT16,INT16,INT16,BYTE,BYTE,BYTE,
389                                 BYTE,BYTE,BYTE,BYTE,BYTE,LPCSTR);
390 HFONT16     WINAPI CreateFontIndirect16(const LOGFONT16*);
391 HPALETTE16  WINAPI CreateHalftonePalette16(HDC16);
392 HBRUSH16    WINAPI CreateHatchBrush16(INT16,COLORREF);
393 HDC16       WINAPI CreateIC16(LPCSTR,LPCSTR,LPCSTR,const DEVMODEA*);
394 HDC16       WINAPI CreateMetaFile16(LPCSTR);
395 HPALETTE16  WINAPI CreatePalette16(const LOGPALETTE*);
396 HBRUSH16    WINAPI CreatePatternBrush16(HBITMAP16);
397 HPEN16      WINAPI CreatePen16(INT16,INT16,COLORREF);
398 HPEN16      WINAPI CreatePenIndirect16(const LOGPEN16*);
399 HRGN16      WINAPI CreatePolyPolygonRgn16(const POINT16*,const INT16*,INT16,INT16);
400 HRGN16      WINAPI CreatePolygonRgn16(const POINT16*,INT16,INT16);
401 HRGN16      WINAPI CreateRectRgn16(INT16,INT16,INT16,INT16);
402 HRGN16      WINAPI CreateRectRgnIndirect16(const RECT16*);
403 HRGN16      WINAPI CreateRoundRectRgn16(INT16,INT16,INT16,INT16,INT16,INT16);
404 BOOL16      WINAPI CreateScalableFontResource16(UINT16,LPCSTR,LPCSTR,LPCSTR);
405 HBRUSH16    WINAPI CreateSolidBrush16(COLORREF);
406 VOID        WINAPI Death16(HDC16);
407 BOOL16      WINAPI DeleteDC16(HDC16);
408 INT16       WINAPI DeleteJob16(HPJOB16,INT16);
409 BOOL16      WINAPI DeleteMetaFile16(HMETAFILE16);
410 BOOL16      WINAPI DeleteObject16(HGDIOBJ16);
411 BOOL16      WINAPI DPtoLP16(HDC16,LPPOINT16,INT16);
412 DWORD       WINAPI DrvGetPrinterData16(LPSTR,LPSTR,LPDWORD,LPBYTE,int cbData,LPDWORD);
413 DWORD       WINAPI DrvSetPrinterData16(LPSTR,LPSTR,DWORD,LPBYTE,DWORD);
414 BOOL16      WINAPI Ellipse16(HDC16,INT16,INT16,INT16,INT16);
415 INT16       WINAPI EndDoc16(HDC16);
416 INT16       WINAPI EndPage16(HDC16);
417 BOOL16      WINAPI EndPath16(HDC16);
418 INT16       WINAPI EndSpoolPage16(HPJOB16);
419 INT16       WINAPI EnumFontFamilies16(HDC16,LPCSTR,FONTENUMPROC16,LPARAM);
420 INT16       WINAPI EnumFontFamiliesEx16(HDC16,LPLOGFONT16,FONTENUMPROCEX16,LPARAM,DWORD);
421 INT16       WINAPI EnumFonts16(HDC16,LPCSTR,FONTENUMPROC16,LPARAM);
422 BOOL16      WINAPI EnumMetaFile16(HDC16,HMETAFILE16,MFENUMPROC16,LPARAM);
423 INT16       WINAPI EnumObjects16(HDC16,INT16,GOBJENUMPROC16,LPARAM);
424 BOOL16      WINAPI EqualRgn16(HRGN16,HRGN16);
425 INT16       WINAPI Escape16(HDC16,INT16,INT16,SEGPTR,LPVOID);
426 INT16       WINAPI ExcludeClipRect16(HDC16,INT16,INT16,INT16,INT16);
427 INT16       WINAPI ExcludeVisRect16(HDC16,INT16,INT16,INT16,INT16);
428 HPEN16      WINAPI ExtCreatePen16(DWORD,DWORD,const LOGBRUSH16*,DWORD,const DWORD*);
429 BOOL16      WINAPI ExtFloodFill16(HDC16,INT16,INT16,COLORREF,UINT16);
430 BOOL16      WINAPI ExtTextOut16(HDC16,INT16,INT16,UINT16,const RECT16*,
431                                 LPCSTR,UINT16,const INT16*);
432 BOOL16      WINAPI FastWindowFrame16(HDC16,const RECT16*,INT16,INT16,DWORD);
433 BOOL16      WINAPI FillPath16(HDC16);
434 BOOL16      WINAPI FillRgn16(HDC16,HRGN16,HBRUSH16);
435 BOOL16      WINAPI FlattenPath16(HDC16);
436 BOOL16      WINAPI FloodFill16(HDC16,INT16,INT16,COLORREF);
437 BOOL16      WINAPI FrameRgn16(HDC16,HRGN16,HBRUSH16,INT16,INT16);
438 UINT16      WINAPI GDIRealizePalette16(HDC16);
439 DWORD       WINAPI GdiSeeGdiDo16(WORD,WORD,WORD,WORD);
440 HPALETTE16  WINAPI GDISelectPalette16(HDC16,HPALETTE16,WORD);
441 INT16       WINAPI GetArcDirection16(HDC16);
442 BOOL16      WINAPI GetAspectRatioFilterEx16(HDC16,LPSIZE16);
443 LONG        WINAPI GetBitmapBits16(HBITMAP16,LONG,LPVOID);
444 DWORD       WINAPI GetBitmapDimension16(HBITMAP16);
445 BOOL16      WINAPI GetBitmapDimensionEx16(HBITMAP16,LPSIZE16);
446 DWORD       WINAPI GetBrushOrg16(HDC16);
447 BOOL16      WINAPI GetBrushOrgEx16(HDC16,LPPOINT16);
448 COLORREF    WINAPI GetBkColor16(HDC16);
449 INT16       WINAPI GetBkMode16(HDC16);
450 UINT16      WINAPI GetBoundsRect16(HDC16,LPRECT16,UINT16);
451 BOOL16      WINAPI GetCharABCWidths16(HDC16,UINT16,UINT16,LPABC16);
452 BOOL16      WINAPI GetCharWidth16(HDC16,UINT16,UINT16,LPINT16);
453 INT16       WINAPI GetClipBox16(HDC16,LPRECT16);
454 HRGN16      WINAPI GetClipRgn16(HDC16);
455 HFONT16     WINAPI GetCurLogFont16(HDC16);
456 DWORD       WINAPI GetCurrentPosition16(HDC16);
457 BOOL16      WINAPI GetCurrentPositionEx16(HDC16,LPPOINT16);
458 DWORD       WINAPI GetDCHook16(HDC16,FARPROC16*);
459 DWORD       WINAPI GetDCOrg16(HDC16);
460 HDC16       WINAPI GetDCState16(HDC16);
461 INT16       WINAPI GetDeviceCaps16(HDC16,INT16);
462 UINT16      WINAPI GetDIBColorTable16(HDC16,UINT16,UINT16,RGBQUAD*);
463 INT16       WINAPI GetDIBits16(HDC16,HBITMAP16,UINT16,UINT16,LPVOID,LPBITMAPINFO,UINT16);
464 INT16       WINAPI GetEnvironment16(LPCSTR,LPDEVMODEA,UINT16);
465 DWORD       WINAPI GetFontData16(HDC16,DWORD,DWORD,LPVOID,DWORD);
466 DWORD       WINAPI GetFontLanguageInfo16(HDC16);
467 DWORD       WINAPI GetGlyphOutline16(HDC16,UINT16,UINT16,LPGLYPHMETRICS16,DWORD,LPVOID,const MAT2*);
468 INT16       WINAPI GetKerningPairs16(HDC16,INT16,LPKERNINGPAIR16);
469 INT16       WINAPI GetMapMode16(HDC16);
470 HMETAFILE16 WINAPI GetMetaFile16(LPCSTR);
471 HGLOBAL16   WINAPI GetMetaFileBits16(HMETAFILE16);
472 DWORD       WINAPI GetNearestColor16(HDC16,DWORD);
473 UINT16      WINAPI GetNearestPaletteIndex16(HPALETTE16,COLORREF);
474 INT16       WINAPI GetObject16(HANDLE16,INT16,LPVOID);
475 UINT16      WINAPI GetOutlineTextMetrics16(HDC16,UINT16,LPOUTLINETEXTMETRIC16);
476 UINT16      WINAPI GetPaletteEntries16(HPALETTE16,UINT16,UINT16,LPPALETTEENTRY);
477 INT16       WINAPI GetPath16(HDC16,LPPOINT16,LPBYTE,INT16);
478 COLORREF    WINAPI GetPixel16(HDC16,INT16,INT16);
479 INT16       WINAPI GetPolyFillMode16(HDC16);
480 BOOL16      WINAPI GetRasterizerCaps16(LPRASTERIZER_STATUS,UINT16);
481 DWORD       WINAPI GetRegionData16(HRGN16,DWORD,LPRGNDATA);
482 INT16       WINAPI GetRelAbs16(HDC16);
483 INT16       WINAPI GetRgnBox16(HRGN16,LPRECT16);
484 INT16       WINAPI GetROP216(HDC16);
485 DWORD       WINAPI GetSpoolJob16(int,LONG);
486 HGDIOBJ16   WINAPI GetStockObject16(INT16);
487 INT16       WINAPI GetStretchBltMode16(HDC16);
488 UINT16      WINAPI GetSystemPaletteEntries16(HDC16,UINT16,UINT16,LPPALETTEENTRY);
489 UINT16      WINAPI GetSystemPaletteUse16(HDC16);
490 UINT16      WINAPI GetTextAlign16(HDC16);
491 INT16       WINAPI GetTextCharacterExtra16(HDC16);
492 UINT16      WINAPI GetTextCharset16(HDC16);
493 COLORREF    WINAPI GetTextColor16(HDC16);
494 DWORD       WINAPI GetTextExtent16(HDC16,LPCSTR,INT16);
495 BOOL16      WINAPI GetTextExtentPoint16(HDC16,LPCSTR,INT16,LPSIZE16);
496 INT16       WINAPI GetTextFace16(HDC16,INT16,LPSTR);
497 BOOL16      WINAPI GetTextMetrics16(HDC16,LPTEXTMETRIC16);
498 DWORD       WINAPI GetViewportExt16(HDC16);
499 BOOL16      WINAPI GetViewportExtEx16(HDC16,LPSIZE16);
500 BOOL16      WINAPI GetViewportOrgEx16(HDC16,LPPOINT16);
501 DWORD       WINAPI GetViewportOrg16(HDC16);
502 DWORD       WINAPI GetWindowExt16(HDC16);
503 DWORD       WINAPI GetWindowOrg16(HDC16);
504 BOOL16      WINAPI GetWindowExtEx16(HDC16,LPSIZE16);
505 BOOL16      WINAPI GetWindowOrgEx16(HDC16,LPPOINT16);
506 HRGN16      WINAPI InquireVisRgn16(HDC16);
507 INT16       WINAPI IntersectClipRect16(HDC16,INT16,INT16,INT16,INT16);
508 INT16       WINAPI IntersectVisRect16(HDC16,INT16,INT16,INT16,INT16);
509 BOOL16      WINAPI InvertRgn16(HDC16,HRGN16);
510 BOOL16      WINAPI IsDCCurrentPalette16(HDC16);
511 BOOL16      WINAPI IsGDIObject16(HGDIOBJ16);
512 BOOL16      WINAPI IsValidMetaFile16(HMETAFILE16);
513 VOID        WINAPI LineDDA16(INT16,INT16,INT16,INT16,LINEDDAPROC16,LPARAM);
514 BOOL16      WINAPI LineTo16(HDC16,INT16,INT16);
515 BOOL16      WINAPI LPtoDP16(HDC16,LPPOINT16,INT16);
516 DWORD       WINAPI MoveTo16(HDC16,INT16,INT16);
517 BOOL16      WINAPI MoveToEx16(HDC16,INT16,INT16,LPPOINT16);
518 INT16       WINAPI MulDiv16(INT16,INT16,INT16);
519 INT16       WINAPI OffsetClipRgn16(HDC16,INT16,INT16);
520 INT16       WINAPI OffsetRgn16(HRGN16,INT16,INT16);
521 DWORD       WINAPI OffsetViewportOrg16(HDC16,INT16,INT16);
522 BOOL16      WINAPI OffsetViewportOrgEx16(HDC16,INT16,INT16,LPPOINT16);
523 INT16       WINAPI OffsetVisRgn16(HDC16,INT16,INT16);
524 DWORD       WINAPI OffsetWindowOrg16(HDC16,INT16,INT16);
525 BOOL16      WINAPI OffsetWindowOrgEx16(HDC16,INT16,INT16,LPPOINT16);
526 HANDLE16    WINAPI OpenJob16(LPCSTR,LPCSTR,HDC16);
527 BOOL16      WINAPI PaintRgn16(HDC16,HRGN16);
528 BOOL16      WINAPI PatBlt16(HDC16,INT16,INT16,INT16,INT16,DWORD);
529 HRGN16      WINAPI PathToRegion16(HDC16);
530 BOOL16      WINAPI Pie16(HDC16,INT16,INT16,INT16,INT16,INT16,INT16,INT16,INT16);
531 BOOL16      WINAPI PlayMetaFile16(HDC16,HMETAFILE16);
532 VOID        WINAPI PlayMetaFileRecord16(HDC16,LPHANDLETABLE16,LPMETARECORD,UINT16);
533 BOOL16      WINAPI PolyBezier16(HDC16,const POINT16*,INT16);
534 BOOL16      WINAPI PolyBezierTo16(HDC16,const POINT16*,INT16);
535 BOOL16      WINAPI PolyPolygon16(HDC16,const POINT16*,const INT16*,UINT16);
536 BOOL16      WINAPI Polygon16(HDC16,const POINT16*,INT16);
537 BOOL16      WINAPI Polyline16(HDC16,const POINT16*,INT16);
538 BOOL16      WINAPI PtInRegion16(HRGN16,INT16,INT16);
539 BOOL16      WINAPI PtVisible16(HDC16,INT16,INT16);
540 BOOL16      WINAPI QueryAbort16(HDC16,INT16);
541 UINT16      WINAPI RealizeDefaultPalette16(HDC16);
542 BOOL16      WINAPI Rectangle16(HDC16,INT16,INT16,INT16,INT16);
543 BOOL16      WINAPI RectInRegion16(HRGN16,const RECT16 *);
544 BOOL16      WINAPI RectVisible16(HDC16,const RECT16*);
545 BOOL16      WINAPI RemoveFontResource16(LPCSTR);
546 HDC16       WINAPI ResetDC16(HDC16,const DEVMODEA *);
547 BOOL16      WINAPI ResizePalette16(HPALETTE16,UINT16);
548 BOOL16      WINAPI RestoreDC16(HDC16,INT16);
549 INT16       WINAPI RestoreVisRgn16(HDC16);
550 VOID        WINAPI Resurrection16(HDC16,WORD,WORD,WORD,WORD,WORD,WORD);
551 BOOL16      WINAPI RoundRect16(HDC16,INT16,INT16,INT16,INT16,INT16,INT16);
552 INT16       WINAPI SaveDC16(HDC16);
553 HRGN16      WINAPI SaveVisRgn16(HDC16);
554 DWORD       WINAPI ScaleViewportExt16(HDC16,INT16,INT16,INT16,INT16);
555 BOOL16      WINAPI ScaleViewportExtEx16(HDC16,INT16,INT16,INT16,INT16,LPSIZE16);
556 DWORD       WINAPI ScaleWindowExt16(HDC16,INT16,INT16,INT16,INT16);
557 BOOL16      WINAPI ScaleWindowExtEx16(HDC16,INT16,INT16,INT16,INT16,LPSIZE16);
558 BOOL16      WINAPI SelectClipPath16(HDC16,INT16);
559 INT16       WINAPI SelectClipRgn16(HDC16,HRGN16);
560 HGDIOBJ16   WINAPI SelectObject16(HDC16,HGDIOBJ16);
561 INT16       WINAPI SelectVisRgn16(HDC16,HRGN16);
562 INT16       WINAPI SetAbortProc16(HDC16,ABORTPROC16);
563 INT16       WINAPI SetArcDirection16(HDC16,INT16);
564 LONG        WINAPI SetBitmapBits16(HBITMAP16,LONG,LPCVOID);
565 DWORD       WINAPI SetBitmapDimension16(HBITMAP16,INT16,INT16);
566 BOOL16      WINAPI SetBitmapDimensionEx16(HBITMAP16,INT16,INT16,LPSIZE16);
567 COLORREF    WINAPI SetBkColor16(HDC16,COLORREF);
568 INT16       WINAPI SetBkMode16(HDC16,INT16);
569 UINT16      WINAPI SetBoundsRect16(HDC16,const RECT16*,UINT16);
570 DWORD       WINAPI SetBrushOrg16(HDC16,INT16,INT16);
571 BOOL        WINAPI SetDCHook(HDC,DCHOOKPROC,DWORD);
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
621 inline static void CONV_POINT16TO32( const POINT16 *p16, POINT *p32 )
622 {
623     p32->x = p16->x;
624     p32->y = p16->y;
625 }
626
627 inline static void CONV_POINT32TO16( const POINT *p32, POINT16 *p16 )
628 {
629     p16->x = (INT16)p32->x;
630     p16->y = (INT16)p32->y;
631 }
632
633 inline static void CONV_RECT16TO32( const RECT16 *r16, RECT *r32 )
634 {
635     r32->left   = r16->left;
636     r32->top    = r16->top;
637     r32->right  = r16->right;
638     r32->bottom = r16->bottom;
639 }
640
641 inline static void CONV_RECT32TO16( const RECT *r32, RECT16 *r16 )
642 {
643     r16->left   = (INT16)r32->left;
644     r16->top    = (INT16)r32->top;
645     r16->right  = (INT16)r32->right;
646     r16->bottom = (INT16)r32->bottom;
647 }
648
649 #endif /* __WINE_WINE_WINGDI16_H */