2 * Metafile driver definitions
5 #ifndef __WINE_METAFILEDRV_H
6 #define __WINE_METAFILEDRV_H
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
16 /* Metafile driver physical DC */
20 METAHEADER
*mh
; /* Pointer to metafile header */
21 UINT32 nextHandle
; /* Next handle number */
22 } METAFILEDRV_PDEVICE
;
25 /* Metafile driver functions */
27 extern BOOL32
MFDRV_BitBlt( struct tagDC
*dcDst
, INT32 xDst
, INT32 yDst
,
28 INT32 width
, INT32 height
, struct tagDC
*dcSrc
,
29 INT32 xSrc
, INT32 ySrc
, DWORD rop
);
30 extern BOOL32
MFDRV_PatBlt( struct tagDC
*dc
, INT32 left
, INT32 top
,
31 INT32 width
, INT32 height
, DWORD rop
);
32 extern BOOL32
MFDRV_StretchBlt( struct tagDC
*dcDst
, INT32 xDst
, INT32 yDst
,
33 INT32 widthDst
, INT32 heightDst
,
34 struct tagDC
*dcSrc
, INT32 xSrc
, INT32 ySrc
,
35 INT32 widthSrc
, INT32 heightSrc
, DWORD rop
);
36 extern INT32
MFDRV_SetMapMode( struct tagDC
*dc
, INT32 mode
);
37 extern BOOL32
MFDRV_SetViewportExt( struct tagDC
*dc
, INT32 x
, INT32 y
);
38 extern BOOL32
MFDRV_SetViewportOrg( struct tagDC
*dc
, INT32 x
, INT32 y
);
39 extern BOOL32
MFDRV_SetWindowExt( struct tagDC
*dc
, INT32 x
, INT32 y
);
40 extern BOOL32
MFDRV_SetWindowOrg( struct tagDC
*dc
, INT32 x
, INT32 y
);
41 extern BOOL32
MFDRV_OffsetViewportOrg( struct tagDC
*dc
, INT32 x
, INT32 y
);
42 extern BOOL32
MFDRV_OffsetWindowOrg( struct tagDC
*dc
, INT32 x
, INT32 y
);
43 extern BOOL32
MFDRV_ScaleViewportExt( struct tagDC
*dc
, INT32 xNum
,
44 INT32 xDenom
, INT32 yNum
, INT32 yDenom
);
45 extern BOOL32
MFDRV_ScaleWindowExt( struct tagDC
*dc
, INT32 xNum
, INT32 xDenom
,
46 INT32 yNum
, INT32 yDenom
);
47 extern BOOL32
MFDRV_MoveToEx(struct tagDC
*dc
, INT32 x
, INT32 y
, LPPOINT32 pt
);
48 extern BOOL32
MFDRV_LineTo( struct tagDC
*dc
, INT32 x
, INT32 y
);
49 extern BOOL32
MFDRV_Arc( struct tagDC
*dc
, INT32 left
, INT32 top
, INT32 right
,
50 INT32 bottom
, INT32 xstart
, INT32 ystart
, INT32 xend
,
52 extern BOOL32
MFDRV_Pie( struct tagDC
*dc
, INT32 left
, INT32 top
, INT32 right
,
53 INT32 bottom
, INT32 xstart
, INT32 ystart
, INT32 xend
,
55 extern BOOL32
MFDRV_Chord( struct tagDC
*dc
, INT32 left
, INT32 top
, INT32 right
,
56 INT32 bottom
, INT32 xstart
, INT32 ystart
, INT32 xend
,
58 extern BOOL32
MFDRV_Ellipse( struct tagDC
*dc
, INT32 left
, INT32 top
,
59 INT32 right
, INT32 bottom
);
60 extern BOOL32
MFDRV_Rectangle( struct tagDC
*dc
, INT32 left
, INT32 top
,
61 INT32 right
, INT32 bottom
);
62 extern BOOL32
MFDRV_RoundRect( struct tagDC
*dc
, INT32 left
, INT32 top
,
63 INT32 right
, INT32 bottom
, INT32 ell_width
,
65 extern COLORREF
MFDRV_SetPixel( struct tagDC
*dc
, INT32 x
, INT32 y
, COLORREF color
);
66 extern BOOL32
MFDRV_Polyline( struct tagDC
*dc
, const POINT32
* pt
,INT32 count
);
67 extern BOOL32
MFDRV_Polygon( struct tagDC
*dc
, const POINT32
* pt
, INT32 count
);
68 extern BOOL32
MFDRV_PolyPolygon( struct tagDC
*dc
, const POINT32
* pt
, const INT32
* counts
,
70 extern HGDIOBJ32
MFDRV_SelectObject( DC
*dc
, HGDIOBJ32 handle
);
71 extern COLORREF
MFDRV_SetBkColor( DC
*dc
, COLORREF color
);
72 extern COLORREF
MFDRV_SetTextColor( DC
*dc
, COLORREF color
);
73 extern BOOL32
MFDRV_ExtFloodFill( struct tagDC
*dc
, INT32 x
, INT32 y
,
74 COLORREF color
, UINT32 fillType
);
75 extern BOOL32
MFDRV_ExtTextOut( struct tagDC
*dc
, INT32 x
, INT32 y
,
76 UINT32 flags
, const RECT32
*lprect
, LPCSTR str
,
77 UINT32 count
, const INT32
*lpDx
);
78 extern BOOL32
MFDRV_PaintRgn( DC
*dc
, HRGN32 hrgn
);
80 #endif /* __WINE_METAFILEDRV_H */