On NE process creation, move major part of NE EXE module loading and
[wine.git] / include / enhmetafiledrv.h
blob4765392fc278477703f59b2a36cfcc28367e92cf
1 /*
2 * Enhanced MetaFile driver definitions
3 */
5 #ifndef __WINE_ENHMETAFILEDRV_H
6 #define __WINE_ENHMETAFILEDRV_H
8 #include "wingdi.h"
9 #include "gdi.h"
11 /* Enhanced Metafile driver physical DC */
13 typedef struct
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;
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 );
26 /* Metafile driver functions */
27 extern BOOL EMFDRV_Arc( DC *dc, INT left, INT top, INT right,
28 INT bottom, INT xstart, INT ystart, INT xend,
29 INT yend );
30 extern BOOL EMFDRV_BitBlt( DC *dcDst, INT xDst, INT yDst,
31 INT width, INT height, DC *dcSrc,
32 INT xSrc, INT ySrc, DWORD rop );
33 extern BOOL EMFDRV_Chord( DC *dc, INT left, INT top, INT right,
34 INT bottom, INT xstart, INT ystart, INT xend,
35 INT yend );
36 extern BOOL EMFDRV_Ellipse( DC *dc, INT left, INT top,
37 INT right, INT bottom );
38 extern INT EMFDRV_ExcludeClipRect( DC *dc, INT left, INT top, INT right,
39 INT bottom );
40 extern BOOL EMFDRV_ExtFloodFill( DC *dc, INT x, INT y,
41 COLORREF color, UINT fillType );
42 extern BOOL EMFDRV_ExtTextOut( DC *dc, INT x, INT y,
43 UINT flags, const RECT *lprect, LPCSTR str,
44 UINT count, const INT *lpDx );
45 extern BOOL EMFDRV_FillRgn( DC *dc, HRGN hrgn, HBRUSH hbrush );
46 extern BOOL EMFDRV_FrameRgn( DC *dc, HRGN hrgn, HBRUSH hbrush, INT width,
47 INT height );
48 extern INT EMFDRV_IntersectClipRect( DC *dc, INT left, INT top, INT right,
49 INT bottom );
50 extern BOOL EMFDRV_InvertRgn( DC *dc, HRGN hrgn );
51 extern BOOL EMFDRV_LineTo( DC *dc, INT x, INT y );
52 extern BOOL EMFDRV_MoveToEx( DC *dc, INT x, INT y, LPPOINT pt);
53 extern INT EMFDRV_OffsetClipRgn( DC *dc, INT x, INT y );
54 extern BOOL EMFDRV_OffsetViewportOrg( DC *dc, INT x, INT y );
55 extern BOOL EMFDRV_OffsetWindowOrg( DC *dc, INT x, INT y );
56 extern BOOL EMFDRV_PaintRgn( DC *dc, HRGN hrgn );
57 extern BOOL EMFDRV_PatBlt( DC *dc, INT left, INT top,
58 INT width, INT height, DWORD rop );
59 extern BOOL EMFDRV_Pie( DC *dc, INT left, INT top, INT right,
60 INT bottom, INT xstart, INT ystart, INT xend,
61 INT yend );
62 extern BOOL EMFDRV_PolyPolygon( DC *dc, const POINT* pt,
63 const INT* counts, UINT polys);
64 extern BOOL EMFDRV_PolyPolyline( DC *dc, const POINT* pt,
65 const DWORD* counts, DWORD polys);
66 extern BOOL EMFDRV_Polygon( DC *dc, const POINT* pt, INT count );
67 extern BOOL EMFDRV_Polyline( DC *dc, const POINT* pt,INT count);
68 extern BOOL EMFDRV_Rectangle( DC *dc, INT left, INT top,
69 INT right, INT bottom);
70 extern BOOL EMFDRV_RestoreDC( DC *dc, INT level );
71 extern BOOL EMFDRV_RoundRect( DC *dc, INT left, INT top,
72 INT right, INT bottom, INT ell_width,
73 INT ell_height );
74 extern INT EMFDRV_SaveDC( DC *dc );
75 extern BOOL EMFDRV_ScaleViewportExt( DC *dc, INT xNum,
76 INT xDenom, INT yNum, INT yDenom );
77 extern BOOL EMFDRV_ScaleWindowExt( DC *dc, INT xNum, INT xDenom,
78 INT yNum, INT yDenom );
79 extern HGDIOBJ EMFDRV_SelectObject( DC *dc, HGDIOBJ handle );
80 extern COLORREF EMFDRV_SetBkColor( DC *dc, COLORREF color );
81 extern INT EMFDRV_SetBkMode( DC *dc, INT mode );
82 extern INT EMFDRV_SetDIBitsToDevice( DC *dc, INT xDest, INT yDest,
83 DWORD cx, DWORD cy, INT xSrc,
84 INT ySrc, UINT startscan, UINT lines,
85 LPCVOID bits, const BITMAPINFO *info,
86 UINT coloruse );
87 extern INT EMFDRV_SetMapMode( DC *dc, INT mode );
88 extern DWORD EMFDRV_SetMapperFlags( DC *dc, DWORD flags );
89 extern COLORREF EMFDRV_SetPixel( DC *dc, INT x, INT y, COLORREF color );
90 extern INT EMFDRV_SetPolyFillMode( DC *dc, INT mode );
91 extern INT EMFDRV_SetROP2( DC *dc, INT rop );
92 extern INT EMFDRV_SetStretchBltMode( DC *dc, INT mode );
93 extern UINT EMFDRV_SetTextAlign( DC *dc, UINT align );
94 extern COLORREF EMFDRV_SetTextColor( DC *dc, COLORREF color );
95 extern BOOL EMFDRV_SetViewportExt( DC *dc, INT x, INT y );
96 extern BOOL EMFDRV_SetViewportOrg( DC *dc, INT x, INT y );
97 extern BOOL EMFDRV_SetWindowExt( DC *dc, INT x, INT y );
98 extern BOOL EMFDRV_SetWindowOrg( DC *dc, INT x, INT y );
99 extern BOOL EMFDRV_StretchBlt( DC *dcDst, INT xDst, INT yDst,
100 INT widthDst, INT heightDst,
101 DC *dcSrc, INT xSrc, INT ySrc,
102 INT widthSrc, INT heightSrc, DWORD rop );
103 extern INT EMFDRV_StretchDIBits( DC *dc, INT xDst, INT yDst, INT widthDst,
104 INT heightDst, INT xSrc, INT ySrc,
105 INT widthSrc, INT heightSrc,
106 const void *bits, const BITMAPINFO *info,
107 UINT wUsage, DWORD dwRop );
110 #endif /* __WINE_METAFILEDRV_H */