Release 950319
[wine] / include / metafile.h
1 /*
2  * Metafile definitions
3  *
4  * Copyright  David W. Metcalfe, 1994
5  */
6
7 #ifndef METAFILE_H
8 #define METAFILE_H
9
10 #include "windows.h"
11
12 #define MFHEADERSIZE (sizeof(METAHEADER))
13 #define MFVERSION 0x300
14 #define META_EOF 0x0000
15
16 typedef struct tagMETAFILE
17 {
18     WORD   wMagic;          /* `PO' */
19     char   Filename[80];    /* metafile name, if disk based */
20     int    hFile;           /* MSDOS file handle for metafile */
21     HANDLE hMetaHdr;        /* handle of metafile header */
22     int    MetaOffset;      /* offset of current record in metafile */
23     HANDLE hBuffer;         /* handle of buffer for disk based metafiles */
24 } METAFILE;
25 typedef METAFILE *LPMETAFILE;
26
27
28 BOOL MF_WriteRecord(HMETAFILE hmf, METARECORD *mr, WORD rlen);
29 int MF_AddHandle(HANDLETABLE *ht, WORD htlen, HANDLE hobj);
30 int MF_AddHandleInternal(HANDLE hobj);
31 BOOL MF_MetaParam0(DC *dc, short func);
32 BOOL MF_MetaParam1(DC *dc, short func, short param1);
33 BOOL MF_MetaParam2(DC *dc, short func, short param1, short param2);
34 BOOL MF_MetaParam4(DC *dc, short func, short param1, short param2, 
35                    short param3, short param4);
36 BOOL MF_MetaParam6(DC *dc, short func, short param1, short param2, 
37                    short param3, short param4, short param5, short param6);
38 BOOL MF_MetaParam8(DC *dc, short func, short param1, short param2, 
39                    short param3, short param4, short param5,
40                    short param6, short param7, short param8);
41 BOOL MF_CreateBrushIndirect(DC *dc, HBRUSH hBrush, LOGBRUSH *logbrush);
42 BOOL MF_CreatePatternBrush(DC *dc, HBRUSH hBrush, LOGBRUSH *logbrush);
43 BOOL MF_CreatePenIndirect(DC *dc, HPEN hPen, LOGPEN *logpen);
44 BOOL MF_CreateFontIndirect(DC *dc, HFONT hFont, LOGFONT *logfont);
45 BOOL MF_TextOut(DC *dc, short x, short y, LPSTR str, short count);
46 BOOL MF_MetaPoly(DC *dc, short func, LPPOINT pt, short count);
47 BOOL MF_BitBlt(DC *dcDest, short xDest, short yDest, short width,
48                short height, HDC hdcSrc, short xSrc, short ySrc, DWORD rop);
49 BOOL MF_StretchBlt(DC *dcDest, short xDest, short yDest, short widthDest,
50                    short heightDest, HDC hdcSrc, short xSrc, short ySrc, 
51                    short widthSrc, short heightSrc, DWORD rop);
52
53 #endif   /* METAFILE_H */
54