Alexandre Julliard | bf9130a | 1996-10-13 17:45:47 +0000 | [diff] [blame] | 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 */ |
Alexandre Julliard | 54c2711 | 1998-03-29 19:44:57 +0000 | [diff] [blame] | 12 | /* DR 980322: most wmf's have 1, so I think 0 and 1 is correct */ |
Alexandre Julliard | bf9130a | 1996-10-13 17:45:47 +0000 | [diff] [blame] | 13 | #define METAFILE_MEMORY 0 |
| 14 | #define METAFILE_DISK 1 |
| 15 | |
| 16 | /* Metafile driver physical DC */ |
Alexandre Julliard | 75d86e1 | 1996-11-17 18:59:11 +0000 | [diff] [blame] | 17 | |
Alexandre Julliard | bf9130a | 1996-10-13 17:45:47 +0000 | [diff] [blame] | 18 | typedef struct |
| 19 | { |
| 20 | METAHEADER *mh; /* Pointer to metafile header */ |
| 21 | UINT32 nextHandle; /* Next handle number */ |
| 22 | } METAFILEDRV_PDEVICE; |
| 23 | |
Alexandre Julliard | 75d86e1 | 1996-11-17 18:59:11 +0000 | [diff] [blame] | 24 | |
| 25 | /* Metafile driver functions */ |
| 26 | |
| 27 | extern BOOL32 MFDRV_BitBlt( struct tagDC *dcDst, INT32 xDst, INT32 yDst, |
| 28 | INT32 width, INT32 height, struct tagDC *dcSrc, |
| 29 | INT32 xSrc, INT32 ySrc, DWORD rop ); |
| 30 | extern BOOL32 MFDRV_PatBlt( struct tagDC *dc, INT32 left, INT32 top, |
| 31 | INT32 width, INT32 height, DWORD rop ); |
| 32 | extern BOOL32 MFDRV_StretchBlt( struct tagDC *dcDst, INT32 xDst, INT32 yDst, |
| 33 | INT32 widthDst, INT32 heightDst, |
| 34 | struct tagDC *dcSrc, INT32 xSrc, INT32 ySrc, |
| 35 | INT32 widthSrc, INT32 heightSrc, DWORD rop ); |
Alexandre Julliard | 7ebe1a4 | 1996-12-22 18:27:48 +0000 | [diff] [blame] | 36 | extern INT32 MFDRV_SetMapMode( struct tagDC *dc, INT32 mode ); |
| 37 | extern BOOL32 MFDRV_SetViewportExt( struct tagDC *dc, INT32 x, INT32 y ); |
| 38 | extern BOOL32 MFDRV_SetViewportOrg( struct tagDC *dc, INT32 x, INT32 y ); |
| 39 | extern BOOL32 MFDRV_SetWindowExt( struct tagDC *dc, INT32 x, INT32 y ); |
| 40 | extern BOOL32 MFDRV_SetWindowOrg( struct tagDC *dc, INT32 x, INT32 y ); |
| 41 | extern BOOL32 MFDRV_OffsetViewportOrg( struct tagDC *dc, INT32 x, INT32 y ); |
| 42 | extern BOOL32 MFDRV_OffsetWindowOrg( struct tagDC *dc, INT32 x, INT32 y ); |
| 43 | extern BOOL32 MFDRV_ScaleViewportExt( struct tagDC *dc, INT32 xNum, |
| 44 | INT32 xDenom, INT32 yNum, INT32 yDenom ); |
| 45 | extern BOOL32 MFDRV_ScaleWindowExt( struct tagDC *dc, INT32 xNum, INT32 xDenom, |
| 46 | INT32 yNum, INT32 yDenom ); |
Alexandre Julliard | c6c0944 | 1997-01-12 18:32:19 +0000 | [diff] [blame] | 47 | extern BOOL32 MFDRV_MoveToEx(struct tagDC *dc, INT32 x, INT32 y, LPPOINT32 pt); |
| 48 | extern BOOL32 MFDRV_LineTo( struct tagDC *dc, INT32 x, INT32 y ); |
| 49 | extern BOOL32 MFDRV_Arc( struct tagDC *dc, INT32 left, INT32 top, INT32 right, |
| 50 | INT32 bottom, INT32 xstart, INT32 ystart, INT32 xend, |
| 51 | INT32 yend ); |
| 52 | extern BOOL32 MFDRV_Pie( struct tagDC *dc, INT32 left, INT32 top, INT32 right, |
| 53 | INT32 bottom, INT32 xstart, INT32 ystart, INT32 xend, |
| 54 | INT32 yend ); |
| 55 | extern BOOL32 MFDRV_Chord( struct tagDC *dc, INT32 left, INT32 top, INT32 right, |
| 56 | INT32 bottom, INT32 xstart, INT32 ystart, INT32 xend, |
| 57 | INT32 yend ); |
| 58 | extern BOOL32 MFDRV_Ellipse( struct tagDC *dc, INT32 left, INT32 top, |
| 59 | INT32 right, INT32 bottom ); |
| 60 | extern BOOL32 MFDRV_Rectangle( struct tagDC *dc, INT32 left, INT32 top, |
| 61 | INT32 right, INT32 bottom); |
| 62 | extern BOOL32 MFDRV_RoundRect( struct tagDC *dc, INT32 left, INT32 top, |
| 63 | INT32 right, INT32 bottom, INT32 ell_width, |
| 64 | INT32 ell_height ); |
| 65 | extern COLORREF MFDRV_SetPixel( struct tagDC *dc, INT32 x, INT32 y, COLORREF color ); |
François Gouget | 241c730 | 1998-10-28 10:47:09 +0000 | [diff] [blame] | 66 | extern BOOL32 MFDRV_Polyline( struct tagDC *dc, const POINT32* pt,INT32 count); |
| 67 | extern BOOL32 MFDRV_Polygon( struct tagDC *dc, const POINT32* pt, INT32 count ); |
| 68 | extern BOOL32 MFDRV_PolyPolygon( struct tagDC *dc, const POINT32* pt, const INT32* counts, |
Alexandre Julliard | c6c0944 | 1997-01-12 18:32:19 +0000 | [diff] [blame] | 69 | UINT32 polygons); |
Alexandre Julliard | 349a953 | 1997-02-02 19:01:52 +0000 | [diff] [blame] | 70 | extern HGDIOBJ32 MFDRV_SelectObject( DC *dc, HGDIOBJ32 handle ); |
Alexandre Julliard | a0d7731 | 1998-09-13 16:32:00 +0000 | [diff] [blame] | 71 | extern COLORREF MFDRV_SetBkColor( DC *dc, COLORREF color ); |
| 72 | extern COLORREF MFDRV_SetTextColor( DC *dc, COLORREF color ); |
Alexandre Julliard | c6c0944 | 1997-01-12 18:32:19 +0000 | [diff] [blame] | 73 | extern BOOL32 MFDRV_ExtFloodFill( struct tagDC *dc, INT32 x, INT32 y, |
| 74 | COLORREF color, UINT32 fillType ); |
| 75 | extern BOOL32 MFDRV_ExtTextOut( struct tagDC *dc, INT32 x, INT32 y, |
| 76 | UINT32 flags, const RECT32 *lprect, LPCSTR str, |
| 77 | UINT32 count, const INT32 *lpDx ); |
Alexandre Julliard | 0623a6f | 1998-01-18 18:01:49 +0000 | [diff] [blame] | 78 | extern BOOL32 MFDRV_PaintRgn( DC *dc, HRGN32 hrgn ); |
Alexandre Julliard | 75d86e1 | 1996-11-17 18:59:11 +0000 | [diff] [blame] | 79 | |
Alexandre Julliard | bf9130a | 1996-10-13 17:45:47 +0000 | [diff] [blame] | 80 | #endif /* __WINE_METAFILEDRV_H */ |