0a5941756ef7317e2e050df97c8b4b2fa718adeb
[reactos.git] / reactos / w32api / include / gdiplusmetaheader.h
1 /*
2 * GdiPlusMetaHeader.h
3 *
4 * Windows GDI+
5 *
6 * This file is part of the w32api package.
7 *
8 * THIS SOFTWARE IS NOT COPYRIGHTED
9 *
10 * This source code is offered for use in the public domain. You may
11 * use, modify or distribute it freely.
12 *
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.
17 */
18
19 #ifndef _GDIPLUSMETAHEADER_H
20 #define _GDIPLUSMETAHEADER_H
21
22 #if __GNUC__ >= 3
23 #pragma GCC system_header
24 #endif
25
26 typedef struct {
27 DWORD iType;
28 DWORD nSize;
29 RECTL rclBounds;
30 RECTL rclFrame;
31 DWORD dSignature;
32 DWORD nVersion;
33 DWORD nBytes;
34 DWORD nRecords;
35 WORD nHandles;
36 WORD sReserved;
37 DWORD nDescription;
38 DWORD offDescription;
39 DWORD nPalEntries;
40 SIZEL szlDevice;
41 SIZEL szlMillimeters;
42 } ENHMETAHEADER3;
43
44 typedef struct {
45 INT16 Left;
46 INT16 Top;
47 INT16 Right;
48 INT16 Bottom;
49 } PWMFRect16;
50
51 typedef struct {
52 UINT32 Key;
53 INT16 Hmf;
54 PWMFRect16 BoundingBox;
55 INT16 Inch;
56 UINT32 Reserved;
57 INT16 Checksum;
58 } WmfPlaceableFileHeader;
59
60
61 class MetafileHeader
62 {
63 public:
64 VOID GetBounds(Rect *rect)
65 {
66 }
67
68 REAL GetDpiX(VOID)
69 {
70 return 0;
71 }
72
73 REAL GetDpiY(VOID)
74 {
75 return 0;
76 }
77
78 const ENHMETAHEADER3 *GetEmfHeader(VOID) const
79 {
80 return NULL;
81 }
82
83 UINT GetEmPlusFlags(VOID)
84 {
85 return 0;
86 }
87
88 UINT GetMetafileSize(VOID)
89 {
90 return 0;
91 }
92
93 MetafileType GetType(VOID)
94 {
95 return MetafileTypeInvalid;
96 }
97
98 UINT GetVersion(VOID)
99 {
100 return 0;
101 }
102
103 const METAHEADER *GetWmfHeader(VOID) const
104 {
105 return NULL;
106 }
107
108 BOOL IsDisplay(VOID) const
109 {
110 return FALSE;
111 }
112
113 BOOL IsEmf(VOID) const
114 {
115 return FALSE;
116 }
117
118 BOOL IsEmfOrEmfPlus(VOID) const
119 {
120 return FALSE;
121 }
122
123 BOOL IsEmfPlus(VOID) const
124 {
125 return FALSE;
126 }
127
128 BOOL IsEmfPlusDual(VOID) const
129 {
130 return FALSE;
131 }
132
133 BOOL IsEmfPlusOnly(VOID) const
134 {
135 return FALSE;
136 }
137
138 BOOL IsWmf(VOID)
139 {
140 return FALSE;
141 }
142
143 BOOL IsWmfPlaceable(VOID) const
144 {
145 return FALSE;
146 }
147
148 REAL DpiX;
149 REAL DpiY;
150 UINT EmfPlusFlags;
151 INT EmfPlusHeaderSize;
152 INT Height;
153 INT LogicalDpiX;
154 INT LogicalDpiY;
155 MetafileType Type;
156 UINT Version;
157 INT Width;
158 INT X;
159 INT Y;
160
161 union
162 {
163 METAHEADER WmfHeader;
164 ENHMETAHEADER3 EmfHeader;
165 };
166 };
167
168 #endif /* _GDIPLUSMETAHEADER_H */