2 * Metafile driver definitions
5 #ifndef __WINE_METAFILEDRV_H
6 #define __WINE_METAFILEDRV_H
11 /* Metafile driver physical DC */
15 METAHEADER *mh; /* Pointer to metafile header */
16 UINT nextHandle; /* Next handle number */
17 HFILE hFile; /* HFILE for disk based MetaFile */
18 } METAFILEDRV_PDEVICE;
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,
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 );
35 /* Metafile driver functions */
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,
62 extern BOOL MFDRV_Pie( struct tagDC *dc, INT left, INT top, INT right,
63 INT bottom, INT xstart, INT ystart, INT xend,
65 extern BOOL MFDRV_Chord( struct tagDC *dc, INT left, INT top, INT right,
66 INT bottom, INT xstart, INT ystart, INT xend,
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,
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,
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 );
90 #endif /* __WINE_METAFILEDRV_H */