Small fixes.
[wine] / include / enhmetafiledrv.h
1 /*
2  * Enhanced MetaFile driver definitions
3  */
4
5 #ifndef __WINE_ENHMETAFILEDRV_H
6 #define __WINE_ENHMETAFILEDRV_H
7
8 #include "wingdi.h"
9 #include "gdi.h"
10
11 /* Enhanced Metafile driver physical DC */
12
13 typedef struct
14 {
15     ENHMETAHEADER  *emh;           /* Pointer to enhanced metafile header */
16     UINT       nextHandle;         /* Next handle number */
17     HFILE      hFile;              /* HFILE for disk based MetaFile */ 
18 } EMFDRV_PDEVICE;
19
20
21 extern BOOL EMFDRV_WriteRecord( DC *dc, EMR *emr );
22 extern int EMFDRV_AddHandleDC( DC *dc );
23 extern void EMFDRV_UpdateBBox( DC *dc, RECTL *rect );
24 extern DWORD EMFDRV_CreateBrushIndirect( DC *dc, HBRUSH hBrush );
25
26 /* Metafile driver functions */
27 extern BOOL     EMFDRV_AbortPath( DC *dc );
28 extern BOOL     EMFDRV_Arc( DC *dc, INT left, INT top, INT right,
29                             INT bottom, INT xstart, INT ystart, INT xend,
30                             INT yend );
31 extern BOOL     EMFDRV_BeginPath( DC *dc );
32 extern BOOL     EMFDRV_BitBlt( DC *dcDst, INT xDst, INT yDst,
33                                INT width, INT height, DC *dcSrc,
34                                INT xSrc, INT ySrc, DWORD rop );
35 extern BOOL     EMFDRV_Chord( DC *dc, INT left, INT top, INT right,
36                               INT bottom, INT xstart, INT ystart, INT xend,
37                               INT yend );
38 extern BOOL     EMFDRV_CloseFigure( DC *dc );
39 extern BOOL     EMFDRV_Ellipse( DC *dc, INT left, INT top,
40                                 INT right, INT bottom );
41 extern BOOL     EMFDRV_EndPath( DC *dc );
42 extern INT      EMFDRV_ExcludeClipRect( DC *dc, INT left, INT top, INT right,
43                                         INT bottom );
44 extern BOOL     EMFDRV_ExtFloodFill( DC *dc, INT x, INT y,
45                                      COLORREF color, UINT fillType );
46 extern BOOL     EMFDRV_ExtTextOut( DC *dc, INT x, INT y,
47                                    UINT flags, const RECT *lprect, LPCSTR str,
48                                    UINT count, const INT *lpDx );
49 extern BOOL     EMFDRV_FillPath( DC *dc );
50 extern BOOL     EMFDRV_FillRgn( DC *dc, HRGN hrgn, HBRUSH hbrush );
51 extern BOOL     EMFDRV_FlattenPath( DC *dc );
52 extern BOOL     EMFDRV_FrameRgn( DC *dc, HRGN hrgn, HBRUSH hbrush, INT width,
53                                  INT height );
54 extern INT      EMFDRV_IntersectClipRect( DC *dc, INT left, INT top, INT right,
55                                           INT bottom );
56 extern BOOL     EMFDRV_InvertRgn( DC *dc, HRGN hrgn );
57 extern BOOL     EMFDRV_LineTo( DC *dc, INT x, INT y );
58 extern BOOL     EMFDRV_MoveToEx( DC *dc, INT x, INT y, LPPOINT pt);
59 extern INT      EMFDRV_OffsetClipRgn( DC *dc, INT x, INT y );
60 extern BOOL     EMFDRV_OffsetViewportOrg( DC *dc, INT x, INT y );
61 extern BOOL     EMFDRV_OffsetWindowOrg( DC *dc, INT x, INT y );
62 extern BOOL     EMFDRV_PaintRgn( DC *dc, HRGN hrgn );
63 extern BOOL     EMFDRV_PatBlt( DC *dc, INT left, INT top,
64                                INT width, INT height, DWORD rop );
65 extern BOOL     EMFDRV_Pie( DC *dc, INT left, INT top, INT right,
66                             INT bottom, INT xstart, INT ystart, INT xend,
67                             INT yend );
68 extern BOOL     EMFDRV_PolyPolygon( DC *dc, const POINT* pt,
69                                     const INT* counts, UINT polys);
70 extern BOOL     EMFDRV_PolyPolyline( DC *dc, const POINT* pt,
71                                      const DWORD* counts, DWORD polys);
72 extern BOOL     EMFDRV_Polygon( DC *dc, const POINT* pt, INT count );
73 extern BOOL     EMFDRV_Polyline( DC *dc, const POINT* pt,INT count);
74 extern BOOL     EMFDRV_Rectangle( DC *dc, INT left, INT top,
75                                   INT right, INT bottom);
76 extern BOOL     EMFDRV_RestoreDC( DC *dc, INT level );
77 extern BOOL     EMFDRV_RoundRect( DC *dc, INT left, INT top,
78                                   INT right, INT bottom, INT ell_width,
79                                   INT ell_height );
80 extern INT      EMFDRV_SaveDC( DC *dc );
81 extern BOOL     EMFDRV_ScaleViewportExt( DC *dc, INT xNum,
82                                          INT xDenom, INT yNum, INT yDenom );
83 extern BOOL     EMFDRV_ScaleWindowExt( DC *dc, INT xNum, INT xDenom,
84                                        INT yNum, INT yDenom );
85 extern BOOL     EMFDRV_SelectClipPath( DC *dc, INT iMode );
86 extern HGDIOBJ  EMFDRV_SelectObject( DC *dc, HGDIOBJ handle );
87 extern COLORREF EMFDRV_SetBkColor( DC *dc, COLORREF color );
88 extern INT      EMFDRV_SetBkMode( DC *dc, INT mode );
89 extern INT      EMFDRV_SetDIBitsToDevice( DC *dc, INT xDest, INT yDest,
90                                           DWORD cx, DWORD cy, INT xSrc,
91                                           INT ySrc, UINT startscan, UINT lines,
92                                           LPCVOID bits, const BITMAPINFO *info,
93                                           UINT coloruse );
94 extern INT      EMFDRV_SetMapMode( DC *dc, INT mode );
95 extern DWORD    EMFDRV_SetMapperFlags( DC *dc, DWORD flags );
96 extern COLORREF EMFDRV_SetPixel( DC *dc, INT x, INT y, COLORREF color );
97 extern INT      EMFDRV_SetPolyFillMode( DC *dc, INT mode );
98 extern INT      EMFDRV_SetROP2( DC *dc, INT rop );
99 extern INT      EMFDRV_SetStretchBltMode( DC *dc, INT mode );
100 extern UINT     EMFDRV_SetTextAlign( DC *dc, UINT align );
101 extern COLORREF EMFDRV_SetTextColor( DC *dc, COLORREF color );
102 extern BOOL     EMFDRV_SetViewportExt( DC *dc, INT x, INT y );
103 extern BOOL     EMFDRV_SetViewportOrg( DC *dc, INT x, INT y );
104 extern BOOL     EMFDRV_SetWindowExt( DC *dc, INT x, INT y );
105 extern BOOL     EMFDRV_SetWindowOrg( DC *dc, INT x, INT y );
106 extern BOOL     EMFDRV_StretchBlt( DC *dcDst, INT xDst, INT yDst,
107                                    INT widthDst, INT heightDst,
108                                    DC *dcSrc, INT xSrc, INT ySrc,
109                                    INT widthSrc, INT heightSrc, DWORD rop );
110 extern INT      EMFDRV_StretchDIBits( DC *dc, INT xDst, INT yDst, INT widthDst,
111                                       INT heightDst, INT xSrc, INT ySrc,
112                                       INT widthSrc, INT heightSrc,
113                                       const void *bits, const BITMAPINFO *info,
114                                       UINT wUsage, DWORD dwRop );
115 extern BOOL     EMFDRV_StrokeAndFillPath( DC *dc );
116 extern BOOL     EMFDRV_StrokePath( DC *dc );
117 extern BOOL     EMFDRV_WidenPath( DC *dc );
118
119
120 #endif  /* __WINE_METAFILEDRV_H */
121