1 /* File generated automatically from tools/winapi/test.dat; do not edit! */
2 /* This file can be copied, modified and distributed without restriction. */
5 * Unit tests for data structure packing
10 #include "wine/test.h"
16 /***********************************************************************
17 * Windows API extension
20 #if (_MSC_VER >= 1300) && defined(__cplusplus)
21 # define FIELD_ALIGNMENT(type, field) __alignof(((type*)0)->field)
22 #elif defined(__GNUC__)
23 # define FIELD_ALIGNMENT(type, field) __alignof__(((type*)0)->field)
25 /* FIXME: Not sure if is possible to do without compiler extension */
28 /***********************************************************************
32 #ifdef FIELD_ALIGNMENT
33 # define TEST_FIELD_ALIGNMENT(type, field, align) \
34 ok(FIELD_ALIGNMENT(type, field) == align, \
35 "FIELD_ALIGNMENT(" #type ", " #field ") == %d (expected " #align ")", \
36 FIELD_ALIGNMENT(type, field))
38 # define TEST_FIELD_ALIGNMENT(type, field, align) do { } while (0)
41 #define TEST_FIELD_OFFSET(type, field, offset) \
42 ok(FIELD_OFFSET(type, field) == offset, \
43 "FIELD_OFFSET(" #type ", " #field ") == %ld (expected " #offset ")", \
44 FIELD_OFFSET(type, field))
46 #define TEST_TYPE_ALIGNMENT(type, align) \
47 ok(TYPE_ALIGNMENT(type) == align, "TYPE_ALIGNMENT(" #type ") == %d (expected " #align ")", TYPE_ALIGNMENT(type))
49 #define TEST_TYPE_SIZE(type, size) \
50 ok(sizeof(type) == size, "sizeof(" #type ") == %d (expected " #size ")", sizeof(type))
52 /***********************************************************************
56 #define TEST_FIELD(type, field_type, field_name, field_offset, field_size, field_align) \
57 TEST_TYPE_SIZE(field_type, field_size); \
58 TEST_FIELD_ALIGNMENT(type, field_name, field_align); \
59 TEST_FIELD_OFFSET(type, field_name, field_offset); \
61 #define TEST_TYPE(type, size, align) \
62 TEST_TYPE_ALIGNMENT(type, align); \
63 TEST_TYPE_SIZE(type, size)
68 TEST_TYPE(ABC, 12, 4);
69 TEST_FIELD(ABC, INT, abcA, 0, 4, 4);
70 TEST_FIELD(ABC, UINT, abcB, 4, 4, 4);
71 TEST_FIELD(ABC, INT, abcC, 8, 4, 4);
73 /* ABCFLOAT (pack 4) */
74 TEST_TYPE(ABCFLOAT, 12, 4);
75 TEST_FIELD(ABCFLOAT, FLOAT, abcfA, 0, 4, 4);
76 TEST_FIELD(ABCFLOAT, FLOAT, abcfB, 4, 4, 4);
77 TEST_FIELD(ABCFLOAT, FLOAT, abcfC, 8, 4, 4);
80 TEST_TYPE(BITMAP, 24, 4);
81 TEST_FIELD(BITMAP, INT, bmType, 0, 4, 4);
82 TEST_FIELD(BITMAP, INT, bmWidth, 4, 4, 4);
83 TEST_FIELD(BITMAP, INT, bmHeight, 8, 4, 4);
84 TEST_FIELD(BITMAP, INT, bmWidthBytes, 12, 4, 4);
85 TEST_FIELD(BITMAP, WORD, bmPlanes, 16, 2, 2);
86 TEST_FIELD(BITMAP, WORD, bmBitsPixel, 18, 2, 2);
87 TEST_FIELD(BITMAP, LPVOID, bmBits, 20, 4, 4);
89 /* BITMAPCOREHEADER (pack 4) */
90 TEST_TYPE(BITMAPCOREHEADER, 12, 4);
91 TEST_FIELD(BITMAPCOREHEADER, DWORD, bcSize, 0, 4, 4);
92 TEST_FIELD(BITMAPCOREHEADER, WORD, bcWidth, 4, 2, 2);
93 TEST_FIELD(BITMAPCOREHEADER, WORD, bcHeight, 6, 2, 2);
94 TEST_FIELD(BITMAPCOREHEADER, WORD, bcPlanes, 8, 2, 2);
95 TEST_FIELD(BITMAPCOREHEADER, WORD, bcBitCount, 10, 2, 2);
97 /* BITMAPCOREINFO (pack 4) */
98 TEST_TYPE(BITMAPCOREINFO, 16, 4);
99 TEST_FIELD(BITMAPCOREINFO, BITMAPCOREHEADER, bmciHeader, 0, 12, 4);
100 TEST_FIELD(BITMAPCOREINFO, RGBTRIPLE[1], bmciColors, 12, 3, 1);
102 /* BITMAPFILEHEADER (pack 2) */
103 TEST_TYPE(BITMAPFILEHEADER, 14, 2);
104 TEST_FIELD(BITMAPFILEHEADER, WORD, bfType, 0, 2, 2);
105 TEST_FIELD(BITMAPFILEHEADER, DWORD, bfSize, 2, 4, 2);
106 TEST_FIELD(BITMAPFILEHEADER, WORD, bfReserved1, 6, 2, 2);
107 TEST_FIELD(BITMAPFILEHEADER, WORD, bfReserved2, 8, 2, 2);
108 TEST_FIELD(BITMAPFILEHEADER, DWORD, bfOffBits, 10, 4, 2);
110 /* BITMAPINFO (pack 4) */
111 TEST_TYPE(BITMAPINFO, 44, 4);
112 TEST_FIELD(BITMAPINFO, BITMAPINFOHEADER, bmiHeader, 0, 40, 4);
113 TEST_FIELD(BITMAPINFO, RGBQUAD[1], bmiColors, 40, 4, 1);
115 /* BITMAPINFOHEADER (pack 4) */
116 TEST_TYPE(BITMAPINFOHEADER, 40, 4);
117 TEST_FIELD(BITMAPINFOHEADER, DWORD, biSize, 0, 4, 4);
118 TEST_FIELD(BITMAPINFOHEADER, LONG, biWidth, 4, 4, 4);
119 TEST_FIELD(BITMAPINFOHEADER, LONG, biHeight, 8, 4, 4);
120 TEST_FIELD(BITMAPINFOHEADER, WORD, biPlanes, 12, 2, 2);
121 TEST_FIELD(BITMAPINFOHEADER, WORD, biBitCount, 14, 2, 2);
122 TEST_FIELD(BITMAPINFOHEADER, DWORD, biCompression, 16, 4, 4);
123 TEST_FIELD(BITMAPINFOHEADER, DWORD, biSizeImage, 20, 4, 4);
124 TEST_FIELD(BITMAPINFOHEADER, LONG, biXPelsPerMeter, 24, 4, 4);
125 TEST_FIELD(BITMAPINFOHEADER, LONG, biYPelsPerMeter, 28, 4, 4);
126 TEST_FIELD(BITMAPINFOHEADER, DWORD, biClrUsed, 32, 4, 4);
127 TEST_FIELD(BITMAPINFOHEADER, DWORD, biClrImportant, 36, 4, 4);
129 /* BITMAPV4HEADER (pack 4) */
130 TEST_TYPE(BITMAPV4HEADER, 108, 4);
131 TEST_FIELD(BITMAPV4HEADER, DWORD, bV4Size, 0, 4, 4);
132 TEST_FIELD(BITMAPV4HEADER, LONG, bV4Width, 4, 4, 4);
133 TEST_FIELD(BITMAPV4HEADER, LONG, bV4Height, 8, 4, 4);
134 TEST_FIELD(BITMAPV4HEADER, WORD, bV4Planes, 12, 2, 2);
135 TEST_FIELD(BITMAPV4HEADER, WORD, bV4BitCount, 14, 2, 2);
136 TEST_FIELD(BITMAPV4HEADER, DWORD, bV4Compression, 16, 4, 4);
137 TEST_FIELD(BITMAPV4HEADER, DWORD, bV4SizeImage, 20, 4, 4);
138 TEST_FIELD(BITMAPV4HEADER, LONG, bV4XPelsPerMeter, 24, 4, 4);
139 TEST_FIELD(BITMAPV4HEADER, LONG, bV4YPelsPerMeter, 28, 4, 4);
140 TEST_FIELD(BITMAPV4HEADER, DWORD, bV4ClrUsed, 32, 4, 4);
141 TEST_FIELD(BITMAPV4HEADER, DWORD, bV4ClrImportant, 36, 4, 4);
142 TEST_FIELD(BITMAPV4HEADER, DWORD, bV4RedMask, 40, 4, 4);
143 TEST_FIELD(BITMAPV4HEADER, DWORD, bV4GreenMask, 44, 4, 4);
144 TEST_FIELD(BITMAPV4HEADER, DWORD, bV4BlueMask, 48, 4, 4);
145 TEST_FIELD(BITMAPV4HEADER, DWORD, bV4AlphaMask, 52, 4, 4);
146 TEST_FIELD(BITMAPV4HEADER, DWORD, bV4CSType, 56, 4, 4);
147 TEST_FIELD(BITMAPV4HEADER, CIEXYZTRIPLE, bV4Endpoints, 60, 36, 4);
148 TEST_FIELD(BITMAPV4HEADER, DWORD, bV4GammaRed, 96, 4, 4);
149 TEST_FIELD(BITMAPV4HEADER, DWORD, bV4GammaGreen, 100, 4, 4);
150 TEST_FIELD(BITMAPV4HEADER, DWORD, bV4GammaBlue, 104, 4, 4);
152 /* BITMAPV5HEADER (pack 4) */
153 TEST_TYPE(BITMAPV5HEADER, 124, 4);
154 TEST_FIELD(BITMAPV5HEADER, DWORD, bV5Size, 0, 4, 4);
155 TEST_FIELD(BITMAPV5HEADER, LONG, bV5Width, 4, 4, 4);
156 TEST_FIELD(BITMAPV5HEADER, LONG, bV5Height, 8, 4, 4);
157 TEST_FIELD(BITMAPV5HEADER, WORD, bV5Planes, 12, 2, 2);
158 TEST_FIELD(BITMAPV5HEADER, WORD, bV5BitCount, 14, 2, 2);
159 TEST_FIELD(BITMAPV5HEADER, DWORD, bV5Compression, 16, 4, 4);
160 TEST_FIELD(BITMAPV5HEADER, DWORD, bV5SizeImage, 20, 4, 4);
161 TEST_FIELD(BITMAPV5HEADER, LONG, bV5XPelsPerMeter, 24, 4, 4);
162 TEST_FIELD(BITMAPV5HEADER, LONG, bV5YPelsPerMeter, 28, 4, 4);
163 TEST_FIELD(BITMAPV5HEADER, DWORD, bV5ClrUsed, 32, 4, 4);
164 TEST_FIELD(BITMAPV5HEADER, DWORD, bV5ClrImportant, 36, 4, 4);
165 TEST_FIELD(BITMAPV5HEADER, DWORD, bV5RedMask, 40, 4, 4);
166 TEST_FIELD(BITMAPV5HEADER, DWORD, bV5GreenMask, 44, 4, 4);
167 TEST_FIELD(BITMAPV5HEADER, DWORD, bV5BlueMask, 48, 4, 4);
168 TEST_FIELD(BITMAPV5HEADER, DWORD, bV5AlphaMask, 52, 4, 4);
169 TEST_FIELD(BITMAPV5HEADER, DWORD, bV5CSType, 56, 4, 4);
170 TEST_FIELD(BITMAPV5HEADER, CIEXYZTRIPLE, bV5Endpoints, 60, 36, 4);
171 TEST_FIELD(BITMAPV5HEADER, DWORD, bV5GammaRed, 96, 4, 4);
172 TEST_FIELD(BITMAPV5HEADER, DWORD, bV5GammaGreen, 100, 4, 4);
173 TEST_FIELD(BITMAPV5HEADER, DWORD, bV5GammaBlue, 104, 4, 4);
174 TEST_FIELD(BITMAPV5HEADER, DWORD, bV5Intent, 108, 4, 4);
175 TEST_FIELD(BITMAPV5HEADER, DWORD, bV5ProfileData, 112, 4, 4);
176 TEST_FIELD(BITMAPV5HEADER, DWORD, bV5ProfileSize, 116, 4, 4);
177 TEST_FIELD(BITMAPV5HEADER, DWORD, bV5Reserved, 120, 4, 4);
179 /* BLENDFUNCTION (pack 4) */
180 TEST_TYPE(BLENDFUNCTION, 4, 1);
181 TEST_FIELD(BLENDFUNCTION, BYTE, BlendOp, 0, 1, 1);
182 TEST_FIELD(BLENDFUNCTION, BYTE, BlendFlags, 1, 1, 1);
183 TEST_FIELD(BLENDFUNCTION, BYTE, SourceConstantAlpha, 2, 1, 1);
184 TEST_FIELD(BLENDFUNCTION, BYTE, AlphaFormat, 3, 1, 1);
186 /* CHARSETINFO (pack 4) */
187 TEST_TYPE(CHARSETINFO, 32, 4);
188 TEST_FIELD(CHARSETINFO, UINT, ciCharset, 0, 4, 4);
189 TEST_FIELD(CHARSETINFO, UINT, ciACP, 4, 4, 4);
190 TEST_FIELD(CHARSETINFO, FONTSIGNATURE, fs, 8, 24, 4);
192 /* CIEXYZ (pack 4) */
193 TEST_TYPE(CIEXYZ, 12, 4);
194 TEST_FIELD(CIEXYZ, FXPT2DOT30, ciexyzX, 0, 4, 4);
195 TEST_FIELD(CIEXYZ, FXPT2DOT30, ciexyzY, 4, 4, 4);
196 TEST_FIELD(CIEXYZ, FXPT2DOT30, ciexyzZ, 8, 4, 4);
198 /* CIEXYZTRIPLE (pack 4) */
199 TEST_TYPE(CIEXYZTRIPLE, 36, 4);
200 TEST_FIELD(CIEXYZTRIPLE, CIEXYZ, ciexyzRed, 0, 12, 4);
201 TEST_FIELD(CIEXYZTRIPLE, CIEXYZ, ciexyzGreen, 12, 12, 4);
202 TEST_FIELD(CIEXYZTRIPLE, CIEXYZ, ciexyzBlue, 24, 12, 4);
204 /* COLORADJUSTMENT (pack 4) */
205 TEST_TYPE(COLORADJUSTMENT, 24, 2);
206 TEST_FIELD(COLORADJUSTMENT, WORD, caSize, 0, 2, 2);
207 TEST_FIELD(COLORADJUSTMENT, WORD, caFlags, 2, 2, 2);
208 TEST_FIELD(COLORADJUSTMENT, WORD, caIlluminantIndex, 4, 2, 2);
209 TEST_FIELD(COLORADJUSTMENT, WORD, caRedGamma, 6, 2, 2);
210 TEST_FIELD(COLORADJUSTMENT, WORD, caGreenGamma, 8, 2, 2);
211 TEST_FIELD(COLORADJUSTMENT, WORD, caBlueGamma, 10, 2, 2);
212 TEST_FIELD(COLORADJUSTMENT, WORD, caReferenceBlack, 12, 2, 2);
213 TEST_FIELD(COLORADJUSTMENT, WORD, caReferenceWhite, 14, 2, 2);
214 TEST_FIELD(COLORADJUSTMENT, SHORT, caContrast, 16, 2, 2);
215 TEST_FIELD(COLORADJUSTMENT, SHORT, caBrightness, 18, 2, 2);
216 TEST_FIELD(COLORADJUSTMENT, SHORT, caColorfulness, 20, 2, 2);
217 TEST_FIELD(COLORADJUSTMENT, SHORT, caRedGreenTint, 22, 2, 2);
219 /* DIBSECTION (pack 4) */
220 TEST_TYPE(DIBSECTION, 84, 4);
221 TEST_FIELD(DIBSECTION, BITMAP, dsBm, 0, 24, 4);
222 TEST_FIELD(DIBSECTION, BITMAPINFOHEADER, dsBmih, 24, 40, 4);
223 TEST_FIELD(DIBSECTION, DWORD[3], dsBitfields, 64, 12, 4);
224 TEST_FIELD(DIBSECTION, HANDLE, dshSection, 76, 4, 4);
225 TEST_FIELD(DIBSECTION, DWORD, dsOffset, 80, 4, 4);
227 /* DISPLAY_DEVICEA (pack 4) */
228 TEST_TYPE(DISPLAY_DEVICEA, 424, 4);
229 TEST_FIELD(DISPLAY_DEVICEA, DWORD, cb, 0, 4, 4);
230 TEST_FIELD(DISPLAY_DEVICEA, CHAR[32], DeviceName, 4, 32, 1);
231 TEST_FIELD(DISPLAY_DEVICEA, CHAR[128], DeviceString, 36, 128, 1);
232 TEST_FIELD(DISPLAY_DEVICEA, DWORD, StateFlags, 164, 4, 4);
233 TEST_FIELD(DISPLAY_DEVICEA, CHAR[128], DeviceID, 168, 128, 1);
234 TEST_FIELD(DISPLAY_DEVICEA, CHAR[128], DeviceKey, 296, 128, 1);
236 /* DISPLAY_DEVICEW (pack 4) */
237 TEST_TYPE(DISPLAY_DEVICEW, 840, 4);
238 TEST_FIELD(DISPLAY_DEVICEW, DWORD, cb, 0, 4, 4);
239 TEST_FIELD(DISPLAY_DEVICEW, WCHAR[32], DeviceName, 4, 64, 2);
240 TEST_FIELD(DISPLAY_DEVICEW, WCHAR[128], DeviceString, 68, 256, 2);
241 TEST_FIELD(DISPLAY_DEVICEW, DWORD, StateFlags, 324, 4, 4);
242 TEST_FIELD(DISPLAY_DEVICEW, WCHAR[128], DeviceID, 328, 256, 2);
243 TEST_FIELD(DISPLAY_DEVICEW, WCHAR[128], DeviceKey, 584, 256, 2);
245 /* DOCINFOA (pack 4) */
246 TEST_TYPE(DOCINFOA, 20, 4);
247 TEST_FIELD(DOCINFOA, INT, cbSize, 0, 4, 4);
248 TEST_FIELD(DOCINFOA, LPCSTR, lpszDocName, 4, 4, 4);
249 TEST_FIELD(DOCINFOA, LPCSTR, lpszOutput, 8, 4, 4);
250 TEST_FIELD(DOCINFOA, LPCSTR, lpszDatatype, 12, 4, 4);
251 TEST_FIELD(DOCINFOA, DWORD, fwType, 16, 4, 4);
253 /* DOCINFOW (pack 4) */
254 TEST_TYPE(DOCINFOW, 20, 4);
255 TEST_FIELD(DOCINFOW, INT, cbSize, 0, 4, 4);
256 TEST_FIELD(DOCINFOW, LPCWSTR, lpszDocName, 4, 4, 4);
257 TEST_FIELD(DOCINFOW, LPCWSTR, lpszOutput, 8, 4, 4);
258 TEST_FIELD(DOCINFOW, LPCWSTR, lpszDatatype, 12, 4, 4);
259 TEST_FIELD(DOCINFOW, DWORD, fwType, 16, 4, 4);
262 TEST_TYPE(EMR, 8, 4);
263 TEST_FIELD(EMR, DWORD, iType, 0, 4, 4);
264 TEST_FIELD(EMR, DWORD, nSize, 4, 4, 4);
266 /* EMRABORTPATH (pack 4) */
267 TEST_TYPE(EMRABORTPATH, 8, 4);
268 TEST_FIELD(EMRABORTPATH, EMR, emr, 0, 8, 4);
270 /* EMRANGLEARC (pack 4) */
271 TEST_TYPE(EMRANGLEARC, 28, 4);
272 TEST_FIELD(EMRANGLEARC, EMR, emr, 0, 8, 4);
273 TEST_FIELD(EMRANGLEARC, POINTL, ptlCenter, 8, 8, 4);
274 TEST_FIELD(EMRANGLEARC, DWORD, nRadius, 16, 4, 4);
275 TEST_FIELD(EMRANGLEARC, FLOAT, eStartAngle, 20, 4, 4);
276 TEST_FIELD(EMRANGLEARC, FLOAT, eSweepAngle, 24, 4, 4);
278 /* EMRARC (pack 4) */
279 TEST_TYPE(EMRARC, 40, 4);
280 TEST_FIELD(EMRARC, EMR, emr, 0, 8, 4);
281 TEST_FIELD(EMRARC, RECTL, rclBox, 8, 16, 4);
282 TEST_FIELD(EMRARC, POINTL, ptlStart, 24, 8, 4);
283 TEST_FIELD(EMRARC, POINTL, ptlEnd, 32, 8, 4);
285 /* EMRBITBLT (pack 4) */
286 TEST_TYPE(EMRBITBLT, 100, 4);
287 TEST_FIELD(EMRBITBLT, EMR, emr, 0, 8, 4);
288 TEST_FIELD(EMRBITBLT, RECTL, rclBounds, 8, 16, 4);
289 TEST_FIELD(EMRBITBLT, LONG, xDest, 24, 4, 4);
290 TEST_FIELD(EMRBITBLT, LONG, yDest, 28, 4, 4);
291 TEST_FIELD(EMRBITBLT, LONG, cxDest, 32, 4, 4);
292 TEST_FIELD(EMRBITBLT, LONG, cyDest, 36, 4, 4);
293 TEST_FIELD(EMRBITBLT, DWORD, dwRop, 40, 4, 4);
294 TEST_FIELD(EMRBITBLT, LONG, xSrc, 44, 4, 4);
295 TEST_FIELD(EMRBITBLT, LONG, ySrc, 48, 4, 4);
296 TEST_FIELD(EMRBITBLT, XFORM, xformSrc, 52, 24, 4);
297 TEST_FIELD(EMRBITBLT, COLORREF, crBkColorSrc, 76, 4, 4);
298 TEST_FIELD(EMRBITBLT, DWORD, iUsageSrc, 80, 4, 4);
299 TEST_FIELD(EMRBITBLT, DWORD, offBmiSrc, 84, 4, 4);
300 TEST_FIELD(EMRBITBLT, DWORD, cbBmiSrc, 88, 4, 4);
301 TEST_FIELD(EMRBITBLT, DWORD, offBitsSrc, 92, 4, 4);
302 TEST_FIELD(EMRBITBLT, DWORD, cbBitsSrc, 96, 4, 4);
304 /* EMRCREATEBRUSHINDIRECT (pack 4) */
305 TEST_TYPE(EMRCREATEBRUSHINDIRECT, 24, 4);
306 TEST_FIELD(EMRCREATEBRUSHINDIRECT, EMR, emr, 0, 8, 4);
307 TEST_FIELD(EMRCREATEBRUSHINDIRECT, DWORD, ihBrush, 8, 4, 4);
308 TEST_FIELD(EMRCREATEBRUSHINDIRECT, LOGBRUSH, lb, 12, 12, 4);
310 /* EMRCREATECOLORSPACE (pack 4) */
311 TEST_TYPE(EMRCREATECOLORSPACE, 340, 4);
312 TEST_FIELD(EMRCREATECOLORSPACE, EMR, emr, 0, 8, 4);
313 TEST_FIELD(EMRCREATECOLORSPACE, DWORD, ihCS, 8, 4, 4);
314 TEST_FIELD(EMRCREATECOLORSPACE, LOGCOLORSPACEA, lcs, 12, 328, 4);
316 /* EMRCREATECOLORSPACEW (pack 4) */
317 TEST_TYPE(EMRCREATECOLORSPACEW, 612, 4);
318 TEST_FIELD(EMRCREATECOLORSPACEW, EMR, emr, 0, 8, 4);
319 TEST_FIELD(EMRCREATECOLORSPACEW, DWORD, ihCS, 8, 4, 4);
320 TEST_FIELD(EMRCREATECOLORSPACEW, LOGCOLORSPACEW, lcs, 12, 588, 4);
321 TEST_FIELD(EMRCREATECOLORSPACEW, DWORD, dwFlags, 600, 4, 4);
322 TEST_FIELD(EMRCREATECOLORSPACEW, DWORD, cbData, 604, 4, 4);
323 TEST_FIELD(EMRCREATECOLORSPACEW, BYTE[1], Data, 608, 1, 1);
325 /* EMRCREATEDIBPATTERNBRUSHPT (pack 4) */
326 TEST_TYPE(EMRCREATEDIBPATTERNBRUSHPT, 32, 4);
327 TEST_FIELD(EMRCREATEDIBPATTERNBRUSHPT, EMR, emr, 0, 8, 4);
328 TEST_FIELD(EMRCREATEDIBPATTERNBRUSHPT, DWORD, ihBrush, 8, 4, 4);
329 TEST_FIELD(EMRCREATEDIBPATTERNBRUSHPT, DWORD, iUsage, 12, 4, 4);
330 TEST_FIELD(EMRCREATEDIBPATTERNBRUSHPT, DWORD, offBmi, 16, 4, 4);
331 TEST_FIELD(EMRCREATEDIBPATTERNBRUSHPT, DWORD, cbBmi, 20, 4, 4);
332 TEST_FIELD(EMRCREATEDIBPATTERNBRUSHPT, DWORD, offBits, 24, 4, 4);
333 TEST_FIELD(EMRCREATEDIBPATTERNBRUSHPT, DWORD, cbBits, 28, 4, 4);
335 /* EMRCREATEMONOBRUSH (pack 4) */
336 TEST_TYPE(EMRCREATEMONOBRUSH, 32, 4);
337 TEST_FIELD(EMRCREATEMONOBRUSH, EMR, emr, 0, 8, 4);
338 TEST_FIELD(EMRCREATEMONOBRUSH, DWORD, ihBrush, 8, 4, 4);
339 TEST_FIELD(EMRCREATEMONOBRUSH, DWORD, iUsage, 12, 4, 4);
340 TEST_FIELD(EMRCREATEMONOBRUSH, DWORD, offBmi, 16, 4, 4);
341 TEST_FIELD(EMRCREATEMONOBRUSH, DWORD, cbBmi, 20, 4, 4);
342 TEST_FIELD(EMRCREATEMONOBRUSH, DWORD, offBits, 24, 4, 4);
343 TEST_FIELD(EMRCREATEMONOBRUSH, DWORD, cbBits, 28, 4, 4);
345 /* EMRCREATEPEN (pack 4) */
346 TEST_TYPE(EMRCREATEPEN, 28, 4);
347 TEST_FIELD(EMRCREATEPEN, EMR, emr, 0, 8, 4);
348 TEST_FIELD(EMRCREATEPEN, DWORD, ihPen, 8, 4, 4);
349 TEST_FIELD(EMRCREATEPEN, LOGPEN, lopn, 12, 16, 4);
351 /* EMRDELETECOLORSPACE (pack 4) */
352 TEST_TYPE(EMRDELETECOLORSPACE, 12, 4);
353 TEST_FIELD(EMRDELETECOLORSPACE, EMR, emr, 0, 8, 4);
354 TEST_FIELD(EMRDELETECOLORSPACE, DWORD, ihCS, 8, 4, 4);
356 /* EMRDELETEOBJECT (pack 4) */
357 TEST_TYPE(EMRDELETEOBJECT, 12, 4);
358 TEST_FIELD(EMRDELETEOBJECT, EMR, emr, 0, 8, 4);
359 TEST_FIELD(EMRDELETEOBJECT, DWORD, ihObject, 8, 4, 4);
361 /* EMRELLIPSE (pack 4) */
362 TEST_TYPE(EMRELLIPSE, 24, 4);
363 TEST_FIELD(EMRELLIPSE, EMR, emr, 0, 8, 4);
364 TEST_FIELD(EMRELLIPSE, RECTL, rclBox, 8, 16, 4);
366 /* EMREOF (pack 4) */
367 TEST_TYPE(EMREOF, 20, 4);
368 TEST_FIELD(EMREOF, EMR, emr, 0, 8, 4);
369 TEST_FIELD(EMREOF, DWORD, nPalEntries, 8, 4, 4);
370 TEST_FIELD(EMREOF, DWORD, offPalEntries, 12, 4, 4);
371 TEST_FIELD(EMREOF, DWORD, nSizeLast, 16, 4, 4);
373 /* EMREXCLUDECLIPRECT (pack 4) */
374 TEST_TYPE(EMREXCLUDECLIPRECT, 24, 4);
375 TEST_FIELD(EMREXCLUDECLIPRECT, EMR, emr, 0, 8, 4);
376 TEST_FIELD(EMREXCLUDECLIPRECT, RECTL, rclClip, 8, 16, 4);
378 /* EMREXTCREATEFONTINDIRECTW (pack 4) */
379 TEST_TYPE(EMREXTCREATEFONTINDIRECTW, 332, 4);
380 TEST_FIELD(EMREXTCREATEFONTINDIRECTW, EMR, emr, 0, 8, 4);
381 TEST_FIELD(EMREXTCREATEFONTINDIRECTW, DWORD, ihFont, 8, 4, 4);
382 TEST_FIELD(EMREXTCREATEFONTINDIRECTW, EXTLOGFONTW, elfw, 12, 320, 4);
384 /* EMREXTCREATEPEN (pack 4) */
385 TEST_TYPE(EMREXTCREATEPEN, 56, 4);
386 TEST_FIELD(EMREXTCREATEPEN, EMR, emr, 0, 8, 4);
387 TEST_FIELD(EMREXTCREATEPEN, DWORD, ihPen, 8, 4, 4);
388 TEST_FIELD(EMREXTCREATEPEN, DWORD, offBmi, 12, 4, 4);
389 TEST_FIELD(EMREXTCREATEPEN, DWORD, cbBmi, 16, 4, 4);
390 TEST_FIELD(EMREXTCREATEPEN, DWORD, offBits, 20, 4, 4);
391 TEST_FIELD(EMREXTCREATEPEN, DWORD, cbBits, 24, 4, 4);
392 TEST_FIELD(EMREXTCREATEPEN, EXTLOGPEN, elp, 28, 28, 4);
394 /* EMREXTFLOODFILL (pack 4) */
395 TEST_TYPE(EMREXTFLOODFILL, 24, 4);
396 TEST_FIELD(EMREXTFLOODFILL, EMR, emr, 0, 8, 4);
397 TEST_FIELD(EMREXTFLOODFILL, POINTL, ptlStart, 8, 8, 4);
398 TEST_FIELD(EMREXTFLOODFILL, COLORREF, crColor, 16, 4, 4);
399 TEST_FIELD(EMREXTFLOODFILL, DWORD, iMode, 20, 4, 4);
401 /* EMREXTSELECTCLIPRGN (pack 4) */
402 TEST_TYPE(EMREXTSELECTCLIPRGN, 20, 4);
403 TEST_FIELD(EMREXTSELECTCLIPRGN, EMR, emr, 0, 8, 4);
404 TEST_FIELD(EMREXTSELECTCLIPRGN, DWORD, cbRgnData, 8, 4, 4);
405 TEST_FIELD(EMREXTSELECTCLIPRGN, DWORD, iMode, 12, 4, 4);
406 TEST_FIELD(EMREXTSELECTCLIPRGN, BYTE[1], RgnData, 16, 1, 1);
408 /* EMREXTTEXTOUTA (pack 4) */
409 TEST_TYPE(EMREXTTEXTOUTA, 76, 4);
410 TEST_FIELD(EMREXTTEXTOUTA, EMR, emr, 0, 8, 4);
411 TEST_FIELD(EMREXTTEXTOUTA, RECTL, rclBounds, 8, 16, 4);
412 TEST_FIELD(EMREXTTEXTOUTA, DWORD, iGraphicsMode, 24, 4, 4);
413 TEST_FIELD(EMREXTTEXTOUTA, FLOAT, exScale, 28, 4, 4);
414 TEST_FIELD(EMREXTTEXTOUTA, FLOAT, eyScale, 32, 4, 4);
415 TEST_FIELD(EMREXTTEXTOUTA, EMRTEXT, emrtext, 36, 40, 4);
417 /* EMRFILLPATH (pack 4) */
418 TEST_TYPE(EMRFILLPATH, 24, 4);
419 TEST_FIELD(EMRFILLPATH, EMR, emr, 0, 8, 4);
420 TEST_FIELD(EMRFILLPATH, RECTL, rclBounds, 8, 16, 4);
422 /* EMRFILLRGN (pack 4) */
423 TEST_TYPE(EMRFILLRGN, 36, 4);
424 TEST_FIELD(EMRFILLRGN, EMR, emr, 0, 8, 4);
425 TEST_FIELD(EMRFILLRGN, RECTL, rclBounds, 8, 16, 4);
426 TEST_FIELD(EMRFILLRGN, DWORD, cbRgnData, 24, 4, 4);
427 TEST_FIELD(EMRFILLRGN, DWORD, ihBrush, 28, 4, 4);
428 TEST_FIELD(EMRFILLRGN, BYTE[1], RgnData, 32, 1, 1);
430 /* EMRFORMAT (pack 4) */
431 TEST_TYPE(EMRFORMAT, 16, 4);
432 TEST_FIELD(EMRFORMAT, DWORD, signature, 0, 4, 4);
433 TEST_FIELD(EMRFORMAT, DWORD, nVersion, 4, 4, 4);
434 TEST_FIELD(EMRFORMAT, DWORD, cbData, 8, 4, 4);
435 TEST_FIELD(EMRFORMAT, DWORD, offData, 12, 4, 4);
437 /* EMRFRAMERGN (pack 4) */
438 TEST_TYPE(EMRFRAMERGN, 44, 4);
439 TEST_FIELD(EMRFRAMERGN, EMR, emr, 0, 8, 4);
440 TEST_FIELD(EMRFRAMERGN, RECTL, rclBounds, 8, 16, 4);
441 TEST_FIELD(EMRFRAMERGN, DWORD, cbRgnData, 24, 4, 4);
442 TEST_FIELD(EMRFRAMERGN, DWORD, ihBrush, 28, 4, 4);
443 TEST_FIELD(EMRFRAMERGN, SIZEL, szlStroke, 32, 8, 4);
444 TEST_FIELD(EMRFRAMERGN, BYTE[1], RgnData, 40, 1, 1);
446 /* EMRGDICOMMENT (pack 4) */
447 TEST_TYPE(EMRGDICOMMENT, 16, 4);
448 TEST_FIELD(EMRGDICOMMENT, EMR, emr, 0, 8, 4);
449 TEST_FIELD(EMRGDICOMMENT, DWORD, cbData, 8, 4, 4);
450 TEST_FIELD(EMRGDICOMMENT, BYTE[1], Data, 12, 1, 1);
452 /* EMRGLSBOUNDEDRECORD (pack 4) */
453 TEST_TYPE(EMRGLSBOUNDEDRECORD, 32, 4);
454 TEST_FIELD(EMRGLSBOUNDEDRECORD, EMR, emr, 0, 8, 4);
455 TEST_FIELD(EMRGLSBOUNDEDRECORD, RECTL, rclBounds, 8, 16, 4);
456 TEST_FIELD(EMRGLSBOUNDEDRECORD, DWORD, cbData, 24, 4, 4);
457 TEST_FIELD(EMRGLSBOUNDEDRECORD, BYTE[1], Data, 28, 1, 1);
459 /* EMRGLSRECORD (pack 4) */
460 TEST_TYPE(EMRGLSRECORD, 16, 4);
461 TEST_FIELD(EMRGLSRECORD, EMR, emr, 0, 8, 4);
462 TEST_FIELD(EMRGLSRECORD, DWORD, cbData, 8, 4, 4);
463 TEST_FIELD(EMRGLSRECORD, BYTE[1], Data, 12, 1, 1);
465 /* EMRINVERTRGN (pack 4) */
466 TEST_TYPE(EMRINVERTRGN, 32, 4);
467 TEST_FIELD(EMRINVERTRGN, EMR, emr, 0, 8, 4);
468 TEST_FIELD(EMRINVERTRGN, RECTL, rclBounds, 8, 16, 4);
469 TEST_FIELD(EMRINVERTRGN, DWORD, cbRgnData, 24, 4, 4);
470 TEST_FIELD(EMRINVERTRGN, BYTE[1], RgnData, 28, 1, 1);
472 /* EMRLINETO (pack 4) */
473 TEST_TYPE(EMRLINETO, 16, 4);
474 TEST_FIELD(EMRLINETO, EMR, emr, 0, 8, 4);
475 TEST_FIELD(EMRLINETO, POINTL, ptl, 8, 8, 4);
477 /* EMRMASKBLT (pack 4) */
478 TEST_TYPE(EMRMASKBLT, 128, 4);
479 TEST_FIELD(EMRMASKBLT, EMR, emr, 0, 8, 4);
480 TEST_FIELD(EMRMASKBLT, RECTL, rclBounds, 8, 16, 4);
481 TEST_FIELD(EMRMASKBLT, LONG, xDest, 24, 4, 4);
482 TEST_FIELD(EMRMASKBLT, LONG, yDest, 28, 4, 4);
483 TEST_FIELD(EMRMASKBLT, LONG, cxDest, 32, 4, 4);
484 TEST_FIELD(EMRMASKBLT, LONG, cyDest, 36, 4, 4);
485 TEST_FIELD(EMRMASKBLT, DWORD, dwRop, 40, 4, 4);
486 TEST_FIELD(EMRMASKBLT, LONG, xSrc, 44, 4, 4);
487 TEST_FIELD(EMRMASKBLT, LONG, ySrc, 48, 4, 4);
488 TEST_FIELD(EMRMASKBLT, XFORM, xformSrc, 52, 24, 4);
489 TEST_FIELD(EMRMASKBLT, COLORREF, crBkColorSrc, 76, 4, 4);
490 TEST_FIELD(EMRMASKBLT, DWORD, iUsageSrc, 80, 4, 4);
491 TEST_FIELD(EMRMASKBLT, DWORD, offBmiSrc, 84, 4, 4);
492 TEST_FIELD(EMRMASKBLT, DWORD, cbBmiSrc, 88, 4, 4);
493 TEST_FIELD(EMRMASKBLT, DWORD, offBitsSrc, 92, 4, 4);
494 TEST_FIELD(EMRMASKBLT, DWORD, cbBitsSrc, 96, 4, 4);
495 TEST_FIELD(EMRMASKBLT, LONG, xMask, 100, 4, 4);
496 TEST_FIELD(EMRMASKBLT, LONG, yMask, 104, 4, 4);
497 TEST_FIELD(EMRMASKBLT, DWORD, iUsageMask, 108, 4, 4);
498 TEST_FIELD(EMRMASKBLT, DWORD, offBmiMask, 112, 4, 4);
499 TEST_FIELD(EMRMASKBLT, DWORD, cbBmiMask, 116, 4, 4);
500 TEST_FIELD(EMRMASKBLT, DWORD, offBitsMask, 120, 4, 4);
501 TEST_FIELD(EMRMASKBLT, DWORD, cbBitsMask, 124, 4, 4);
503 /* EMRMODIFYWORLDTRANSFORM (pack 4) */
504 TEST_TYPE(EMRMODIFYWORLDTRANSFORM, 36, 4);
505 TEST_FIELD(EMRMODIFYWORLDTRANSFORM, EMR, emr, 0, 8, 4);
506 TEST_FIELD(EMRMODIFYWORLDTRANSFORM, XFORM, xform, 8, 24, 4);
507 TEST_FIELD(EMRMODIFYWORLDTRANSFORM, DWORD, iMode, 32, 4, 4);
509 /* EMROFFSETCLIPRGN (pack 4) */
510 TEST_TYPE(EMROFFSETCLIPRGN, 16, 4);
511 TEST_FIELD(EMROFFSETCLIPRGN, EMR, emr, 0, 8, 4);
512 TEST_FIELD(EMROFFSETCLIPRGN, POINTL, ptlOffset, 8, 8, 4);
514 /* EMRPIXELFORMAT (pack 4) */
515 TEST_TYPE(EMRPIXELFORMAT, 48, 4);
516 TEST_FIELD(EMRPIXELFORMAT, EMR, emr, 0, 8, 4);
517 TEST_FIELD(EMRPIXELFORMAT, PIXELFORMATDESCRIPTOR, pfd, 8, 40, 4);
519 /* EMRPLGBLT (pack 4) */
520 TEST_TYPE(EMRPLGBLT, 140, 4);
521 TEST_FIELD(EMRPLGBLT, EMR, emr, 0, 8, 4);
522 TEST_FIELD(EMRPLGBLT, RECTL, rclBounds, 8, 16, 4);
523 TEST_FIELD(EMRPLGBLT, POINTL[3], aptlDst, 24, 24, 4);
524 TEST_FIELD(EMRPLGBLT, LONG, xSrc, 48, 4, 4);
525 TEST_FIELD(EMRPLGBLT, LONG, ySrc, 52, 4, 4);
526 TEST_FIELD(EMRPLGBLT, LONG, cxSrc, 56, 4, 4);
527 TEST_FIELD(EMRPLGBLT, LONG, cySrc, 60, 4, 4);
528 TEST_FIELD(EMRPLGBLT, XFORM, xformSrc, 64, 24, 4);
529 TEST_FIELD(EMRPLGBLT, COLORREF, crBkColorSrc, 88, 4, 4);
530 TEST_FIELD(EMRPLGBLT, DWORD, iUsageSrc, 92, 4, 4);
531 TEST_FIELD(EMRPLGBLT, DWORD, offBmiSrc, 96, 4, 4);
532 TEST_FIELD(EMRPLGBLT, DWORD, cbBmiSrc, 100, 4, 4);
533 TEST_FIELD(EMRPLGBLT, DWORD, offBitsSrc, 104, 4, 4);
534 TEST_FIELD(EMRPLGBLT, DWORD, cbBitsSrc, 108, 4, 4);
535 TEST_FIELD(EMRPLGBLT, LONG, xMask, 112, 4, 4);
536 TEST_FIELD(EMRPLGBLT, LONG, yMask, 116, 4, 4);
537 TEST_FIELD(EMRPLGBLT, DWORD, iUsageMask, 120, 4, 4);
538 TEST_FIELD(EMRPLGBLT, DWORD, offBmiMask, 124, 4, 4);
539 TEST_FIELD(EMRPLGBLT, DWORD, cbBmiMask, 128, 4, 4);
540 TEST_FIELD(EMRPLGBLT, DWORD, offBitsMask, 132, 4, 4);
541 TEST_FIELD(EMRPLGBLT, DWORD, cbBitsMask, 136, 4, 4);
543 /* EMRPOLYDRAW (pack 4) */
544 TEST_TYPE(EMRPOLYDRAW, 40, 4);
545 TEST_FIELD(EMRPOLYDRAW, EMR, emr, 0, 8, 4);
546 TEST_FIELD(EMRPOLYDRAW, RECTL, rclBounds, 8, 16, 4);
547 TEST_FIELD(EMRPOLYDRAW, DWORD, cptl, 24, 4, 4);
548 TEST_FIELD(EMRPOLYDRAW, POINTL[1], aptl, 28, 8, 4);
549 TEST_FIELD(EMRPOLYDRAW, BYTE[1], abTypes, 36, 1, 1);
551 /* EMRPOLYLINE (pack 4) */
552 TEST_TYPE(EMRPOLYLINE, 36, 4);
553 TEST_FIELD(EMRPOLYLINE, EMR, emr, 0, 8, 4);
554 TEST_FIELD(EMRPOLYLINE, RECTL, rclBounds, 8, 16, 4);
555 TEST_FIELD(EMRPOLYLINE, DWORD, cptl, 24, 4, 4);
556 TEST_FIELD(EMRPOLYLINE, POINTL[1], aptl, 28, 8, 4);
558 /* EMRPOLYPOLYLINE (pack 4) */
559 TEST_TYPE(EMRPOLYPOLYLINE, 44, 4);
560 TEST_FIELD(EMRPOLYPOLYLINE, EMR, emr, 0, 8, 4);
561 TEST_FIELD(EMRPOLYPOLYLINE, RECTL, rclBounds, 8, 16, 4);
562 TEST_FIELD(EMRPOLYPOLYLINE, DWORD, nPolys, 24, 4, 4);
563 TEST_FIELD(EMRPOLYPOLYLINE, DWORD, cptl, 28, 4, 4);
564 TEST_FIELD(EMRPOLYPOLYLINE, DWORD[1], aPolyCounts, 32, 4, 4);
565 TEST_FIELD(EMRPOLYPOLYLINE, POINTL[1], aptl, 36, 8, 4);
567 /* EMRPOLYTEXTOUTA (pack 4) */
568 TEST_TYPE(EMRPOLYTEXTOUTA, 80, 4);
569 TEST_FIELD(EMRPOLYTEXTOUTA, EMR, emr, 0, 8, 4);
570 TEST_FIELD(EMRPOLYTEXTOUTA, RECTL, rclBounds, 8, 16, 4);
571 TEST_FIELD(EMRPOLYTEXTOUTA, DWORD, iGraphicsMode, 24, 4, 4);
572 TEST_FIELD(EMRPOLYTEXTOUTA, FLOAT, exScale, 28, 4, 4);
573 TEST_FIELD(EMRPOLYTEXTOUTA, FLOAT, eyScale, 32, 4, 4);
574 TEST_FIELD(EMRPOLYTEXTOUTA, LONG, cStrings, 36, 4, 4);
575 TEST_FIELD(EMRPOLYTEXTOUTA, EMRTEXT[1], aemrtext, 40, 40, 4);
577 /* EMRRESIZEPALETTE (pack 4) */
578 TEST_TYPE(EMRRESIZEPALETTE, 16, 4);
579 TEST_FIELD(EMRRESIZEPALETTE, EMR, emr, 0, 8, 4);
580 TEST_FIELD(EMRRESIZEPALETTE, DWORD, ihPal, 8, 4, 4);
581 TEST_FIELD(EMRRESIZEPALETTE, DWORD, cEntries, 12, 4, 4);
583 /* EMRRESTOREDC (pack 4) */
584 TEST_TYPE(EMRRESTOREDC, 12, 4);
585 TEST_FIELD(EMRRESTOREDC, EMR, emr, 0, 8, 4);
586 TEST_FIELD(EMRRESTOREDC, LONG, iRelative, 8, 4, 4);
588 /* EMRROUNDRECT (pack 4) */
589 TEST_TYPE(EMRROUNDRECT, 32, 4);
590 TEST_FIELD(EMRROUNDRECT, EMR, emr, 0, 8, 4);
591 TEST_FIELD(EMRROUNDRECT, RECTL, rclBox, 8, 16, 4);
592 TEST_FIELD(EMRROUNDRECT, SIZEL, szlCorner, 24, 8, 4);
594 /* EMRSCALEVIEWPORTEXTEX (pack 4) */
595 TEST_TYPE(EMRSCALEVIEWPORTEXTEX, 24, 4);
596 TEST_FIELD(EMRSCALEVIEWPORTEXTEX, EMR, emr, 0, 8, 4);
597 TEST_FIELD(EMRSCALEVIEWPORTEXTEX, LONG, xNum, 8, 4, 4);
598 TEST_FIELD(EMRSCALEVIEWPORTEXTEX, LONG, xDenom, 12, 4, 4);
599 TEST_FIELD(EMRSCALEVIEWPORTEXTEX, LONG, yNum, 16, 4, 4);
600 TEST_FIELD(EMRSCALEVIEWPORTEXTEX, LONG, yDenom, 20, 4, 4);
602 /* EMRSELECTCLIPPATH (pack 4) */
603 TEST_TYPE(EMRSELECTCLIPPATH, 12, 4);
604 TEST_FIELD(EMRSELECTCLIPPATH, EMR, emr, 0, 8, 4);
605 TEST_FIELD(EMRSELECTCLIPPATH, DWORD, iMode, 8, 4, 4);
607 /* EMRSELECTPALETTE (pack 4) */
608 TEST_TYPE(EMRSELECTPALETTE, 12, 4);
609 TEST_FIELD(EMRSELECTPALETTE, EMR, emr, 0, 8, 4);
610 TEST_FIELD(EMRSELECTPALETTE, DWORD, ihPal, 8, 4, 4);
612 /* EMRSETARCDIRECTION (pack 4) */
613 TEST_TYPE(EMRSETARCDIRECTION, 12, 4);
614 TEST_FIELD(EMRSETARCDIRECTION, EMR, emr, 0, 8, 4);
615 TEST_FIELD(EMRSETARCDIRECTION, DWORD, iArcDirection, 8, 4, 4);
617 /* EMRSETBKCOLOR (pack 4) */
618 TEST_TYPE(EMRSETBKCOLOR, 12, 4);
619 TEST_FIELD(EMRSETBKCOLOR, EMR, emr, 0, 8, 4);
620 TEST_FIELD(EMRSETBKCOLOR, COLORREF, crColor, 8, 4, 4);
622 /* EMRSETBRUSHORGEX (pack 4) */
623 TEST_TYPE(EMRSETBRUSHORGEX, 16, 4);
624 TEST_FIELD(EMRSETBRUSHORGEX, EMR, emr, 0, 8, 4);
625 TEST_FIELD(EMRSETBRUSHORGEX, POINTL, ptlOrigin, 8, 8, 4);
627 /* EMRSETCOLORADJUSTMENT (pack 4) */
628 TEST_TYPE(EMRSETCOLORADJUSTMENT, 32, 4);
629 TEST_FIELD(EMRSETCOLORADJUSTMENT, EMR, emr, 0, 8, 4);
630 TEST_FIELD(EMRSETCOLORADJUSTMENT, COLORADJUSTMENT, ColorAdjustment, 8, 24, 2);
632 /* EMRSETDIBITSTODEIVCE (pack 4) */
633 TEST_TYPE(EMRSETDIBITSTODEIVCE, 76, 4);
634 TEST_FIELD(EMRSETDIBITSTODEIVCE, EMR, emr, 0, 8, 4);
635 TEST_FIELD(EMRSETDIBITSTODEIVCE, RECTL, rclBounds, 8, 16, 4);
636 TEST_FIELD(EMRSETDIBITSTODEIVCE, LONG, xDest, 24, 4, 4);
637 TEST_FIELD(EMRSETDIBITSTODEIVCE, LONG, yDest, 28, 4, 4);
638 TEST_FIELD(EMRSETDIBITSTODEIVCE, LONG, xSrc, 32, 4, 4);
639 TEST_FIELD(EMRSETDIBITSTODEIVCE, LONG, ySrc, 36, 4, 4);
640 TEST_FIELD(EMRSETDIBITSTODEIVCE, LONG, cxSrc, 40, 4, 4);
641 TEST_FIELD(EMRSETDIBITSTODEIVCE, LONG, cySrc, 44, 4, 4);
642 TEST_FIELD(EMRSETDIBITSTODEIVCE, DWORD, offBmiSrc, 48, 4, 4);
643 TEST_FIELD(EMRSETDIBITSTODEIVCE, DWORD, cbBmiSrc, 52, 4, 4);
644 TEST_FIELD(EMRSETDIBITSTODEIVCE, DWORD, offBitsSrc, 56, 4, 4);
645 TEST_FIELD(EMRSETDIBITSTODEIVCE, DWORD, cbBitsSrc, 60, 4, 4);
646 TEST_FIELD(EMRSETDIBITSTODEIVCE, DWORD, iUsageSrc, 64, 4, 4);
647 TEST_FIELD(EMRSETDIBITSTODEIVCE, DWORD, iStartScan, 68, 4, 4);
648 TEST_FIELD(EMRSETDIBITSTODEIVCE, DWORD, cScans, 72, 4, 4);
650 /* EMRSETMAPPERFLAGS (pack 4) */
651 TEST_TYPE(EMRSETMAPPERFLAGS, 12, 4);
652 TEST_FIELD(EMRSETMAPPERFLAGS, EMR, emr, 0, 8, 4);
653 TEST_FIELD(EMRSETMAPPERFLAGS, DWORD, dwFlags, 8, 4, 4);
655 /* EMRSETMITERLIMIT (pack 4) */
656 TEST_TYPE(EMRSETMITERLIMIT, 12, 4);
657 TEST_FIELD(EMRSETMITERLIMIT, EMR, emr, 0, 8, 4);
658 TEST_FIELD(EMRSETMITERLIMIT, FLOAT, eMiterLimit, 8, 4, 4);
660 /* EMRSETPIXELV (pack 4) */
661 TEST_TYPE(EMRSETPIXELV, 20, 4);
662 TEST_FIELD(EMRSETPIXELV, EMR, emr, 0, 8, 4);
663 TEST_FIELD(EMRSETPIXELV, POINTL, ptlPixel, 8, 8, 4);
664 TEST_FIELD(EMRSETPIXELV, COLORREF, crColor, 16, 4, 4);
666 /* EMRSETTEXTJUSTIFICATION (pack 4) */
667 TEST_TYPE(EMRSETTEXTJUSTIFICATION, 16, 4);
668 TEST_FIELD(EMRSETTEXTJUSTIFICATION, EMR, emr, 0, 8, 4);
669 TEST_FIELD(EMRSETTEXTJUSTIFICATION, INT, nBreakExtra, 8, 4, 4);
670 TEST_FIELD(EMRSETTEXTJUSTIFICATION, INT, nBreakCount, 12, 4, 4);
672 /* EMRSETVIEWPORTEXTEX (pack 4) */
673 TEST_TYPE(EMRSETVIEWPORTEXTEX, 16, 4);
674 TEST_FIELD(EMRSETVIEWPORTEXTEX, EMR, emr, 0, 8, 4);
675 TEST_FIELD(EMRSETVIEWPORTEXTEX, SIZEL, szlExtent, 8, 8, 4);
677 /* EMRSETWORLDTRANSFORM (pack 4) */
678 TEST_TYPE(EMRSETWORLDTRANSFORM, 32, 4);
679 TEST_FIELD(EMRSETWORLDTRANSFORM, EMR, emr, 0, 8, 4);
680 TEST_FIELD(EMRSETWORLDTRANSFORM, XFORM, xform, 8, 24, 4);
682 /* EMRSTRETCHBLT (pack 4) */
683 TEST_TYPE(EMRSTRETCHBLT, 108, 4);
684 TEST_FIELD(EMRSTRETCHBLT, EMR, emr, 0, 8, 4);
685 TEST_FIELD(EMRSTRETCHBLT, RECTL, rclBounds, 8, 16, 4);
686 TEST_FIELD(EMRSTRETCHBLT, LONG, xDest, 24, 4, 4);
687 TEST_FIELD(EMRSTRETCHBLT, LONG, yDest, 28, 4, 4);
688 TEST_FIELD(EMRSTRETCHBLT, LONG, cxDest, 32, 4, 4);
689 TEST_FIELD(EMRSTRETCHBLT, LONG, cyDest, 36, 4, 4);
690 TEST_FIELD(EMRSTRETCHBLT, DWORD, dwRop, 40, 4, 4);
691 TEST_FIELD(EMRSTRETCHBLT, LONG, xSrc, 44, 4, 4);
692 TEST_FIELD(EMRSTRETCHBLT, LONG, ySrc, 48, 4, 4);
693 TEST_FIELD(EMRSTRETCHBLT, XFORM, xformSrc, 52, 24, 4);
694 TEST_FIELD(EMRSTRETCHBLT, COLORREF, crBkColorSrc, 76, 4, 4);
695 TEST_FIELD(EMRSTRETCHBLT, DWORD, iUsageSrc, 80, 4, 4);
696 TEST_FIELD(EMRSTRETCHBLT, DWORD, offBmiSrc, 84, 4, 4);
697 TEST_FIELD(EMRSTRETCHBLT, DWORD, cbBmiSrc, 88, 4, 4);
698 TEST_FIELD(EMRSTRETCHBLT, DWORD, offBitsSrc, 92, 4, 4);
699 TEST_FIELD(EMRSTRETCHBLT, DWORD, cbBitsSrc, 96, 4, 4);
700 TEST_FIELD(EMRSTRETCHBLT, LONG, cxSrc, 100, 4, 4);
701 TEST_FIELD(EMRSTRETCHBLT, LONG, cySrc, 104, 4, 4);
703 /* EMRSTRETCHDIBITS (pack 4) */
704 TEST_TYPE(EMRSTRETCHDIBITS, 80, 4);
705 TEST_FIELD(EMRSTRETCHDIBITS, EMR, emr, 0, 8, 4);
706 TEST_FIELD(EMRSTRETCHDIBITS, RECTL, rclBounds, 8, 16, 4);
707 TEST_FIELD(EMRSTRETCHDIBITS, LONG, xDest, 24, 4, 4);
708 TEST_FIELD(EMRSTRETCHDIBITS, LONG, yDest, 28, 4, 4);
709 TEST_FIELD(EMRSTRETCHDIBITS, LONG, xSrc, 32, 4, 4);
710 TEST_FIELD(EMRSTRETCHDIBITS, LONG, ySrc, 36, 4, 4);
711 TEST_FIELD(EMRSTRETCHDIBITS, LONG, cxSrc, 40, 4, 4);
712 TEST_FIELD(EMRSTRETCHDIBITS, LONG, cySrc, 44, 4, 4);
713 TEST_FIELD(EMRSTRETCHDIBITS, DWORD, offBmiSrc, 48, 4, 4);
714 TEST_FIELD(EMRSTRETCHDIBITS, DWORD, cbBmiSrc, 52, 4, 4);
715 TEST_FIELD(EMRSTRETCHDIBITS, DWORD, offBitsSrc, 56, 4, 4);
716 TEST_FIELD(EMRSTRETCHDIBITS, DWORD, cbBitsSrc, 60, 4, 4);
717 TEST_FIELD(EMRSTRETCHDIBITS, DWORD, iUsageSrc, 64, 4, 4);
718 TEST_FIELD(EMRSTRETCHDIBITS, DWORD, dwRop, 68, 4, 4);
719 TEST_FIELD(EMRSTRETCHDIBITS, LONG, cxDest, 72, 4, 4);
720 TEST_FIELD(EMRSTRETCHDIBITS, LONG, cyDest, 76, 4, 4);
722 /* EMRTEXT (pack 4) */
723 TEST_TYPE(EMRTEXT, 40, 4);
724 TEST_FIELD(EMRTEXT, POINTL, ptlReference, 0, 8, 4);
725 TEST_FIELD(EMRTEXT, DWORD, nChars, 8, 4, 4);
726 TEST_FIELD(EMRTEXT, DWORD, offString, 12, 4, 4);
727 TEST_FIELD(EMRTEXT, DWORD, fOptions, 16, 4, 4);
728 TEST_FIELD(EMRTEXT, RECTL, rcl, 20, 16, 4);
729 TEST_FIELD(EMRTEXT, DWORD, offDx, 36, 4, 4);
731 /* ENHMETAHEADER (pack 4) */
732 TEST_TYPE(ENHMETAHEADER, 108, 4);
733 TEST_FIELD(ENHMETAHEADER, DWORD, iType, 0, 4, 4);
734 TEST_FIELD(ENHMETAHEADER, DWORD, nSize, 4, 4, 4);
735 TEST_FIELD(ENHMETAHEADER, RECTL, rclBounds, 8, 16, 4);
736 TEST_FIELD(ENHMETAHEADER, RECTL, rclFrame, 24, 16, 4);
737 TEST_FIELD(ENHMETAHEADER, DWORD, dSignature, 40, 4, 4);
738 TEST_FIELD(ENHMETAHEADER, DWORD, nVersion, 44, 4, 4);
739 TEST_FIELD(ENHMETAHEADER, DWORD, nBytes, 48, 4, 4);
740 TEST_FIELD(ENHMETAHEADER, DWORD, nRecords, 52, 4, 4);
741 TEST_FIELD(ENHMETAHEADER, WORD, nHandles, 56, 2, 2);
742 TEST_FIELD(ENHMETAHEADER, WORD, sReserved, 58, 2, 2);
743 TEST_FIELD(ENHMETAHEADER, DWORD, nDescription, 60, 4, 4);
744 TEST_FIELD(ENHMETAHEADER, DWORD, offDescription, 64, 4, 4);
745 TEST_FIELD(ENHMETAHEADER, DWORD, nPalEntries, 68, 4, 4);
746 TEST_FIELD(ENHMETAHEADER, SIZEL, szlDevice, 72, 8, 4);
747 TEST_FIELD(ENHMETAHEADER, SIZEL, szlMillimeters, 80, 8, 4);
748 TEST_FIELD(ENHMETAHEADER, DWORD, cbPixelFormat, 88, 4, 4);
749 TEST_FIELD(ENHMETAHEADER, DWORD, offPixelFormat, 92, 4, 4);
750 TEST_FIELD(ENHMETAHEADER, DWORD, bOpenGL, 96, 4, 4);
751 TEST_FIELD(ENHMETAHEADER, SIZEL, szlMicrometers, 100, 8, 4);
753 /* ENHMETARECORD (pack 4) */
754 TEST_TYPE(ENHMETARECORD, 12, 4);
755 TEST_FIELD(ENHMETARECORD, DWORD, iType, 0, 4, 4);
756 TEST_FIELD(ENHMETARECORD, DWORD, nSize, 4, 4, 4);
757 TEST_FIELD(ENHMETARECORD, DWORD[1], dParm, 8, 4, 4);
759 /* ENUMLOGFONTA (pack 4) */
760 TEST_TYPE(ENUMLOGFONTA, 156, 4);
761 TEST_FIELD(ENUMLOGFONTA, LOGFONTA, elfLogFont, 0, 60, 4);
762 TEST_FIELD(ENUMLOGFONTA, BYTE[LF_FULLFACESIZE], elfFullName, 60, 64, 1);
763 TEST_FIELD(ENUMLOGFONTA, BYTE[LF_FACESIZE], elfStyle, 124, 32, 1);
765 /* ENUMLOGFONTEXA (pack 4) */
766 TEST_TYPE(ENUMLOGFONTEXA, 188, 4);
767 TEST_FIELD(ENUMLOGFONTEXA, LOGFONTA, elfLogFont, 0, 60, 4);
768 TEST_FIELD(ENUMLOGFONTEXA, BYTE[LF_FULLFACESIZE], elfFullName, 60, 64, 1);
769 TEST_FIELD(ENUMLOGFONTEXA, BYTE[LF_FACESIZE], elfStyle, 124, 32, 1);
770 TEST_FIELD(ENUMLOGFONTEXA, BYTE[LF_FACESIZE], elfScript, 156, 32, 1);
772 /* ENUMLOGFONTEXW (pack 4) */
773 TEST_TYPE(ENUMLOGFONTEXW, 348, 4);
774 TEST_FIELD(ENUMLOGFONTEXW, LOGFONTW, elfLogFont, 0, 92, 4);
775 TEST_FIELD(ENUMLOGFONTEXW, WCHAR[LF_FULLFACESIZE], elfFullName, 92, 128, 2);
776 TEST_FIELD(ENUMLOGFONTEXW, WCHAR[LF_FACESIZE], elfStyle, 220, 64, 2);
777 TEST_FIELD(ENUMLOGFONTEXW, WCHAR[LF_FACESIZE], elfScript, 284, 64, 2);
779 /* ENUMLOGFONTW (pack 4) */
780 TEST_TYPE(ENUMLOGFONTW, 284, 4);
781 TEST_FIELD(ENUMLOGFONTW, LOGFONTW, elfLogFont, 0, 92, 4);
782 TEST_FIELD(ENUMLOGFONTW, WCHAR[LF_FULLFACESIZE], elfFullName, 92, 128, 2);
783 TEST_FIELD(ENUMLOGFONTW, WCHAR[LF_FACESIZE], elfStyle, 220, 64, 2);
785 /* EXTLOGFONTA (pack 4) */
786 TEST_TYPE(EXTLOGFONTA, 192, 4);
787 TEST_FIELD(EXTLOGFONTA, LOGFONTA, elfLogFont, 0, 60, 4);
788 TEST_FIELD(EXTLOGFONTA, BYTE[LF_FULLFACESIZE], elfFullName, 60, 64, 1);
789 TEST_FIELD(EXTLOGFONTA, BYTE[LF_FACESIZE], elfStyle, 124, 32, 1);
790 TEST_FIELD(EXTLOGFONTA, DWORD, elfVersion, 156, 4, 4);
791 TEST_FIELD(EXTLOGFONTA, DWORD, elfStyleSize, 160, 4, 4);
792 TEST_FIELD(EXTLOGFONTA, DWORD, elfMatch, 164, 4, 4);
793 TEST_FIELD(EXTLOGFONTA, DWORD, elfReserved, 168, 4, 4);
794 TEST_FIELD(EXTLOGFONTA, BYTE[ELF_VENDOR_SIZE], elfVendorId, 172, 4, 1);
795 TEST_FIELD(EXTLOGFONTA, DWORD, elfCulture, 176, 4, 4);
796 TEST_FIELD(EXTLOGFONTA, PANOSE, elfPanose, 180, 10, 1);
798 /* EXTLOGFONTW (pack 4) */
799 TEST_TYPE(EXTLOGFONTW, 320, 4);
800 TEST_FIELD(EXTLOGFONTW, LOGFONTW, elfLogFont, 0, 92, 4);
801 TEST_FIELD(EXTLOGFONTW, WCHAR[LF_FULLFACESIZE], elfFullName, 92, 128, 2);
802 TEST_FIELD(EXTLOGFONTW, WCHAR[LF_FACESIZE], elfStyle, 220, 64, 2);
803 TEST_FIELD(EXTLOGFONTW, DWORD, elfVersion, 284, 4, 4);
804 TEST_FIELD(EXTLOGFONTW, DWORD, elfStyleSize, 288, 4, 4);
805 TEST_FIELD(EXTLOGFONTW, DWORD, elfMatch, 292, 4, 4);
806 TEST_FIELD(EXTLOGFONTW, DWORD, elfReserved, 296, 4, 4);
807 TEST_FIELD(EXTLOGFONTW, BYTE[ELF_VENDOR_SIZE], elfVendorId, 300, 4, 1);
808 TEST_FIELD(EXTLOGFONTW, DWORD, elfCulture, 304, 4, 4);
809 TEST_FIELD(EXTLOGFONTW, PANOSE, elfPanose, 308, 10, 1);
811 /* EXTLOGPEN (pack 4) */
812 TEST_TYPE(EXTLOGPEN, 28, 4);
813 TEST_FIELD(EXTLOGPEN, DWORD, elpPenStyle, 0, 4, 4);
814 TEST_FIELD(EXTLOGPEN, DWORD, elpWidth, 4, 4, 4);
815 TEST_FIELD(EXTLOGPEN, UINT, elpBrushStyle, 8, 4, 4);
816 TEST_FIELD(EXTLOGPEN, COLORREF, elpColor, 12, 4, 4);
817 TEST_FIELD(EXTLOGPEN, LONG, elpHatch, 16, 4, 4);
818 TEST_FIELD(EXTLOGPEN, DWORD, elpNumEntries, 20, 4, 4);
819 TEST_FIELD(EXTLOGPEN, DWORD[1], elpStyleEntry, 24, 4, 4);
822 TEST_TYPE(FIXED, 4, 2);
823 TEST_FIELD(FIXED, WORD, fract, 0, 2, 2);
824 TEST_FIELD(FIXED, SHORT, value, 2, 2, 2);
826 /* FONTSIGNATURE (pack 4) */
827 TEST_TYPE(FONTSIGNATURE, 24, 4);
828 TEST_FIELD(FONTSIGNATURE, DWORD[4], fsUsb, 0, 16, 4);
829 TEST_FIELD(FONTSIGNATURE, DWORD[2], fsCsb, 16, 8, 4);
831 /* GCP_RESULTSA (pack 4) */
832 TEST_TYPE(GCP_RESULTSA, 36, 4);
833 TEST_FIELD(GCP_RESULTSA, DWORD, lStructSize, 0, 4, 4);
834 TEST_FIELD(GCP_RESULTSA, LPSTR, lpOutString, 4, 4, 4);
835 TEST_FIELD(GCP_RESULTSA, UINT *, lpOrder, 8, 4, 4);
836 TEST_FIELD(GCP_RESULTSA, INT *, lpDx, 12, 4, 4);
837 TEST_FIELD(GCP_RESULTSA, INT *, lpCaretPos, 16, 4, 4);
838 TEST_FIELD(GCP_RESULTSA, LPSTR, lpClass, 20, 4, 4);
839 TEST_FIELD(GCP_RESULTSA, LPWSTR, lpGlyphs, 24, 4, 4);
840 TEST_FIELD(GCP_RESULTSA, UINT, nGlyphs, 28, 4, 4);
841 TEST_FIELD(GCP_RESULTSA, UINT, nMaxFit, 32, 4, 4);
843 /* GCP_RESULTSW (pack 4) */
844 TEST_TYPE(GCP_RESULTSW, 36, 4);
845 TEST_FIELD(GCP_RESULTSW, DWORD, lStructSize, 0, 4, 4);
846 TEST_FIELD(GCP_RESULTSW, LPWSTR, lpOutString, 4, 4, 4);
847 TEST_FIELD(GCP_RESULTSW, UINT *, lpOrder, 8, 4, 4);
848 TEST_FIELD(GCP_RESULTSW, INT *, lpDx, 12, 4, 4);
849 TEST_FIELD(GCP_RESULTSW, INT *, lpCaretPos, 16, 4, 4);
850 TEST_FIELD(GCP_RESULTSW, LPSTR, lpClass, 20, 4, 4);
851 TEST_FIELD(GCP_RESULTSW, LPWSTR, lpGlyphs, 24, 4, 4);
852 TEST_FIELD(GCP_RESULTSW, UINT, nGlyphs, 28, 4, 4);
853 TEST_FIELD(GCP_RESULTSW, UINT, nMaxFit, 32, 4, 4);
855 /* GLYPHMETRICS (pack 4) */
856 TEST_TYPE(GLYPHMETRICS, 20, 4);
857 TEST_FIELD(GLYPHMETRICS, UINT, gmBlackBoxX, 0, 4, 4);
858 TEST_FIELD(GLYPHMETRICS, UINT, gmBlackBoxY, 4, 4, 4);
859 TEST_FIELD(GLYPHMETRICS, POINT, gmptGlyphOrigin, 8, 8, 4);
860 TEST_FIELD(GLYPHMETRICS, SHORT, gmCellIncX, 16, 2, 2);
861 TEST_FIELD(GLYPHMETRICS, SHORT, gmCellIncY, 18, 2, 2);
863 /* GRADIENT_RECT (pack 4) */
864 TEST_TYPE(GRADIENT_RECT, 8, 4);
865 TEST_FIELD(GRADIENT_RECT, ULONG, UpperLeft, 0, 4, 4);
866 TEST_FIELD(GRADIENT_RECT, ULONG, LowerRight, 4, 4, 4);
868 /* GRADIENT_TRIANGLE (pack 4) */
869 TEST_TYPE(GRADIENT_TRIANGLE, 12, 4);
870 TEST_FIELD(GRADIENT_TRIANGLE, ULONG, Vertex1, 0, 4, 4);
871 TEST_FIELD(GRADIENT_TRIANGLE, ULONG, Vertex2, 4, 4, 4);
872 TEST_FIELD(GRADIENT_TRIANGLE, ULONG, Vertex3, 8, 4, 4);
874 /* HANDLETABLE (pack 4) */
875 TEST_TYPE(HANDLETABLE, 4, 4);
876 TEST_FIELD(HANDLETABLE, HGDIOBJ[1], objectHandle, 0, 4, 4);
878 /* KERNINGPAIR (pack 4) */
879 TEST_TYPE(KERNINGPAIR, 8, 4);
880 TEST_FIELD(KERNINGPAIR, WORD, wFirst, 0, 2, 2);
881 TEST_FIELD(KERNINGPAIR, WORD, wSecond, 2, 2, 2);
882 TEST_FIELD(KERNINGPAIR, INT, iKernAmount, 4, 4, 4);
884 /* LOCALESIGNATURE (pack 4) */
885 TEST_TYPE(LOCALESIGNATURE, 32, 4);
886 TEST_FIELD(LOCALESIGNATURE, DWORD[4], lsUsb, 0, 16, 4);
887 TEST_FIELD(LOCALESIGNATURE, DWORD[2], lsCsbDefault, 16, 8, 4);
888 TEST_FIELD(LOCALESIGNATURE, DWORD[2], lsCsbSupported, 24, 8, 4);
890 /* LOGBRUSH (pack 4) */
891 TEST_TYPE(LOGBRUSH, 12, 4);
892 TEST_FIELD(LOGBRUSH, UINT, lbStyle, 0, 4, 4);
893 TEST_FIELD(LOGBRUSH, COLORREF, lbColor, 4, 4, 4);
894 TEST_FIELD(LOGBRUSH, INT, lbHatch, 8, 4, 4);
896 /* LOGCOLORSPACEA (pack 4) */
897 TEST_TYPE(LOGCOLORSPACEA, 328, 4);
898 TEST_FIELD(LOGCOLORSPACEA, DWORD, lcsSignature, 0, 4, 4);
899 TEST_FIELD(LOGCOLORSPACEA, DWORD, lcsVersion, 4, 4, 4);
900 TEST_FIELD(LOGCOLORSPACEA, DWORD, lcsSize, 8, 4, 4);
901 TEST_FIELD(LOGCOLORSPACEA, LCSCSTYPE, lcsCSType, 12, 4, 4);
902 TEST_FIELD(LOGCOLORSPACEA, LCSGAMUTMATCH, lcsIntent, 16, 4, 4);
903 TEST_FIELD(LOGCOLORSPACEA, CIEXYZTRIPLE, lcsEndpoints, 20, 36, 4);
904 TEST_FIELD(LOGCOLORSPACEA, DWORD, lcsGammaRed, 56, 4, 4);
905 TEST_FIELD(LOGCOLORSPACEA, DWORD, lcsGammaGreen, 60, 4, 4);
906 TEST_FIELD(LOGCOLORSPACEA, DWORD, lcsGammaBlue, 64, 4, 4);
907 TEST_FIELD(LOGCOLORSPACEA, CHAR[MAX_PATH], lcsFilename, 68, 260, 1);
909 /* LOGCOLORSPACEW (pack 4) */
910 TEST_TYPE(LOGCOLORSPACEW, 588, 4);
911 TEST_FIELD(LOGCOLORSPACEW, DWORD, lcsSignature, 0, 4, 4);
912 TEST_FIELD(LOGCOLORSPACEW, DWORD, lcsVersion, 4, 4, 4);
913 TEST_FIELD(LOGCOLORSPACEW, DWORD, lcsSize, 8, 4, 4);
914 TEST_FIELD(LOGCOLORSPACEW, LCSCSTYPE, lcsCSType, 12, 4, 4);
915 TEST_FIELD(LOGCOLORSPACEW, LCSGAMUTMATCH, lcsIntent, 16, 4, 4);
916 TEST_FIELD(LOGCOLORSPACEW, CIEXYZTRIPLE, lcsEndpoints, 20, 36, 4);
917 TEST_FIELD(LOGCOLORSPACEW, DWORD, lcsGammaRed, 56, 4, 4);
918 TEST_FIELD(LOGCOLORSPACEW, DWORD, lcsGammaGreen, 60, 4, 4);
919 TEST_FIELD(LOGCOLORSPACEW, DWORD, lcsGammaBlue, 64, 4, 4);
920 TEST_FIELD(LOGCOLORSPACEW, WCHAR[MAX_PATH], lcsFilename, 68, 520, 2);
922 /* LOGFONTA (pack 4) */
923 TEST_TYPE(LOGFONTA, 60, 4);
924 TEST_FIELD(LOGFONTA, LONG, lfHeight, 0, 4, 4);
925 TEST_FIELD(LOGFONTA, LONG, lfWidth, 4, 4, 4);
926 TEST_FIELD(LOGFONTA, LONG, lfEscapement, 8, 4, 4);
927 TEST_FIELD(LOGFONTA, LONG, lfOrientation, 12, 4, 4);
928 TEST_FIELD(LOGFONTA, LONG, lfWeight, 16, 4, 4);
929 TEST_FIELD(LOGFONTA, BYTE, lfItalic, 20, 1, 1);
930 TEST_FIELD(LOGFONTA, BYTE, lfUnderline, 21, 1, 1);
931 TEST_FIELD(LOGFONTA, BYTE, lfStrikeOut, 22, 1, 1);
932 TEST_FIELD(LOGFONTA, BYTE, lfCharSet, 23, 1, 1);
933 TEST_FIELD(LOGFONTA, BYTE, lfOutPrecision, 24, 1, 1);
934 TEST_FIELD(LOGFONTA, BYTE, lfClipPrecision, 25, 1, 1);
935 TEST_FIELD(LOGFONTA, BYTE, lfQuality, 26, 1, 1);
936 TEST_FIELD(LOGFONTA, BYTE, lfPitchAndFamily, 27, 1, 1);
937 TEST_FIELD(LOGFONTA, CHAR[LF_FACESIZE], lfFaceName, 28, 32, 1);
939 /* LOGFONTW (pack 4) */
940 TEST_TYPE(LOGFONTW, 92, 4);
941 TEST_FIELD(LOGFONTW, LONG, lfHeight, 0, 4, 4);
942 TEST_FIELD(LOGFONTW, LONG, lfWidth, 4, 4, 4);
943 TEST_FIELD(LOGFONTW, LONG, lfEscapement, 8, 4, 4);
944 TEST_FIELD(LOGFONTW, LONG, lfOrientation, 12, 4, 4);
945 TEST_FIELD(LOGFONTW, LONG, lfWeight, 16, 4, 4);
946 TEST_FIELD(LOGFONTW, BYTE, lfItalic, 20, 1, 1);
947 TEST_FIELD(LOGFONTW, BYTE, lfUnderline, 21, 1, 1);
948 TEST_FIELD(LOGFONTW, BYTE, lfStrikeOut, 22, 1, 1);
949 TEST_FIELD(LOGFONTW, BYTE, lfCharSet, 23, 1, 1);
950 TEST_FIELD(LOGFONTW, BYTE, lfOutPrecision, 24, 1, 1);
951 TEST_FIELD(LOGFONTW, BYTE, lfClipPrecision, 25, 1, 1);
952 TEST_FIELD(LOGFONTW, BYTE, lfQuality, 26, 1, 1);
953 TEST_FIELD(LOGFONTW, BYTE, lfPitchAndFamily, 27, 1, 1);
954 TEST_FIELD(LOGFONTW, WCHAR[LF_FACESIZE], lfFaceName, 28, 64, 2);
956 /* LOGPEN (pack 4) */
957 TEST_TYPE(LOGPEN, 16, 4);
958 TEST_FIELD(LOGPEN, UINT, lopnStyle, 0, 4, 4);
959 TEST_FIELD(LOGPEN, POINT, lopnWidth, 4, 8, 4);
960 TEST_FIELD(LOGPEN, COLORREF, lopnColor, 12, 4, 4);
963 TEST_TYPE(MAT2, 16, 2);
964 TEST_FIELD(MAT2, FIXED, eM11, 0, 4, 2);
965 TEST_FIELD(MAT2, FIXED, eM12, 4, 4, 2);
966 TEST_FIELD(MAT2, FIXED, eM21, 8, 4, 2);
967 TEST_FIELD(MAT2, FIXED, eM22, 12, 4, 2);
969 /* METAFILEPICT (pack 4) */
970 TEST_TYPE(METAFILEPICT, 16, 4);
971 TEST_FIELD(METAFILEPICT, LONG, mm, 0, 4, 4);
972 TEST_FIELD(METAFILEPICT, LONG, xExt, 4, 4, 4);
973 TEST_FIELD(METAFILEPICT, LONG, yExt, 8, 4, 4);
974 TEST_FIELD(METAFILEPICT, HMETAFILE, hMF, 12, 4, 4);
976 /* METAHEADER (pack 2) */
977 TEST_TYPE(METAHEADER, 18, 2);
978 TEST_FIELD(METAHEADER, WORD, mtType, 0, 2, 2);
979 TEST_FIELD(METAHEADER, WORD, mtHeaderSize, 2, 2, 2);
980 TEST_FIELD(METAHEADER, WORD, mtVersion, 4, 2, 2);
981 TEST_FIELD(METAHEADER, DWORD, mtSize, 6, 4, 2);
982 TEST_FIELD(METAHEADER, WORD, mtNoObjects, 10, 2, 2);
983 TEST_FIELD(METAHEADER, DWORD, mtMaxRecord, 12, 4, 2);
984 TEST_FIELD(METAHEADER, WORD, mtNoParameters, 16, 2, 2);
986 /* METARECORD (pack 4) */
987 TEST_TYPE(METARECORD, 8, 4);
988 TEST_FIELD(METARECORD, DWORD, rdSize, 0, 4, 4);
989 TEST_FIELD(METARECORD, WORD, rdFunction, 4, 2, 2);
990 TEST_FIELD(METARECORD, WORD[1], rdParm, 6, 2, 2);
992 /* NEWTEXTMETRICA (pack 4) */
993 TEST_TYPE(NEWTEXTMETRICA, 72, 4);
994 TEST_FIELD(NEWTEXTMETRICA, LONG, tmHeight, 0, 4, 4);
995 TEST_FIELD(NEWTEXTMETRICA, LONG, tmAscent, 4, 4, 4);
996 TEST_FIELD(NEWTEXTMETRICA, LONG, tmDescent, 8, 4, 4);
997 TEST_FIELD(NEWTEXTMETRICA, LONG, tmInternalLeading, 12, 4, 4);
998 TEST_FIELD(NEWTEXTMETRICA, LONG, tmExternalLeading, 16, 4, 4);
999 TEST_FIELD(NEWTEXTMETRICA, LONG, tmAveCharWidth, 20, 4, 4);
1000 TEST_FIELD(NEWTEXTMETRICA, LONG, tmMaxCharWidth, 24, 4, 4);
1001 TEST_FIELD(NEWTEXTMETRICA, LONG, tmWeight, 28, 4, 4);
1002 TEST_FIELD(NEWTEXTMETRICA, LONG, tmOverhang, 32, 4, 4);
1003 TEST_FIELD(NEWTEXTMETRICA, LONG, tmDigitizedAspectX, 36, 4, 4);
1004 TEST_FIELD(NEWTEXTMETRICA, LONG, tmDigitizedAspectY, 40, 4, 4);
1005 TEST_FIELD(NEWTEXTMETRICA, BYTE, tmFirstChar, 44, 1, 1);
1006 TEST_FIELD(NEWTEXTMETRICA, BYTE, tmLastChar, 45, 1, 1);
1007 TEST_FIELD(NEWTEXTMETRICA, BYTE, tmDefaultChar, 46, 1, 1);
1008 TEST_FIELD(NEWTEXTMETRICA, BYTE, tmBreakChar, 47, 1, 1);
1009 TEST_FIELD(NEWTEXTMETRICA, BYTE, tmItalic, 48, 1, 1);
1010 TEST_FIELD(NEWTEXTMETRICA, BYTE, tmUnderlined, 49, 1, 1);
1011 TEST_FIELD(NEWTEXTMETRICA, BYTE, tmStruckOut, 50, 1, 1);
1012 TEST_FIELD(NEWTEXTMETRICA, BYTE, tmPitchAndFamily, 51, 1, 1);
1013 TEST_FIELD(NEWTEXTMETRICA, BYTE, tmCharSet, 52, 1, 1);
1014 TEST_FIELD(NEWTEXTMETRICA, DWORD, ntmFlags, 56, 4, 4);
1015 TEST_FIELD(NEWTEXTMETRICA, UINT, ntmSizeEM, 60, 4, 4);
1016 TEST_FIELD(NEWTEXTMETRICA, UINT, ntmCellHeight, 64, 4, 4);
1017 TEST_FIELD(NEWTEXTMETRICA, UINT, ntmAvgWidth, 68, 4, 4);
1019 /* NEWTEXTMETRICEXA (pack 4) */
1020 TEST_TYPE(NEWTEXTMETRICEXA, 96, 4);
1021 TEST_FIELD(NEWTEXTMETRICEXA, NEWTEXTMETRICA, ntmTm, 0, 72, 4);
1022 TEST_FIELD(NEWTEXTMETRICEXA, FONTSIGNATURE, ntmFontSig, 72, 24, 4);
1024 /* NEWTEXTMETRICEXW (pack 4) */
1025 TEST_TYPE(NEWTEXTMETRICEXW, 100, 4);
1026 TEST_FIELD(NEWTEXTMETRICEXW, NEWTEXTMETRICW, ntmTm, 0, 76, 4);
1027 TEST_FIELD(NEWTEXTMETRICEXW, FONTSIGNATURE, ntmFontSig, 76, 24, 4);
1029 /* NEWTEXTMETRICW (pack 4) */
1030 TEST_TYPE(NEWTEXTMETRICW, 76, 4);
1031 TEST_FIELD(NEWTEXTMETRICW, LONG, tmHeight, 0, 4, 4);
1032 TEST_FIELD(NEWTEXTMETRICW, LONG, tmAscent, 4, 4, 4);
1033 TEST_FIELD(NEWTEXTMETRICW, LONG, tmDescent, 8, 4, 4);
1034 TEST_FIELD(NEWTEXTMETRICW, LONG, tmInternalLeading, 12, 4, 4);
1035 TEST_FIELD(NEWTEXTMETRICW, LONG, tmExternalLeading, 16, 4, 4);
1036 TEST_FIELD(NEWTEXTMETRICW, LONG, tmAveCharWidth, 20, 4, 4);
1037 TEST_FIELD(NEWTEXTMETRICW, LONG, tmMaxCharWidth, 24, 4, 4);
1038 TEST_FIELD(NEWTEXTMETRICW, LONG, tmWeight, 28, 4, 4);
1039 TEST_FIELD(NEWTEXTMETRICW, LONG, tmOverhang, 32, 4, 4);
1040 TEST_FIELD(NEWTEXTMETRICW, LONG, tmDigitizedAspectX, 36, 4, 4);
1041 TEST_FIELD(NEWTEXTMETRICW, LONG, tmDigitizedAspectY, 40, 4, 4);
1042 TEST_FIELD(NEWTEXTMETRICW, WCHAR, tmFirstChar, 44, 2, 2);
1043 TEST_FIELD(NEWTEXTMETRICW, WCHAR, tmLastChar, 46, 2, 2);
1044 TEST_FIELD(NEWTEXTMETRICW, WCHAR, tmDefaultChar, 48, 2, 2);
1045 TEST_FIELD(NEWTEXTMETRICW, WCHAR, tmBreakChar, 50, 2, 2);
1046 TEST_FIELD(NEWTEXTMETRICW, BYTE, tmItalic, 52, 1, 1);
1047 TEST_FIELD(NEWTEXTMETRICW, BYTE, tmUnderlined, 53, 1, 1);
1048 TEST_FIELD(NEWTEXTMETRICW, BYTE, tmStruckOut, 54, 1, 1);
1049 TEST_FIELD(NEWTEXTMETRICW, BYTE, tmPitchAndFamily, 55, 1, 1);
1050 TEST_FIELD(NEWTEXTMETRICW, BYTE, tmCharSet, 56, 1, 1);
1051 TEST_FIELD(NEWTEXTMETRICW, DWORD, ntmFlags, 60, 4, 4);
1052 TEST_FIELD(NEWTEXTMETRICW, UINT, ntmSizeEM, 64, 4, 4);
1053 TEST_FIELD(NEWTEXTMETRICW, UINT, ntmCellHeight, 68, 4, 4);
1054 TEST_FIELD(NEWTEXTMETRICW, UINT, ntmAvgWidth, 72, 4, 4);
1056 /* OUTLINETEXTMETRICA (pack 4) */
1057 TEST_TYPE(OUTLINETEXTMETRICA, 212, 4);
1058 TEST_FIELD(OUTLINETEXTMETRICA, UINT, otmSize, 0, 4, 4);
1059 TEST_FIELD(OUTLINETEXTMETRICA, TEXTMETRICA, otmTextMetrics, 4, 56, 4);
1060 TEST_FIELD(OUTLINETEXTMETRICA, BYTE, otmFiller, 60, 1, 1);
1061 TEST_FIELD(OUTLINETEXTMETRICA, PANOSE, otmPanoseNumber, 61, 10, 1);
1062 TEST_FIELD(OUTLINETEXTMETRICA, UINT, otmfsSelection, 72, 4, 4);
1063 TEST_FIELD(OUTLINETEXTMETRICA, UINT, otmfsType, 76, 4, 4);
1064 TEST_FIELD(OUTLINETEXTMETRICA, INT, otmsCharSlopeRise, 80, 4, 4);
1065 TEST_FIELD(OUTLINETEXTMETRICA, INT, otmsCharSlopeRun, 84, 4, 4);
1066 TEST_FIELD(OUTLINETEXTMETRICA, INT, otmItalicAngle, 88, 4, 4);
1067 TEST_FIELD(OUTLINETEXTMETRICA, UINT, otmEMSquare, 92, 4, 4);
1068 TEST_FIELD(OUTLINETEXTMETRICA, INT, otmAscent, 96, 4, 4);
1069 TEST_FIELD(OUTLINETEXTMETRICA, INT, otmDescent, 100, 4, 4);
1070 TEST_FIELD(OUTLINETEXTMETRICA, UINT, otmLineGap, 104, 4, 4);
1071 TEST_FIELD(OUTLINETEXTMETRICA, UINT, otmsCapEmHeight, 108, 4, 4);
1072 TEST_FIELD(OUTLINETEXTMETRICA, UINT, otmsXHeight, 112, 4, 4);
1073 TEST_FIELD(OUTLINETEXTMETRICA, RECT, otmrcFontBox, 116, 16, 4);
1074 TEST_FIELD(OUTLINETEXTMETRICA, INT, otmMacAscent, 132, 4, 4);
1075 TEST_FIELD(OUTLINETEXTMETRICA, INT, otmMacDescent, 136, 4, 4);
1076 TEST_FIELD(OUTLINETEXTMETRICA, UINT, otmMacLineGap, 140, 4, 4);
1077 TEST_FIELD(OUTLINETEXTMETRICA, UINT, otmusMinimumPPEM, 144, 4, 4);
1078 TEST_FIELD(OUTLINETEXTMETRICA, POINT, otmptSubscriptSize, 148, 8, 4);
1079 TEST_FIELD(OUTLINETEXTMETRICA, POINT, otmptSubscriptOffset, 156, 8, 4);
1080 TEST_FIELD(OUTLINETEXTMETRICA, POINT, otmptSuperscriptSize, 164, 8, 4);
1081 TEST_FIELD(OUTLINETEXTMETRICA, POINT, otmptSuperscriptOffset, 172, 8, 4);
1082 TEST_FIELD(OUTLINETEXTMETRICA, UINT, otmsStrikeoutSize, 180, 4, 4);
1083 TEST_FIELD(OUTLINETEXTMETRICA, INT, otmsStrikeoutPosition, 184, 4, 4);
1084 TEST_FIELD(OUTLINETEXTMETRICA, INT, otmsUnderscoreSize, 188, 4, 4);
1085 TEST_FIELD(OUTLINETEXTMETRICA, INT, otmsUnderscorePosition, 192, 4, 4);
1086 TEST_FIELD(OUTLINETEXTMETRICA, LPSTR, otmpFamilyName, 196, 4, 4);
1087 TEST_FIELD(OUTLINETEXTMETRICA, LPSTR, otmpFaceName, 200, 4, 4);
1088 TEST_FIELD(OUTLINETEXTMETRICA, LPSTR, otmpStyleName, 204, 4, 4);
1089 TEST_FIELD(OUTLINETEXTMETRICA, LPSTR, otmpFullName, 208, 4, 4);
1091 /* OUTLINETEXTMETRICW (pack 4) */
1092 TEST_TYPE(OUTLINETEXTMETRICW, 216, 4);
1093 TEST_FIELD(OUTLINETEXTMETRICW, UINT, otmSize, 0, 4, 4);
1094 TEST_FIELD(OUTLINETEXTMETRICW, TEXTMETRICW, otmTextMetrics, 4, 60, 4);
1095 TEST_FIELD(OUTLINETEXTMETRICW, BYTE, otmFiller, 64, 1, 1);
1096 TEST_FIELD(OUTLINETEXTMETRICW, PANOSE, otmPanoseNumber, 65, 10, 1);
1097 TEST_FIELD(OUTLINETEXTMETRICW, UINT, otmfsSelection, 76, 4, 4);
1098 TEST_FIELD(OUTLINETEXTMETRICW, UINT, otmfsType, 80, 4, 4);
1099 TEST_FIELD(OUTLINETEXTMETRICW, INT, otmsCharSlopeRise, 84, 4, 4);
1100 TEST_FIELD(OUTLINETEXTMETRICW, INT, otmsCharSlopeRun, 88, 4, 4);
1101 TEST_FIELD(OUTLINETEXTMETRICW, INT, otmItalicAngle, 92, 4, 4);
1102 TEST_FIELD(OUTLINETEXTMETRICW, UINT, otmEMSquare, 96, 4, 4);
1103 TEST_FIELD(OUTLINETEXTMETRICW, INT, otmAscent, 100, 4, 4);
1104 TEST_FIELD(OUTLINETEXTMETRICW, INT, otmDescent, 104, 4, 4);
1105 TEST_FIELD(OUTLINETEXTMETRICW, UINT, otmLineGap, 108, 4, 4);
1106 TEST_FIELD(OUTLINETEXTMETRICW, UINT, otmsCapEmHeight, 112, 4, 4);
1107 TEST_FIELD(OUTLINETEXTMETRICW, UINT, otmsXHeight, 116, 4, 4);
1108 TEST_FIELD(OUTLINETEXTMETRICW, RECT, otmrcFontBox, 120, 16, 4);
1109 TEST_FIELD(OUTLINETEXTMETRICW, INT, otmMacAscent, 136, 4, 4);
1110 TEST_FIELD(OUTLINETEXTMETRICW, INT, otmMacDescent, 140, 4, 4);
1111 TEST_FIELD(OUTLINETEXTMETRICW, UINT, otmMacLineGap, 144, 4, 4);
1112 TEST_FIELD(OUTLINETEXTMETRICW, UINT, otmusMinimumPPEM, 148, 4, 4);
1113 TEST_FIELD(OUTLINETEXTMETRICW, POINT, otmptSubscriptSize, 152, 8, 4);
1114 TEST_FIELD(OUTLINETEXTMETRICW, POINT, otmptSubscriptOffset, 160, 8, 4);
1115 TEST_FIELD(OUTLINETEXTMETRICW, POINT, otmptSuperscriptSize, 168, 8, 4);
1116 TEST_FIELD(OUTLINETEXTMETRICW, POINT, otmptSuperscriptOffset, 176, 8, 4);
1117 TEST_FIELD(OUTLINETEXTMETRICW, UINT, otmsStrikeoutSize, 184, 4, 4);
1118 TEST_FIELD(OUTLINETEXTMETRICW, INT, otmsStrikeoutPosition, 188, 4, 4);
1119 TEST_FIELD(OUTLINETEXTMETRICW, INT, otmsUnderscoreSize, 192, 4, 4);
1120 TEST_FIELD(OUTLINETEXTMETRICW, INT, otmsUnderscorePosition, 196, 4, 4);
1121 TEST_FIELD(OUTLINETEXTMETRICW, LPSTR, otmpFamilyName, 200, 4, 4);
1122 TEST_FIELD(OUTLINETEXTMETRICW, LPSTR, otmpFaceName, 204, 4, 4);
1123 TEST_FIELD(OUTLINETEXTMETRICW, LPSTR, otmpStyleName, 208, 4, 4);
1124 TEST_FIELD(OUTLINETEXTMETRICW, LPSTR, otmpFullName, 212, 4, 4);
1126 /* PANOSE (pack 4) */
1127 TEST_TYPE(PANOSE, 10, 1);
1128 TEST_FIELD(PANOSE, BYTE, bFamilyType, 0, 1, 1);
1129 TEST_FIELD(PANOSE, BYTE, bSerifStyle, 1, 1, 1);
1130 TEST_FIELD(PANOSE, BYTE, bWeight, 2, 1, 1);
1131 TEST_FIELD(PANOSE, BYTE, bProportion, 3, 1, 1);
1132 TEST_FIELD(PANOSE, BYTE, bContrast, 4, 1, 1);
1133 TEST_FIELD(PANOSE, BYTE, bStrokeVariation, 5, 1, 1);
1134 TEST_FIELD(PANOSE, BYTE, bArmStyle, 6, 1, 1);
1135 TEST_FIELD(PANOSE, BYTE, bLetterform, 7, 1, 1);
1136 TEST_FIELD(PANOSE, BYTE, bMidline, 8, 1, 1);
1137 TEST_FIELD(PANOSE, BYTE, bXHeight, 9, 1, 1);
1139 /* PELARRAY (pack 4) */
1140 TEST_TYPE(PELARRAY, 20, 4);
1141 TEST_FIELD(PELARRAY, LONG, paXCount, 0, 4, 4);
1142 TEST_FIELD(PELARRAY, LONG, paYCount, 4, 4, 4);
1143 TEST_FIELD(PELARRAY, LONG, paXExt, 8, 4, 4);
1144 TEST_FIELD(PELARRAY, LONG, paYExt, 12, 4, 4);
1145 TEST_FIELD(PELARRAY, BYTE, paRGBs, 16, 1, 1);
1147 /* PIXELFORMATDESCRIPTOR (pack 4) */
1148 TEST_TYPE(PIXELFORMATDESCRIPTOR, 40, 4);
1149 TEST_FIELD(PIXELFORMATDESCRIPTOR, WORD, nSize, 0, 2, 2);
1150 TEST_FIELD(PIXELFORMATDESCRIPTOR, WORD, nVersion, 2, 2, 2);
1151 TEST_FIELD(PIXELFORMATDESCRIPTOR, DWORD, dwFlags, 4, 4, 4);
1152 TEST_FIELD(PIXELFORMATDESCRIPTOR, BYTE, iPixelType, 8, 1, 1);
1153 TEST_FIELD(PIXELFORMATDESCRIPTOR, BYTE, cColorBits, 9, 1, 1);
1154 TEST_FIELD(PIXELFORMATDESCRIPTOR, BYTE, cRedBits, 10, 1, 1);
1155 TEST_FIELD(PIXELFORMATDESCRIPTOR, BYTE, cRedShift, 11, 1, 1);
1156 TEST_FIELD(PIXELFORMATDESCRIPTOR, BYTE, cGreenBits, 12, 1, 1);
1157 TEST_FIELD(PIXELFORMATDESCRIPTOR, BYTE, cGreenShift, 13, 1, 1);
1158 TEST_FIELD(PIXELFORMATDESCRIPTOR, BYTE, cBlueBits, 14, 1, 1);
1159 TEST_FIELD(PIXELFORMATDESCRIPTOR, BYTE, cBlueShift, 15, 1, 1);
1160 TEST_FIELD(PIXELFORMATDESCRIPTOR, BYTE, cAlphaBits, 16, 1, 1);
1161 TEST_FIELD(PIXELFORMATDESCRIPTOR, BYTE, cAlphaShift, 17, 1, 1);
1162 TEST_FIELD(PIXELFORMATDESCRIPTOR, BYTE, cAccumBits, 18, 1, 1);
1163 TEST_FIELD(PIXELFORMATDESCRIPTOR, BYTE, cAccumRedBits, 19, 1, 1);
1164 TEST_FIELD(PIXELFORMATDESCRIPTOR, BYTE, cAccumGreenBits, 20, 1, 1);
1165 TEST_FIELD(PIXELFORMATDESCRIPTOR, BYTE, cAccumBlueBits, 21, 1, 1);
1166 TEST_FIELD(PIXELFORMATDESCRIPTOR, BYTE, cAccumAlphaBits, 22, 1, 1);
1167 TEST_FIELD(PIXELFORMATDESCRIPTOR, BYTE, cDepthBits, 23, 1, 1);
1168 TEST_FIELD(PIXELFORMATDESCRIPTOR, BYTE, cStencilBits, 24, 1, 1);
1169 TEST_FIELD(PIXELFORMATDESCRIPTOR, BYTE, cAuxBuffers, 25, 1, 1);
1170 TEST_FIELD(PIXELFORMATDESCRIPTOR, BYTE, iLayerType, 26, 1, 1);
1171 TEST_FIELD(PIXELFORMATDESCRIPTOR, BYTE, bReserved, 27, 1, 1);
1172 TEST_FIELD(PIXELFORMATDESCRIPTOR, DWORD, dwLayerMask, 28, 4, 4);
1173 TEST_FIELD(PIXELFORMATDESCRIPTOR, DWORD, dwVisibleMask, 32, 4, 4);
1174 TEST_FIELD(PIXELFORMATDESCRIPTOR, DWORD, dwDamageMask, 36, 4, 4);
1176 /* POINTFX (pack 4) */
1177 TEST_TYPE(POINTFX, 8, 2);
1178 TEST_FIELD(POINTFX, FIXED, x, 0, 4, 2);
1179 TEST_FIELD(POINTFX, FIXED, y, 4, 4, 2);
1181 /* POLYTEXTA (pack 4) */
1182 TEST_TYPE(POLYTEXTA, 40, 4);
1183 TEST_FIELD(POLYTEXTA, INT, x, 0, 4, 4);
1184 TEST_FIELD(POLYTEXTA, INT, y, 4, 4, 4);
1185 TEST_FIELD(POLYTEXTA, UINT, n, 8, 4, 4);
1186 TEST_FIELD(POLYTEXTA, LPCSTR, lpstr, 12, 4, 4);
1187 TEST_FIELD(POLYTEXTA, UINT, uiFlags, 16, 4, 4);
1188 TEST_FIELD(POLYTEXTA, RECT, rcl, 20, 16, 4);
1189 TEST_FIELD(POLYTEXTA, INT *, pdx, 36, 4, 4);
1191 /* POLYTEXTW (pack 4) */
1192 TEST_TYPE(POLYTEXTW, 40, 4);
1193 TEST_FIELD(POLYTEXTW, INT, x, 0, 4, 4);
1194 TEST_FIELD(POLYTEXTW, INT, y, 4, 4, 4);
1195 TEST_FIELD(POLYTEXTW, UINT, n, 8, 4, 4);
1196 TEST_FIELD(POLYTEXTW, LPCWSTR, lpstr, 12, 4, 4);
1197 TEST_FIELD(POLYTEXTW, UINT, uiFlags, 16, 4, 4);
1198 TEST_FIELD(POLYTEXTW, RECT, rcl, 20, 16, 4);
1199 TEST_FIELD(POLYTEXTW, INT *, pdx, 36, 4, 4);
1201 /* RASTERIZER_STATUS (pack 4) */
1202 TEST_TYPE(RASTERIZER_STATUS, 6, 2);
1203 TEST_FIELD(RASTERIZER_STATUS, SHORT, nSize, 0, 2, 2);
1204 TEST_FIELD(RASTERIZER_STATUS, SHORT, wFlags, 2, 2, 2);
1205 TEST_FIELD(RASTERIZER_STATUS, SHORT, nLanguageID, 4, 2, 2);
1207 /* RGBQUAD (pack 4) */
1208 TEST_TYPE(RGBQUAD, 4, 1);
1209 TEST_FIELD(RGBQUAD, BYTE, rgbBlue, 0, 1, 1);
1210 TEST_FIELD(RGBQUAD, BYTE, rgbGreen, 1, 1, 1);
1211 TEST_FIELD(RGBQUAD, BYTE, rgbRed, 2, 1, 1);
1212 TEST_FIELD(RGBQUAD, BYTE, rgbReserved, 3, 1, 1);
1214 /* RGBTRIPLE (pack 4) */
1215 TEST_TYPE(RGBTRIPLE, 3, 1);
1216 TEST_FIELD(RGBTRIPLE, BYTE, rgbtBlue, 0, 1, 1);
1217 TEST_FIELD(RGBTRIPLE, BYTE, rgbtGreen, 1, 1, 1);
1218 TEST_FIELD(RGBTRIPLE, BYTE, rgbtRed, 2, 1, 1);
1220 /* RGNDATA (pack 4) */
1221 TEST_TYPE(RGNDATA, 36, 4);
1222 TEST_FIELD(RGNDATA, RGNDATAHEADER, rdh, 0, 32, 4);
1223 TEST_FIELD(RGNDATA, char[1], Buffer, 32, 1, 1);
1225 /* RGNDATAHEADER (pack 4) */
1226 TEST_TYPE(RGNDATAHEADER, 32, 4);
1227 TEST_FIELD(RGNDATAHEADER, DWORD, dwSize, 0, 4, 4);
1228 TEST_FIELD(RGNDATAHEADER, DWORD, iType, 4, 4, 4);
1229 TEST_FIELD(RGNDATAHEADER, DWORD, nCount, 8, 4, 4);
1230 TEST_FIELD(RGNDATAHEADER, DWORD, nRgnSize, 12, 4, 4);
1231 TEST_FIELD(RGNDATAHEADER, RECT, rcBound, 16, 16, 4);
1233 /* TEXTMETRICA (pack 4) */
1234 TEST_TYPE(TEXTMETRICA, 56, 4);
1235 TEST_FIELD(TEXTMETRICA, LONG, tmHeight, 0, 4, 4);
1236 TEST_FIELD(TEXTMETRICA, LONG, tmAscent, 4, 4, 4);
1237 TEST_FIELD(TEXTMETRICA, LONG, tmDescent, 8, 4, 4);
1238 TEST_FIELD(TEXTMETRICA, LONG, tmInternalLeading, 12, 4, 4);
1239 TEST_FIELD(TEXTMETRICA, LONG, tmExternalLeading, 16, 4, 4);
1240 TEST_FIELD(TEXTMETRICA, LONG, tmAveCharWidth, 20, 4, 4);
1241 TEST_FIELD(TEXTMETRICA, LONG, tmMaxCharWidth, 24, 4, 4);
1242 TEST_FIELD(TEXTMETRICA, LONG, tmWeight, 28, 4, 4);
1243 TEST_FIELD(TEXTMETRICA, LONG, tmOverhang, 32, 4, 4);
1244 TEST_FIELD(TEXTMETRICA, LONG, tmDigitizedAspectX, 36, 4, 4);
1245 TEST_FIELD(TEXTMETRICA, LONG, tmDigitizedAspectY, 40, 4, 4);
1246 TEST_FIELD(TEXTMETRICA, BYTE, tmFirstChar, 44, 1, 1);
1247 TEST_FIELD(TEXTMETRICA, BYTE, tmLastChar, 45, 1, 1);
1248 TEST_FIELD(TEXTMETRICA, BYTE, tmDefaultChar, 46, 1, 1);
1249 TEST_FIELD(TEXTMETRICA, BYTE, tmBreakChar, 47, 1, 1);
1250 TEST_FIELD(TEXTMETRICA, BYTE, tmItalic, 48, 1, 1);
1251 TEST_FIELD(TEXTMETRICA, BYTE, tmUnderlined, 49, 1, 1);
1252 TEST_FIELD(TEXTMETRICA, BYTE, tmStruckOut, 50, 1, 1);
1253 TEST_FIELD(TEXTMETRICA, BYTE, tmPitchAndFamily, 51, 1, 1);
1254 TEST_FIELD(TEXTMETRICA, BYTE, tmCharSet, 52, 1, 1);
1256 /* TEXTMETRICW (pack 4) */
1257 TEST_TYPE(TEXTMETRICW, 60, 4);
1258 TEST_FIELD(TEXTMETRICW, LONG, tmHeight, 0, 4, 4);
1259 TEST_FIELD(TEXTMETRICW, LONG, tmAscent, 4, 4, 4);
1260 TEST_FIELD(TEXTMETRICW, LONG, tmDescent, 8, 4, 4);
1261 TEST_FIELD(TEXTMETRICW, LONG, tmInternalLeading, 12, 4, 4);
1262 TEST_FIELD(TEXTMETRICW, LONG, tmExternalLeading, 16, 4, 4);
1263 TEST_FIELD(TEXTMETRICW, LONG, tmAveCharWidth, 20, 4, 4);
1264 TEST_FIELD(TEXTMETRICW, LONG, tmMaxCharWidth, 24, 4, 4);
1265 TEST_FIELD(TEXTMETRICW, LONG, tmWeight, 28, 4, 4);
1266 TEST_FIELD(TEXTMETRICW, LONG, tmOverhang, 32, 4, 4);
1267 TEST_FIELD(TEXTMETRICW, LONG, tmDigitizedAspectX, 36, 4, 4);
1268 TEST_FIELD(TEXTMETRICW, LONG, tmDigitizedAspectY, 40, 4, 4);
1269 TEST_FIELD(TEXTMETRICW, WCHAR, tmFirstChar, 44, 2, 2);
1270 TEST_FIELD(TEXTMETRICW, WCHAR, tmLastChar, 46, 2, 2);
1271 TEST_FIELD(TEXTMETRICW, WCHAR, tmDefaultChar, 48, 2, 2);
1272 TEST_FIELD(TEXTMETRICW, WCHAR, tmBreakChar, 50, 2, 2);
1273 TEST_FIELD(TEXTMETRICW, BYTE, tmItalic, 52, 1, 1);
1274 TEST_FIELD(TEXTMETRICW, BYTE, tmUnderlined, 53, 1, 1);
1275 TEST_FIELD(TEXTMETRICW, BYTE, tmStruckOut, 54, 1, 1);
1276 TEST_FIELD(TEXTMETRICW, BYTE, tmPitchAndFamily, 55, 1, 1);
1277 TEST_FIELD(TEXTMETRICW, BYTE, tmCharSet, 56, 1, 1);
1279 /* TRIVERTEX (pack 4) */
1280 TEST_TYPE(TRIVERTEX, 16, 4);
1281 TEST_FIELD(TRIVERTEX, LONG, x, 0, 4, 4);
1282 TEST_FIELD(TRIVERTEX, LONG, y, 4, 4, 4);
1283 TEST_FIELD(TRIVERTEX, COLOR16, Red, 8, 2, 2);
1284 TEST_FIELD(TRIVERTEX, COLOR16, Green, 10, 2, 2);
1285 TEST_FIELD(TRIVERTEX, COLOR16, Blue, 12, 2, 2);
1286 TEST_FIELD(TRIVERTEX, COLOR16, Alpha, 14, 2, 2);
1288 /* TTPOLYCURVE (pack 4) */
1289 TEST_TYPE(TTPOLYCURVE, 12, 2);
1290 TEST_FIELD(TTPOLYCURVE, WORD, wType, 0, 2, 2);
1291 TEST_FIELD(TTPOLYCURVE, WORD, cpfx, 2, 2, 2);
1292 TEST_FIELD(TTPOLYCURVE, POINTFX[1], apfx, 4, 8, 2);
1294 /* TTPOLYGONHEADER (pack 4) */
1295 TEST_TYPE(TTPOLYGONHEADER, 16, 4);
1296 TEST_FIELD(TTPOLYGONHEADER, DWORD, cb, 0, 4, 4);
1297 TEST_FIELD(TTPOLYGONHEADER, DWORD, dwType, 4, 4, 4);
1298 TEST_FIELD(TTPOLYGONHEADER, POINTFX, pfxStart, 8, 8, 2);
1300 /* XFORM (pack 4) */
1301 TEST_TYPE(XFORM, 24, 4);
1302 TEST_FIELD(XFORM, FLOAT, eM11, 0, 4, 4);
1303 TEST_FIELD(XFORM, FLOAT, eM12, 4, 4, 4);
1304 TEST_FIELD(XFORM, FLOAT, eM21, 8, 4, 4);
1305 TEST_FIELD(XFORM, FLOAT, eM22, 12, 4, 4);
1306 TEST_FIELD(XFORM, FLOAT, eDx, 16, 4, 4);
1307 TEST_FIELD(XFORM, FLOAT, eDy, 20, 4, 4);
1311 START_TEST(generated)