Replaced direct access to the WND structure by corresponding calls to
[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 /* FIXME: SDK docs says these should be 1 and 2 */
12 /*  DR 980322: most wmf's have 1, so I think 0 and 1 is correct */
13 #define METAFILE_MEMORY 0
14 #define METAFILE_DISK   1
15
16 /* Metafile driver physical DC */
17
18 typedef struct
19 {
20     METAHEADER  *mh;           /* Pointer to metafile header */
21     UINT       nextHandle;   /* Next handle number */
22 } METAFILEDRV_PDEVICE;
23
24
25 /* Metafile driver functions */
26
27 extern BOOL MFDRV_BitBlt( struct tagDC *dcDst, INT xDst, INT yDst,
28                             INT width, INT height, struct tagDC *dcSrc,
29                             INT xSrc, INT ySrc, DWORD rop );
30 extern BOOL MFDRV_PatBlt( struct tagDC *dc, INT left, INT top,
31                             INT width, INT height, DWORD rop );
32 extern BOOL MFDRV_StretchBlt( struct tagDC *dcDst, INT xDst, INT yDst,
33                                 INT widthDst, INT heightDst,
34                                 struct tagDC *dcSrc, INT xSrc, INT ySrc,
35                                 INT widthSrc, INT heightSrc, DWORD rop );
36 extern INT MFDRV_SetMapMode( struct tagDC *dc, INT mode );
37 extern BOOL MFDRV_SetViewportExt( struct tagDC *dc, INT x, INT y );
38 extern BOOL MFDRV_SetViewportOrg( struct tagDC *dc, INT x, INT y );
39 extern BOOL MFDRV_SetWindowExt( struct tagDC *dc, INT x, INT y );
40 extern BOOL MFDRV_SetWindowOrg( struct tagDC *dc, INT x, INT y );
41 extern BOOL MFDRV_OffsetViewportOrg( struct tagDC *dc, INT x, INT y );
42 extern BOOL MFDRV_OffsetWindowOrg( struct tagDC *dc, INT x, INT y );
43 extern BOOL MFDRV_ScaleViewportExt( struct tagDC *dc, INT xNum,
44                                       INT xDenom, INT yNum, INT yDenom );
45 extern BOOL MFDRV_ScaleWindowExt( struct tagDC *dc, INT xNum, INT xDenom,
46                                     INT yNum, INT yDenom );
47 extern BOOL MFDRV_MoveToEx(struct tagDC *dc, INT x, INT y, LPPOINT pt);
48 extern BOOL MFDRV_LineTo( struct tagDC *dc, INT x, INT y );
49 extern BOOL MFDRV_Arc( struct tagDC *dc, INT left, INT top, INT right,
50                          INT bottom, INT xstart, INT ystart, INT xend,
51                          INT yend );
52 extern BOOL MFDRV_Pie( struct tagDC *dc, INT left, INT top, INT right,
53                          INT bottom, INT xstart, INT ystart, INT xend,
54                          INT yend );
55 extern BOOL MFDRV_Chord( struct tagDC *dc, INT left, INT top, INT right,
56                            INT bottom, INT xstart, INT ystart, INT xend,
57                            INT yend );
58 extern BOOL MFDRV_Ellipse( struct tagDC *dc, INT left, INT top,
59                              INT right, INT bottom );
60 extern BOOL MFDRV_Rectangle( struct tagDC *dc, INT left, INT top,
61                                INT right, INT bottom);
62 extern BOOL MFDRV_RoundRect( struct tagDC *dc, INT left, INT top,
63                                INT right, INT bottom, INT ell_width,
64                                INT ell_height );
65 extern COLORREF MFDRV_SetPixel( struct tagDC *dc, INT x, INT y, COLORREF color );
66 extern BOOL MFDRV_Polyline( struct tagDC *dc, const POINT* pt,INT count);
67 extern BOOL MFDRV_Polygon( struct tagDC *dc, const POINT* pt, INT count );
68 extern BOOL MFDRV_PolyPolygon( struct tagDC *dc, const POINT* pt, const INT* counts,
69                                  UINT polygons);
70 extern HGDIOBJ MFDRV_SelectObject( DC *dc, HGDIOBJ handle );
71 extern COLORREF MFDRV_SetBkColor( DC *dc, COLORREF color );
72 extern COLORREF MFDRV_SetTextColor( DC *dc, COLORREF color );
73 extern BOOL MFDRV_ExtFloodFill( struct tagDC *dc, INT x, INT y,
74                                   COLORREF color, UINT fillType );
75 extern BOOL MFDRV_ExtTextOut( struct tagDC *dc, INT x, INT y,
76                                 UINT flags, const RECT *lprect, LPCSTR str,
77                                 UINT count, const INT *lpDx );
78 extern BOOL MFDRV_PaintRgn( DC *dc, HRGN hrgn );
79
80 #endif  /* __WINE_METAFILEDRV_H */