Reentrant libc check for Solaris added.
[wine] / include / metafiledrv.h
1 /*
2  * Metafile driver definitions
3  */
4
5 #ifndef __WINE_METAFILEDRV_H
6 #define __WINE_METAFILEDRV_H
7
8 #include "wingdi.h"
9 #include "gdi.h"
10
11 /* Metafile driver physical DC */
12
13 typedef struct
14 {
15     METAHEADER  *mh;           /* Pointer to metafile header */
16     UINT       nextHandle;     /* Next handle number */
17     HFILE      hFile;          /* HFILE for disk based MetaFile */ 
18 } METAFILEDRV_PDEVICE;
19
20
21 extern BOOL MFDRV_MetaParam0(DC *dc, short func);
22 extern BOOL MFDRV_MetaParam1(DC *dc, short func, short param1);
23 extern BOOL MFDRV_MetaParam2(DC *dc, short func, short param1, short param2);
24 extern BOOL MFDRV_MetaParam4(DC *dc, short func, short param1, short param2, 
25                              short param3, short param4);
26 extern BOOL MFDRV_MetaParam6(DC *dc, short func, short param1, short param2, 
27                              short param3, short param4, short param5,
28                              short param6);
29 extern BOOL MFDRV_MetaParam8(DC *dc, short func, short param1, short param2, 
30                              short param3, short param4, short param5,
31                              short param6, short param7, short param8);
32 extern BOOL MFDRV_WriteRecord(DC *dc, METARECORD *mr, DWORD rlen);
33 extern int MFDRV_AddHandleDC( DC *dc );
34
35 /* Metafile driver functions */
36
37 extern BOOL MFDRV_BitBlt( struct tagDC *dcDst, INT xDst, INT yDst,
38                             INT width, INT height, struct tagDC *dcSrc,
39                             INT xSrc, INT ySrc, DWORD rop );
40 extern BOOL MFDRV_PatBlt( struct tagDC *dc, INT left, INT top,
41                             INT width, INT height, DWORD rop );
42 extern BOOL MFDRV_StretchBlt( struct tagDC *dcDst, INT xDst, INT yDst,
43                                 INT widthDst, INT heightDst,
44                                 struct tagDC *dcSrc, INT xSrc, INT ySrc,
45                                 INT widthSrc, INT heightSrc, DWORD rop );
46 extern INT MFDRV_SetMapMode( struct tagDC *dc, INT mode );
47 extern BOOL MFDRV_SetViewportExt( struct tagDC *dc, INT x, INT y );
48 extern BOOL MFDRV_SetViewportOrg( struct tagDC *dc, INT x, INT y );
49 extern BOOL MFDRV_SetWindowExt( struct tagDC *dc, INT x, INT y );
50 extern BOOL MFDRV_SetWindowOrg( struct tagDC *dc, INT x, INT y );
51 extern BOOL MFDRV_OffsetViewportOrg( struct tagDC *dc, INT x, INT y );
52 extern BOOL MFDRV_OffsetWindowOrg( struct tagDC *dc, INT x, INT y );
53 extern BOOL MFDRV_ScaleViewportExt( struct tagDC *dc, INT xNum,
54                                       INT xDenom, INT yNum, INT yDenom );
55 extern BOOL MFDRV_ScaleWindowExt( struct tagDC *dc, INT xNum, INT xDenom,
56                                     INT yNum, INT yDenom );
57 extern BOOL MFDRV_MoveToEx(struct tagDC *dc, INT x, INT y, LPPOINT pt);
58 extern BOOL MFDRV_LineTo( struct tagDC *dc, INT x, INT y );
59 extern BOOL MFDRV_Arc( struct tagDC *dc, INT left, INT top, INT right,
60                          INT bottom, INT xstart, INT ystart, INT xend,
61                          INT yend );
62 extern BOOL MFDRV_Pie( struct tagDC *dc, INT left, INT top, INT right,
63                          INT bottom, INT xstart, INT ystart, INT xend,
64                          INT yend );
65 extern BOOL MFDRV_Chord( struct tagDC *dc, INT left, INT top, INT right,
66                            INT bottom, INT xstart, INT ystart, INT xend,
67                            INT yend );
68 extern BOOL MFDRV_Ellipse( struct tagDC *dc, INT left, INT top,
69                              INT right, INT bottom );
70 extern BOOL MFDRV_Rectangle( struct tagDC *dc, INT left, INT top,
71                                INT right, INT bottom);
72 extern BOOL MFDRV_RoundRect( struct tagDC *dc, INT left, INT top,
73                                INT right, INT bottom, INT ell_width,
74                                INT ell_height );
75 extern COLORREF MFDRV_SetPixel( struct tagDC *dc, INT x, INT y, COLORREF color );
76 extern BOOL MFDRV_Polyline( struct tagDC *dc, const POINT* pt,INT count);
77 extern BOOL MFDRV_Polygon( struct tagDC *dc, const POINT* pt, INT count );
78 extern BOOL MFDRV_PolyPolygon( struct tagDC *dc, const POINT* pt, const INT* counts,
79                                  UINT polygons);
80 extern HGDIOBJ MFDRV_SelectObject( DC *dc, HGDIOBJ handle );
81 extern COLORREF MFDRV_SetBkColor( DC *dc, COLORREF color );
82 extern COLORREF MFDRV_SetTextColor( DC *dc, COLORREF color );
83 extern BOOL MFDRV_ExtFloodFill( struct tagDC *dc, INT x, INT y,
84                                   COLORREF color, UINT fillType );
85 extern BOOL MFDRV_ExtTextOut( struct tagDC *dc, INT x, INT y,
86                                 UINT flags, const RECT *lprect, LPCSTR str,
87                                 UINT count, const INT *lpDx );
88 extern BOOL MFDRV_PaintRgn( DC *dc, HRGN hrgn );
89
90 #endif  /* __WINE_METAFILEDRV_H */