2 * Metafile driver definitions
5 #ifndef __WINE_METAFILEDRV_H
6 #define __WINE_METAFILEDRV_H
12 /* Metafile driver physical DC */
16 METAHEADER
*mh
; /* Pointer to metafile header */
17 UINT nextHandle
; /* Next handle number */
18 HFILE hFile
; /* HFILE for disk based MetaFile */
19 } METAFILEDRV_PDEVICE
;
22 extern BOOL
MFDRV_MetaParam0(DC
*dc
, short func
);
23 extern BOOL
MFDRV_MetaParam1(DC
*dc
, short func
, short param1
);
24 extern BOOL
MFDRV_MetaParam2(DC
*dc
, short func
, short param1
, short param2
);
25 extern BOOL
MFDRV_MetaParam4(DC
*dc
, short func
, short param1
, short param2
,
26 short param3
, short param4
);
27 extern BOOL
MFDRV_MetaParam6(DC
*dc
, short func
, short param1
, short param2
,
28 short param3
, short param4
, short param5
,
30 extern BOOL
MFDRV_MetaParam8(DC
*dc
, short func
, short param1
, short param2
,
31 short param3
, short param4
, short param5
,
32 short param6
, short param7
, short param8
);
33 extern BOOL
MFDRV_WriteRecord(DC
*dc
, METARECORD
*mr
, DWORD rlen
);
34 extern int MFDRV_AddHandleDC( DC
*dc
);
35 extern INT16
MFDRV_CreateBrushIndirect( DC
*dc
, HBRUSH hBrush
);
37 /* Metafile driver functions */
39 extern BOOL
MFDRV_AbortPath( DC
*dc
);
40 extern BOOL
MFDRV_Arc( DC
*dc
, INT left
, INT top
, INT right
, INT bottom
,
41 INT xstart
, INT ystart
, INT xend
, INT yend
);
42 extern BOOL
MFDRV_BeginPath( DC
*dc
);
43 extern BOOL
MFDRV_BitBlt( DC
*dcDst
, INT xDst
, INT yDst
, INT width
,
44 INT height
, DC
*dcSrc
, INT xSrc
, INT ySrc
,
46 extern BOOL
MFDRV_Chord( DC
*dc
, INT left
, INT top
, INT right
,
47 INT bottom
, INT xstart
, INT ystart
, INT xend
,
49 extern BOOL
MFDRV_CloseFigure( DC
*dc
);
50 extern BOOL
MFDRV_Ellipse( DC
*dc
, INT left
, INT top
,
51 INT right
, INT bottom
);
52 extern BOOL
MFDRV_EndPath( DC
*dc
);
53 extern INT
MFDRV_ExcludeClipRect( DC
*dc
, INT left
, INT top
, INT right
, INT
55 extern BOOL
MFDRV_ExtFloodFill( DC
*dc
, INT x
, INT y
,
56 COLORREF color
, UINT fillType
);
57 extern BOOL
MFDRV_ExtTextOut( DC
*dc
, INT x
, INT y
,
58 UINT flags
, const RECT
*lprect
, LPCWSTR str
,
59 UINT count
, const INT
*lpDx
);
60 extern BOOL
MFDRV_FillPath( DC
*dc
);
61 extern BOOL
MFDRV_FillRgn( DC
*dc
, HRGN hrgn
, HBRUSH hbrush
);
62 extern BOOL
MFDRV_FlattenPath( DC
*dc
);
63 extern BOOL
MFDRV_FrameRgn( DC
*dc
, HRGN hrgn
, HBRUSH hbrush
, INT x
, INT y
);
64 extern INT
MFDRV_IntersectClipRect( DC
*dc
, INT left
, INT top
, INT right
, INT
66 extern BOOL
MFDRV_InvertRgn( DC
*dc
, HRGN hrgn
);
67 extern BOOL
MFDRV_LineTo( DC
*dc
, INT x
, INT y
);
68 extern BOOL
MFDRV_MoveToEx( DC
*dc
, INT x
, INT y
, LPPOINT pt
);
69 extern INT
MFDRV_OffsetClipRgn( DC
*dc
, INT x
, INT y
);
70 extern BOOL
MFDRV_OffsetViewportOrg( DC
*dc
, INT x
, INT y
);
71 extern BOOL
MFDRV_OffsetWindowOrg( DC
*dc
, INT x
, INT y
);
72 extern BOOL
MFDRV_PaintRgn( DC
*dc
, HRGN hrgn
);
73 extern BOOL
MFDRV_PatBlt( DC
*dc
, INT left
, INT top
, INT width
, INT height
,
75 extern BOOL
MFDRV_Pie( DC
*dc
, INT left
, INT top
, INT right
,
76 INT bottom
, INT xstart
, INT ystart
, INT xend
,
78 extern BOOL
MFDRV_PolyBezier( DC
*dc
, const POINT
* pt
, DWORD count
);
79 extern BOOL
MFDRV_PolyBezierTo( DC
*dc
, const POINT
* pt
, DWORD count
);
80 extern BOOL
MFDRV_PolyPolygon( DC
*dc
, const POINT
* pt
, const INT
* counts
,
82 extern BOOL
MFDRV_Polygon( DC
*dc
, const POINT
* pt
, INT count
);
83 extern BOOL
MFDRV_Polyline( DC
*dc
, const POINT
* pt
,INT count
);
84 extern BOOL
MFDRV_Rectangle( DC
*dc
, INT left
, INT top
,
85 INT right
, INT bottom
);
86 extern BOOL
MFDRV_RestoreDC( DC
*dc
, INT level
);
87 extern BOOL
MFDRV_RoundRect( DC
*dc
, INT left
, INT top
,
88 INT right
, INT bottom
, INT ell_width
,
90 extern INT
MFDRV_SaveDC( DC
*dc
);
91 extern BOOL
MFDRV_ScaleViewportExt( DC
*dc
, INT xNum
, INT xDenom
, INT yNum
,
93 extern BOOL
MFDRV_ScaleWindowExt( DC
*dc
, INT xNum
, INT xDenom
, INT yNum
,
95 extern BOOL
MFDRV_SelectClipPath( DC
*dc
, INT iMode
);
96 extern HGDIOBJ
MFDRV_SelectObject( DC
*dc
, HGDIOBJ handle
);
97 extern COLORREF
MFDRV_SetBkColor( DC
*dc
, COLORREF color
);
98 extern INT
MFDRV_SetBkMode( DC
*dc
, INT mode
);
99 extern INT
MFDRV_SetMapMode( DC
*dc
, INT mode
);
100 extern DWORD
MFDRV_SetMapperFlags( DC
*dc
, DWORD flags
);
101 extern COLORREF
MFDRV_SetPixel( DC
*dc
, INT x
, INT y
, COLORREF color
);
102 extern INT
MFDRV_SetPolyFillMode( DC
*dc
, INT mode
);
103 extern INT
MFDRV_SetROP2( DC
*dc
, INT rop
);
104 extern INT
MFDRV_SetRelAbs( DC
*dc
, INT mode
);
105 extern INT
MFDRV_SetStretchBltMode( DC
*dc
, INT mode
);
106 extern UINT
MFDRV_SetTextAlign( DC
*dc
, UINT align
);
107 extern INT
MFDRV_SetTextCharacterExtra( DC
*dc
, INT extra
);
108 extern COLORREF
MFDRV_SetTextColor( DC
*dc
, COLORREF color
);
109 extern INT
MFDRV_SetTextJustification( DC
*dc
, INT extra
, INT breaks
);
110 extern BOOL
MFDRV_SetViewportExt( DC
*dc
, INT x
, INT y
);
111 extern BOOL
MFDRV_SetViewportOrg( DC
*dc
, INT x
, INT y
);
112 extern BOOL
MFDRV_SetWindowExt( DC
*dc
, INT x
, INT y
);
113 extern BOOL
MFDRV_SetWindowOrg( DC
*dc
, INT x
, INT y
);
114 extern BOOL
MFDRV_StretchBlt( DC
*dcDst
, INT xDst
, INT yDst
, INT widthDst
,
115 INT heightDst
, DC
*dcSrc
, INT xSrc
, INT ySrc
,
116 INT widthSrc
, INT heightSrc
, DWORD rop
);
117 extern BOOL
MFDRV_PaintRgn( DC
*dc
, HRGN hrgn
);
118 extern INT
MFDRV_SetDIBitsToDevice( DC
*dc
, INT xDest
, INT yDest
, DWORD cx
,
119 DWORD cy
, INT xSrc
, INT ySrc
,
120 UINT startscan
, UINT lines
, LPCVOID bits
,
121 const BITMAPINFO
*info
, UINT coloruse
);
122 extern INT
MFDRV_StretchDIBits( DC
*dc
, INT xDst
, INT yDst
, INT widthDst
,
123 INT heightDst
, INT xSrc
, INT ySrc
,
124 INT widthSrc
, INT heightSrc
, const void *bits
,
125 const BITMAPINFO
*info
, UINT wUsage
,
127 extern BOOL
MFDRV_StrokeAndFillPath( DC
*dc
);
128 extern BOOL
MFDRV_StrokePath( DC
*dc
);
129 extern BOOL
MFDRV_WidenPath( DC
*dc
);
131 #endif /* __WINE_METAFILEDRV_H */