Release 980118
[wine] / include / metafiledrv.h
1 /*
2  * Metafile driver definitions
3  */
4
5 #ifndef __WINE_METAFILEDRV_H
6 #define __WINE_METAFILEDRV_H
7
8 #include "windows.h"
9 #include "gdi.h"
10
11 /* FIXME: SDK docs says these should be 1 and 2 */
12 #define METAFILE_MEMORY 0
13 #define METAFILE_DISK   1
14
15 /* Metafile driver physical DC */
16
17 typedef struct
18 {
19     METAHEADER  *mh;           /* Pointer to metafile header */
20     UINT32       nextHandle;   /* Next handle number */
21 } METAFILEDRV_PDEVICE;
22
23
24 /* Metafile driver functions */
25
26 extern BOOL32 MFDRV_BitBlt( struct tagDC *dcDst, INT32 xDst, INT32 yDst,
27                             INT32 width, INT32 height, struct tagDC *dcSrc,
28                             INT32 xSrc, INT32 ySrc, DWORD rop );
29 extern BOOL32 MFDRV_PatBlt( struct tagDC *dc, INT32 left, INT32 top,
30                             INT32 width, INT32 height, DWORD rop );
31 extern BOOL32 MFDRV_StretchBlt( struct tagDC *dcDst, INT32 xDst, INT32 yDst,
32                                 INT32 widthDst, INT32 heightDst,
33                                 struct tagDC *dcSrc, INT32 xSrc, INT32 ySrc,
34                                 INT32 widthSrc, INT32 heightSrc, DWORD rop );
35 extern INT32 MFDRV_SetMapMode( struct tagDC *dc, INT32 mode );
36 extern BOOL32 MFDRV_SetViewportExt( struct tagDC *dc, INT32 x, INT32 y );
37 extern BOOL32 MFDRV_SetViewportOrg( struct tagDC *dc, INT32 x, INT32 y );
38 extern BOOL32 MFDRV_SetWindowExt( struct tagDC *dc, INT32 x, INT32 y );
39 extern BOOL32 MFDRV_SetWindowOrg( struct tagDC *dc, INT32 x, INT32 y );
40 extern BOOL32 MFDRV_OffsetViewportOrg( struct tagDC *dc, INT32 x, INT32 y );
41 extern BOOL32 MFDRV_OffsetWindowOrg( struct tagDC *dc, INT32 x, INT32 y );
42 extern BOOL32 MFDRV_ScaleViewportExt( struct tagDC *dc, INT32 xNum,
43                                       INT32 xDenom, INT32 yNum, INT32 yDenom );
44 extern BOOL32 MFDRV_ScaleWindowExt( struct tagDC *dc, INT32 xNum, INT32 xDenom,
45                                     INT32 yNum, INT32 yDenom );
46 extern BOOL32 MFDRV_MoveToEx(struct tagDC *dc, INT32 x, INT32 y, LPPOINT32 pt);
47 extern BOOL32 MFDRV_LineTo( struct tagDC *dc, INT32 x, INT32 y );
48 extern BOOL32 MFDRV_Arc( struct tagDC *dc, INT32 left, INT32 top, INT32 right,
49                          INT32 bottom, INT32 xstart, INT32 ystart, INT32 xend,
50                          INT32 yend );
51 extern BOOL32 MFDRV_Pie( struct tagDC *dc, INT32 left, INT32 top, INT32 right,
52                          INT32 bottom, INT32 xstart, INT32 ystart, INT32 xend,
53                          INT32 yend );
54 extern BOOL32 MFDRV_Chord( struct tagDC *dc, INT32 left, INT32 top, INT32 right,
55                            INT32 bottom, INT32 xstart, INT32 ystart, INT32 xend,
56                            INT32 yend );
57 extern BOOL32 MFDRV_Ellipse( struct tagDC *dc, INT32 left, INT32 top,
58                              INT32 right, INT32 bottom );
59 extern BOOL32 MFDRV_Rectangle( struct tagDC *dc, INT32 left, INT32 top,
60                                INT32 right, INT32 bottom);
61 extern BOOL32 MFDRV_RoundRect( struct tagDC *dc, INT32 left, INT32 top,
62                                INT32 right, INT32 bottom, INT32 ell_width,
63                                INT32 ell_height );
64 extern COLORREF MFDRV_SetPixel( struct tagDC *dc, INT32 x, INT32 y, COLORREF color );
65 extern BOOL32 MFDRV_Polyline( struct tagDC *dc, const LPPOINT32 pt,INT32 count);
66 extern BOOL32 MFDRV_Polygon( struct tagDC *dc, LPPOINT32 pt, INT32 count );
67 extern BOOL32 MFDRV_PolyPolygon( struct tagDC *dc, LPPOINT32 pt, LPINT32 counts,
68                                  UINT32 polygons);
69 extern HGDIOBJ32 MFDRV_SelectObject( DC *dc, HGDIOBJ32 handle );
70 extern BOOL32 MFDRV_ExtFloodFill( struct tagDC *dc, INT32 x, INT32 y,
71                                   COLORREF color, UINT32 fillType );
72 extern BOOL32 MFDRV_ExtTextOut( struct tagDC *dc, INT32 x, INT32 y,
73                                 UINT32 flags, const RECT32 *lprect, LPCSTR str,
74                                 UINT32 count, const INT32 *lpDx );
75 extern BOOL32 MFDRV_PaintRgn( DC *dc, HRGN32 hrgn );
76
77 #endif  /* __WINE_METAFILEDRV_H */