metafile.h 920 Bytes
Newer Older
Alexandre Julliard's avatar
Alexandre Julliard committed
1 2 3 4 5 6
/*
 * Metafile definitions
 *
 * Copyright  David W. Metcalfe, 1994
 */

Alexandre Julliard's avatar
Alexandre Julliard committed
7 8
#ifndef __WINE_METAFILE_H
#define __WINE_METAFILE_H
Alexandre Julliard's avatar
Alexandre Julliard committed
9

10
#include "gdi.h"
11 12
#include "windef.h"
#include "wingdi.h"
Alexandre Julliard's avatar
Alexandre Julliard committed
13

14 15 16 17 18 19 20
  /* GDI32 metafile object */
typedef struct
{
    GDIOBJHDR   header;
    METAHEADER  *mh;
} METAFILEOBJ;

Patrik Stridvall's avatar
Patrik Stridvall committed
21
#include "pshpack1.h"
22 23 24 25 26
typedef struct {
    DWORD dw1, dw2, dw3;
    WORD w4;
    CHAR filename[0x100];
} METAHEADERDISK;
Patrik Stridvall's avatar
Patrik Stridvall committed
27
#include "poppack.h"
28

Alexandre Julliard's avatar
Alexandre Julliard committed
29 30 31 32
#define MFHEADERSIZE (sizeof(METAHEADER))
#define MFVERSION 0x300
#define META_EOF 0x0000

33 34 35 36 37 38 39 40 41 42

/* values of mtType in METAHEADER.  Note however that the disk image of a disk
   based metafile has mtType == 1 */
#define METAFILE_MEMORY 1
#define METAFILE_DISK   2

extern HMETAFILE MF_Create_HMETAFILE(METAHEADER *mh);
extern HMETAFILE16 MF_Create_HMETAFILE16(METAHEADER *mh);
extern METAHEADER *MF_CreateMetaHeaderDisk(METAHEADER *mr, LPCSTR filename);

Alexandre Julliard's avatar
Alexandre Julliard committed
43
#endif   /* __WINE_METAFILE_H */
Alexandre Julliard's avatar
Alexandre Julliard committed
44