6 * This file is part of the w32api package.
8 * THIS SOFTWARE IS NOT COPYRIGHTED
10 * This source code is offered for use in the public domain. You may
11 * use, modify or distribute it freely.
13 * This code is distributed in the hope that it will be useful but
14 * WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY
15 * DISCLAIMED. This includes but is not limited to warranties of
16 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
19 #ifndef _GDIPLUSMETAFILE_H
20 #define _GDIPLUSMETAFILE_H
23 #pragma GCC system_header
26 class Metafile
: public Image
29 Metafile(HDC referenceHdc
, EmfType type
, const WCHAR
*description
)
33 Metafile(const WCHAR
*filename
)
37 Metafile(HDC referenceHdc
, const RectF
&frameRect
, MetafileFrameUnit frameUnit
, EmfType type
, const WCHAR
*description
)
41 Metafile(HMETAFILE hWmf
, const WmfPlaceableFileHeader
*wmfPlaceableFileHeader
, BOOL deleteWmf
)
45 Metafile(const WCHAR
*fileName
, HDC referenceHdc
, const Rect
&frameRect
, MetafileFrameUnit frameUnit
, EmfType type
, const WCHAR
*description
)
49 Metafile(IStream
*stream
, HDC referenceHdc
, const RectF
&frameRect
, MetafileFrameUnit frameUnit
, EmfType type
, const WCHAR
*description
)
53 Metafile(IStream
*stream
, HDC referenceHdc
, EmfType type
, const WCHAR
*description
)
57 Metafile(IStream
*stream
, HDC referenceHdc
, const Rect
&frameRect
, MetafileFrameUnit frameUnit
, EmfType type
, const WCHAR
*description
)
61 Metafile(const WCHAR
*fileName
, HDC referenceHdc
, const RectF
&frameRect
, MetafileFrameUnit frameUnit
, EmfType type
, const WCHAR
*description
)
65 Metafile(const WCHAR
*fileName
, HDC referenceHdc
, EmfType type
, const WCHAR
*description
)
69 Metafile(IStream
*stream
)
73 Metafile(HENHMETAFILE hEmf
, BOOL deleteEmf
)
77 Metafile(HDC referenceHdc
, const Rect
&frameRect
, MetafileFrameUnit frameUnit
, EmfType type
, const WCHAR
*description
)
81 static UINT
EmfToWmfBits(HENHMETAFILE hemf
, UINT cbData16
, LPBYTE pData16
, INT iMapMode
, EmfToWmfBitsFlags eFlags
)
86 UINT
GetDownLevelRasterizationLimit(VOID
)
91 HENHMETAFILE
GetHENHMETAFILE(VOID
)
96 static Status
GetMetafileHeader(const WCHAR
*filename
, MetafileHeader
*header
)
98 return NotImplemented
;
101 static Status
GetMetafileHeader(HENHMETAFILE
*hEmf
, MetafileHeader
*header
)
103 return NotImplemented
;
106 static Status
GetMetafileHeader(HMETAFILE hWmf
, const WmfPlaceableFileHeader
*wmfPlaceableFileHeader
, MetafileHeader
*header
)
108 return NotImplemented
;
111 Status
GetMetafileHeader(MetafileHeader
*header
) const
113 return NotImplemented
;
116 static Status
GetMetafileHeader(IStream
*stream
, MetafileHeader
*header
)
118 return NotImplemented
;
121 Status
PlayRecord(EmfPlusRecordType recordType
, UINT flags
, UINT dataSize
, const BYTE
*data
)
123 return NotImplemented
;
126 Status
SetDownLevelRasterizationLimit(UINT metafileRasterizationLimitDpi
)
128 return NotImplemented
;
132 #endif /* _GDIPLUSMETAFILE_H */