32#define M_PI 3.14159265358979323846
47#define GDI_GET_PROC(func) \
48 p ## func = (void *)GetProcAddress(hGDI, #func); \
50 trace("GetProcAddress(hGDI, \"%s\") failed\n", #func); \
108 if(pSetRelAbs && pGetRelAbs)
130 ok(orig_dx[
i] ==
dx[
i],
"pass %d: dx[%d] (%d) didn't match %d\n",
131 n_record,
i,
dx[
i], orig_dx[
i]);
145 ok(
ret ==
sizeof(device_lf) ||
155 ok(!emr_ExtTextOutW->
rclBounds.
left,
"emr_ExtTextOutW->rclBounds.left = %d\n",
157 ok(emr_ExtTextOutW->
rclBounds.
right != -1,
"emr_ExtTextOutW->rclBounds.right = %d\n",
159 ok(emr_ExtTextOutW->
rclBounds.
bottom != -1,
"emr_ExtTextOutW->rclBounds.bottom = %d\n",
164 ok(orig_dx[
i] ==
dx[
i],
"pass %d: dx[%d] (%d) didn't match %d\n",
165 n_record,
i,
dx[
i], orig_dx[
i]);
182 HDC hdcDisplay, hdcMetafile;
183 HENHMETAFILE hMetafile;
185 static const char text[] =
"Simple text to test ExtTextOut on metafiles";
187 static const RECT rc = { 0, 0, 100, 100 };
194 0, 0, 200, 200, 0, 0, 0,
NULL);
200 trace(
"hdcDisplay %p\n", hdcDisplay);
226 ok(hdcMetafile != 0,
"CreateEnhMetaFileA error %d\n",
GetLastError());
228 trace(
"hdcMetafile %p\n", hdcMetafile);
231 "GetDeviceCaps(TECHNOLOGY) has to return DT_RASDISPLAY for a display based EMF\n");
262 ok(hMetafile != 0,
"CloseEnhMetaFile error %d\n",
GetLastError());
264 ok(!
GetObjectType(hdcMetafile),
"CloseEnhMetaFile has to destroy metafile hdc\n");
277 if(pSetRelAbs) pSetRelAbs(hdcDisplay,
RELATIVE);
292 ok(
emr_processed,
"EnumEnhMetaFile couldn't find EMR_EXTTEXTOUTA or EMR_EXTTEXTOUTW record\n");
295 "A valid hdc has to require a valid rc\n");
298 "A null hdc does not require a valid rc\n");
325 "Got exScale %f, expected %f\n", pExtTextOutW->
exScale,
test->ex_scale);
327 "Got eyScale %f, expected %f\n", pExtTextOutW->
eyScale,
test->ey_scale);
336 const RECT rc = { 0, 0, 100, 100 };
339 HDC hdcDisplay, hdcMetafile;
340 HENHMETAFILE hMetafile;
342 SIZE wndext, vportext;
343 int horzSize, vertSize, horzRes, vertRes;
348 0, 0, 200, 200, 0, 0, 0,
NULL);
349 ok(
hwnd != 0,
"CreateWindowExA failed\n");
352 ok(hdcDisplay != 0,
"GetDC failed\n");
358 ok(horzSize && horzRes && vertSize && vertRes,
"GetDeviceCaps failed\n");
360 for (
i = 0;
i < 16;
i++)
362 test.graphics_mode =
i / 8 + 1;
363 test.map_mode =
i % 8 + 1;
366 ok(
ret,
"SetGraphicsMode failed\n");
368 ok(
ret,
"SetMapMode failed\n");
373 ok(
ret,
"SetWindowExtEx failed\n");
375 ok(
ret,
"SetViewportExtEx failed\n");
379 ok(
ret,
"GetViewportExtEx failed\n");
381 ok(
ret,
"GetWindowExtEx failed\n");
383 trace(
"gm %d, mm %d, wnd %d,%d, vp %d,%d horz %d,%d vert %d,%d\n",
385 wndext.
cx, wndext.
cy, vportext.
cx, vportext.
cy,
386 horzSize, horzRes, vertSize, vertRes);
402 ok(hdcMetafile != 0,
"CreateEnhMetaFileA failed\n");
405 ok(
ret,
"SetGraphicsMode failed\n");
407 ok(
ret,
"SetMapMode failed\n");
412 ok(
ret,
"SetWindowExtEx failed\n");
414 ok(
ret,
"SetViewportExtEx failed\n");
418 ok(
ret,
"ExtTextOutW failed\n");
421 ok(hMetafile != 0,
"CloseEnhMetaFile failed\n");
425 ok(
ret,
"EnumEnhMetaFile failed\n");
426 ok(
test.processed,
"EnumEnhMetaFile couldn't find EMR_EXTTEXTOUTW record\n");
429 ok(
ret,
"DeleteEnhMetaFile failed\n");
433 ok(
ret,
"ReleaseDC failed\n");
439 int wnd_org_x,
int wnd_org_y,
int wnd_ext_x,
int wnd_ext_y,
440 int vp_org_x,
int vp_org_y,
int vp_ext_x,
int vp_ext_y)
444 POINT vp_org, win_org;
445 SIZE vp_size, win_size;
453 trace(
"%d: eM11 %f, eM22 %f, eDx %f, eDy %f\n", restore_no, xform.
eM11, xform.
eM22, xform.
eDx, xform.
eDy);
455 ok(xform.
eM12 == 0.0,
"%d: expected eM12 0.0, got %f\n", restore_no, xform.
eM12);
456 ok(xform.
eM21 == 0.0,
"%d: expected eM21 0.0, got %f\n", restore_no, xform.
eM21);
459 trace(
"x scale %f\n", xscale);
460 ok(
fabs(xscale - xform.
eM11) < 0.01,
"%d: vp_ext_x %d, wnd_ext_cx %d, eM11 %f\n",
461 restore_no, vp_ext_x, wnd_ext_x, xform.
eM11);
464 trace(
"y scale %f\n", yscale);
465 ok(
fabs(yscale - xform.
eM22) < 0.01,
"%d: vp_ext_y %d, wnd_ext_y %d, eM22 %f\n",
466 restore_no, vp_ext_y, wnd_ext_y, xform.
eM22);
469 ok(
fabs(
edx - xform.
eDx) < 0.01,
"%d: edx %f != eDx %f\n", restore_no,
edx, xform.
eDx);
471 ok(
fabs(edy - xform.
eDy) < 0.01,
"%d: edy %f != eDy %f\n", restore_no, edy, xform.
eDy);
482 ok(wnd_org_x == win_org.
x,
"%d: wnd_org_x: %d != %d\n", restore_no, wnd_org_x, win_org.
x);
483 ok(wnd_org_y == win_org.
y,
"%d: wnd_org_y: %d != %d\n", restore_no, wnd_org_y, win_org.
y);
485 ok(vp_org_x == vp_org.
x,
"%d: vport_org_x: %d != %d\n", restore_no, vp_org_x, vp_org.
x);
486 ok(vp_org_y == vp_org.
y,
"%d: vport_org_y: %d != %d\n", restore_no, vp_org_y, vp_org.
y);
488 ok(wnd_ext_x == win_size.
cx,
"%d: wnd_ext_x: %d != %d\n", restore_no, wnd_ext_x, win_size.
cx);
489 ok(wnd_ext_y == win_size.
cy,
"%d: wnd_ext_y: %d != %d\n", restore_no, wnd_ext_y, win_size.
cy);
491 ok(vp_ext_x == vp_size.
cx,
"%d: vport_ext_x: %d != %d\n", restore_no, vp_ext_x, vp_size.
cx);
492 ok(vp_ext_y == vp_size.
cy,
"%d: vport_ext_y: %d != %d\n", restore_no, vp_ext_y, vp_size.
cy);
502 static int save_state;
503 static int restore_no;
504 static int select_no;
506 trace(
"hdc %p, emr->iType %d, emr->nSize %d, param %p\n",
515 trace(
"window org (%d,%d)\n",
pt.x,
pt.y);
518 trace(
"vport org (%d,%d)\n",
pt.x,
pt.y);
538 static RECT exp_bounds = { 0, 0, 150, 150 };
542 trace(
"bounds %d,%d-%d,%d, frame %d,%d-%d,%d\n",
543 emf->rclBounds.left,
emf->rclBounds.top,
emf->rclBounds.right,
emf->rclBounds.bottom,
544 emf->rclFrame.left,
emf->rclFrame.top,
emf->rclFrame.right,
emf->rclFrame.bottom);
545 trace(
"mm %d x %d, device %d x %d\n",
emf->szlMillimeters.cx,
emf->szlMillimeters.cy,
546 emf->szlDevice.cx,
emf->szlDevice.cy);
548 SetRect(&bounds,
emf->rclBounds.left,
emf->rclBounds.top,
emf->rclBounds.right,
emf->rclBounds.bottom);
549 ok(
EqualRect(&bounds, &exp_bounds),
"wrong bounds\n");
567 trace(
"EMR_SETWINDOWORGEX: %d,%d\n",
org->ptlOrigin.x,
org->ptlOrigin.y);
573 trace(
"EMR_SETWINDOWEXTEX: %d,%d\n",
ext->szlExtent.cx,
ext->szlExtent.cy);
579 trace(
"EMR_SETVIEWPORTORGEX: %d,%d\n",
org->ptlOrigin.x,
org->ptlOrigin.y);
585 trace(
"EMR_SETVIEWPORTEXTEX: %d,%d\n",
ext->szlExtent.cx,
ext->szlExtent.cy);
590 trace(
"EMR_SAVEDC\n");
613 ok(restore_no <= 3,
"restore_no %d\n", restore_no);
625 ok(save_state == 0,
"EOF save_state %d\n", save_state);
626 ok(select_no == 3,
"Too many/few selects %i\n",select_no);
636 trace(
"window org (%d,%d)\n",
pt.x,
pt.y);
639 trace(
"vport org (%d,%d)\n",
pt.x,
pt.y);
658 HDC hdcMetafile, hdcDisplay;
659 HENHMETAFILE hMetafile;
665 static const RECT rc = { 0, 0, 150, 150 };
669 0, 0, 200, 200, 0, 0, 0,
NULL);
676 ok(hdcMetafile != 0,
"CreateEnhMetaFileA error %d\n",
GetLastError());
681 LineTo(hdcMetafile, 150, 150);
693 ok(
pt.x == 0,
"Expecting ViewportOrg x of 0, got %i\n",
pt.x);
696 ok(
size.cx == 120,
"Expecting ViewportExt cx of 120, got %i\n",
size.cx);
710 ok(
pt.x == 10,
"Expecting ViewportOrg x of 10, got %i\n",
pt.x);
713 ok(
size.cx == 200,
"Expecting ViewportExt cx of 200, got %i\n",
size.cx);
729 ok(
pt.x == 20,
"Expecting ViewportOrg x of 20, got %i\n",
pt.x);
732 ok(
size.cx == 300,
"Expecting ViewportExt cx of 300, got %i\n",
size.cx);
744 ok(
GetBkColor( hdcMetafile ) == 0x123456,
"Background color not restored\n" );
751 ok(
pt.x == 30,
"Expecting ViewportOrg x of 30, got %i\n",
pt.x);
754 ok(
size.cx == 400,
"Expecting ViewportExt cx of 400, got %i\n",
size.cx);
760 ok(
pt.x == 20,
"Expecting ViewportOrg x of 20, got %i\n",
pt.x);
763 ok(
size.cx == 300,
"Expecting ViewportExt cx of 300, got %i\n",
size.cx);
765 ok(
GetBkColor( hdcMetafile ) == 0,
"Background color not restored\n" );
771 ok(
pt.x == 20,
"Expecting ViewportOrg x of 20, got %i\n",
pt.x);
774 ok(
size.cx == 300,
"Expecting ViewportExt cx of 300, got %i\n",
size.cx);
779 ok(
pt.x == 0,
"Expecting ViewportOrg x of 0, got %i\n",
pt.x);
782 ok(
size.cx == 120,
"Expecting ViewportExt cx of 120, got %i\n",
size.cx);
794 ok(
pt.x == 40,
"Expecting ViewportOrg x of 40, got %i\n",
pt.x);
797 ok(
size.cx == 50,
"Expecting ViewportExt cx of 50, got %i\n",
size.cx);
803 ok(
pt.x == 40,
"Expecting ViewportOrg x of 40, got %i\n",
pt.x);
806 ok(
size.cx == 50,
"Expecting ViewportExt cx of 50, got %i\n",
size.cx);
823 ok(hFont2 != 0,
"CreateFontIndirectA error %d\n",
GetLastError());
825 ok(hFontCheck ==
hFont,
"Font not selected\n");
834 ok(
pt.x == 40,
"Expecting ViewportOrg x of 40, got %i\n",
pt.x);
837 ok(
size.cx == 50,
"Expecting ViewportExt cx of 50, got %i\n",
size.cx);
840 ok(hFontOld == hFontCheck && hFontCheck !=
hFont && hFontCheck != hFont2,
841 "Font not reverted with DC Restore\n");
849 ok(hMetafile != 0,
"CloseEnhMetaFile error %d\n",
GetLastError());
852 ok(
ret == 1,
"EnumEnhMetaFile rets %d\n",
ret);
875 ok(hdcMetafile != 0,
"CreateMetaFileA error %d\n",
GetLastError());
878 ok (
ret,
"SetMapMode should not fail\n");
881 LineTo(hdcMetafile, 150, 150);
885 ok(
pt.x == 5555 &&
pt.y == 5555,
"wrong origin %d,%d\n",
pt.x,
pt.y);
888 ok(
pt.x == 5555 &&
pt.y == 5555,
"wrong origin %d,%d\n",
pt.x,
pt.y);
979 ok(hFont2 != 0,
"CreateFontIndirectA error %d\n",
GetLastError());
981 ok(hFontCheck ==
hFont,
"Font not selected\n");
990 ok(hFontOld != hFontCheck && hFontCheck == hFont2,
"Font incorrectly reverted with DC Restore\n");
1001 ok(hMetafile != 0,
"CloseEnhMetaFile error %d\n",
GetLastError());
1017#define MF_BUFSIZE 1024
1021 0x01, 0x00, 0x02, 0x00,
1022 0x03, 0x00, 0x04, 0x00,
1023 0x05, 0x00, 0x06, 0x00,
1024 0x07, 0x00, 0x08, 0x00
1032 0x01, 0x00, 0x09, 0x00, 0x00, 0x03, 0x0c, 0x00,
1033 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00,
1034 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00,
1038 0x01, 0x00, 0x09, 0x00, 0x00, 0x03, 0x22, 0x00,
1039 0x00, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00,
1040 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x14, 0x02,
1041 0x01, 0x00, 0x01, 0x00, 0x05, 0x00, 0x00, 0x00,
1042 0x13, 0x02, 0x02, 0x00, 0x02, 0x00, 0x05, 0x00,
1043 0x00, 0x00, 0x14, 0x02, 0x01, 0x00, 0x01, 0x00,
1044 0x07, 0x00, 0x00, 0x00, 0x18, 0x04, 0x02, 0x00,
1045 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00,
1046 0x00, 0x00, 0x00, 0x00
1050 0x01, 0x00, 0x09, 0x00, 0x00, 0x03, 0x3d, 0x00,
1051 0x00, 0x00, 0x01, 0x00, 0x2d, 0x00, 0x00, 0x00,
1052 0x00, 0x00, 0x2d, 0x00, 0x00, 0x00, 0x42, 0x01,
1053 0x03, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00,
1054 0x08, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00,
1055 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00,
1056 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1057 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1058 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1059 0xff, 0xff, 0xff, 0x00, 0x08, 0x00, 0x00, 0x00,
1060 0x07, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00,
1061 0x05, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00,
1062 0x03, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00,
1063 0x01, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00,
1064 0x2d, 0x01, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00,
1070 0x01, 0x00, 0x09, 0x00, 0x00, 0x03, 0x2a, 0x00,
1071 0x00, 0x00, 0x02, 0x00, 0x08, 0x00, 0x00, 0x00,
1072 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0xfc, 0x02,
1073 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00,
1074 0x04, 0x00, 0x00, 0x00, 0x2d, 0x01, 0x00, 0x00,
1075 0x08, 0x00, 0x00, 0x00, 0xfa, 0x02, 0x00, 0x00,
1076 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1077 0x04, 0x00, 0x00, 0x00, 0x2d, 0x01, 0x01, 0x00,
1078 0x07, 0x00, 0x00, 0x00, 0x1b, 0x04, 0x14, 0x00,
1079 0x14, 0x00, 0x0a, 0x00, 0x0a, 0x00, 0x03, 0x00,
1080 0x00, 0x00, 0x00, 0x00
1085 0x01, 0x00, 0x09, 0x00, 0x00, 0x03, 0x19, 0x00,
1086 0x00, 0x00, 0x00, 0x00, 0x0d, 0x00, 0x00, 0x00,
1087 0x00, 0x00, 0x0d, 0x00, 0x00, 0x00, 0x32, 0x0a,
1088 0x16, 0x00, 0x0b, 0x00, 0x04, 0x00, 0x00, 0x00,
1089 0x54, 0x65, 0x73, 0x74, 0x03, 0x00, 0x05, 0x00,
1090 0x08, 0x00, 0x0c, 0x00, 0x03, 0x00, 0x00, 0x00,
1096 0x01, 0x00, 0x00, 0x00, 0x6c, 0x00, 0x00, 0x00,
1097 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1098 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
1099 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1100 0xe7, 0xff, 0xff, 0xff, 0xe9, 0xff, 0xff, 0xff,
1101 0x20, 0x45, 0x4d, 0x46, 0x00, 0x00, 0x01, 0x00,
1102 0xf4, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00,
1103 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1104 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1105 0x00, 0x05, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00,
1106 0x40, 0x01, 0x00, 0x00, 0xf0, 0x00, 0x00, 0x00,
1107 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1108 0x00, 0x00, 0x00, 0x00, 0x00, 0xe2, 0x04, 0x00,
1109 0x80, 0xa9, 0x03, 0x00, 0x3b, 0x00, 0x00, 0x00,
1110 0x08, 0x00, 0x00, 0x00, 0x54, 0x00, 0x00, 0x00,
1111 0x64, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1112 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff,
1113 0xff, 0xff, 0xff, 0xff, 0x01, 0x00, 0x00, 0x00,
1114 0x00, 0x00, 0xc8, 0x41, 0x00, 0x80, 0xbb, 0x41,
1115 0x0b, 0x00, 0x00, 0x00, 0x16, 0x00, 0x00, 0x00,
1116 0x04, 0x00, 0x00, 0x00, 0x4c, 0x00, 0x00, 0x00,
1117 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1118 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff,
1119 0xff, 0xff, 0xff, 0xff, 0x54, 0x00, 0x00, 0x00,
1120 0x54, 0x00, 0x65, 0x00, 0x73, 0x00, 0x74, 0x00,
1121 0x03, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00,
1122 0x08, 0x00, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x00,
1123 0x3c, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00,
1124 0x0e, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00,
1125 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00,
1126 0x14, 0x00, 0x00, 0x00
1131 0x01, 0x00, 0x00, 0x00, 0x6c, 0x00, 0x00, 0x00,
1132 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1133 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
1134 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1135 0xdd, 0xff, 0xff, 0xff, 0xdd, 0xff, 0xff, 0xff,
1136 0x20, 0x45, 0x4d, 0x46, 0x00, 0x00, 0x01, 0x00,
1137 0x0c, 0x01, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00,
1138 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1139 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1140 0x90, 0x06, 0x00, 0x00, 0x1a, 0x04, 0x00, 0x00,
1141 0x51, 0x02, 0x00, 0x00, 0x72, 0x01, 0x00, 0x00,
1142 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1143 0x00, 0x00, 0x00, 0x00, 0x1a, 0x0b, 0x09, 0x00,
1144 0xf0, 0xa6, 0x05, 0x00, 0x25, 0x00, 0x00, 0x00,
1145 0x0c, 0x00, 0x00, 0x00, 0x0d, 0x00, 0x00, 0x80,
1146 0x3b, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00,
1147 0x54, 0x00, 0x00, 0x00, 0x64, 0x00, 0x00, 0x00,
1148 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1149 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
1150 0x01, 0x00, 0x00, 0x00, 0xc3, 0x30, 0x0d, 0x42,
1151 0xcf, 0xf3, 0x0c, 0x42, 0x0b, 0x00, 0x00, 0x00,
1152 0x16, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00,
1153 0x4c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1154 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1155 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
1156 0x54, 0x00, 0x00, 0x00, 0x54, 0x00, 0x65, 0x00,
1157 0x73, 0x00, 0x74, 0x00, 0x03, 0x00, 0x00, 0x00,
1158 0x05, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00,
1159 0x0c, 0x00, 0x00, 0x00, 0x3c, 0x00, 0x00, 0x00,
1160 0x08, 0x00, 0x00, 0x00, 0x25, 0x00, 0x00, 0x00,
1161 0x0c, 0x00, 0x00, 0x00, 0x0d, 0x00, 0x00, 0x80,
1162 0x0e, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00,
1163 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00,
1164 0x14, 0x00, 0x00, 0x00
1168 0x01, 0x00, 0x09, 0x00, 0x00, 0x03, 0x11, 0x00,
1169 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00,
1170 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x13, 0x02,
1171 0x0f, 0x00, 0x37, 0x00, 0x03, 0x00, 0x00, 0x00,
1176 0x01, 0x00, 0x00, 0x00, 0x6c, 0x00, 0x00, 0x00,
1177 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1178 0x37, 0x00, 0x00, 0x00, 0x0f, 0x00, 0x00, 0x00,
1179 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1180 0x61, 0x06, 0x00, 0x00, 0xb7, 0x01, 0x00, 0x00,
1181 0x20, 0x45, 0x4d, 0x46, 0x00, 0x00, 0x01, 0x00,
1182 0x38, 0x01, 0x00, 0x00, 0x0b, 0x00, 0x00, 0x00,
1183 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1184 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1185 0x00, 0x05, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00,
1186 0x7c, 0x01, 0x00, 0x00, 0x2c, 0x01, 0x00, 0x00,
1187 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1188 0x00, 0x00, 0x00, 0x00, 0x60, 0xcc, 0x05, 0x00,
1189 0xe0, 0x93, 0x04, 0x00, 0x46, 0x00, 0x00, 0x00,
1190 0x48, 0x00, 0x00, 0x00, 0x3a, 0x00, 0x00, 0x00,
1191 0x47, 0x44, 0x49, 0x43, 0x01, 0x00, 0x00, 0x80,
1192 0x00, 0x03, 0x00, 0x00, 0x60, 0xe5, 0xf4, 0x73,
1193 0x00, 0x00, 0x00, 0x00, 0x22, 0x00, 0x00, 0x00,
1194 0x01, 0x00, 0x09, 0x00, 0x00, 0x03, 0x11, 0x00,
1195 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00,
1196 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x13, 0x02,
1197 0x0f, 0x00, 0x37, 0x00, 0x03, 0x00, 0x00, 0x00,
1198 0x00, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00,
1199 0x0c, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00,
1200 0x0b, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00,
1201 0x00, 0x05, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00,
1202 0x09, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00,
1203 0x00, 0x05, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00,
1204 0x36, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00,
1205 0x37, 0x00, 0x00, 0x00, 0x0f, 0x00, 0x00, 0x00,
1206 0x25, 0x00, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x00,
1207 0x07, 0x00, 0x00, 0x80, 0x25, 0x00, 0x00, 0x00,
1208 0x0c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80,
1209 0x30, 0x00, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x00,
1210 0x0f, 0x00, 0x00, 0x80, 0x4b, 0x00, 0x00, 0x00,
1211 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1212 0x05, 0x00, 0x00, 0x00, 0x0e, 0x00, 0x00, 0x00,
1213 0x14, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1214 0x10, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00
1218 0x01, 0x00, 0x00, 0x00, 0x6c, 0x00, 0x00, 0x00,
1219 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1220 0x37, 0x00, 0x00, 0x00, 0x0f, 0x00, 0x00, 0x00,
1221 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1222 0x64, 0x00, 0x00, 0x00, 0x64, 0x00, 0x00, 0x00,
1223 0x20, 0x45, 0x4d, 0x46, 0x00, 0x00, 0x01, 0x00,
1224 0x38, 0x01, 0x00, 0x00, 0x0b, 0x00, 0x00, 0x00,
1225 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1226 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1227 0x00, 0x05, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00,
1228 0x7c, 0x01, 0x00, 0x00, 0x2c, 0x01, 0x00, 0x00,
1229 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1230 0x00, 0x00, 0x00, 0x00, 0x60, 0xcc, 0x05, 0x00,
1231 0xe0, 0x93, 0x04, 0x00, 0x46, 0x00, 0x00, 0x00,
1232 0x48, 0x00, 0x00, 0x00, 0x3a, 0x00, 0x00, 0x00,
1233 0x47, 0x44, 0x49, 0x43, 0x01, 0x00, 0x00, 0x80,
1234 0x00, 0x03, 0x00, 0x00, 0xa4, 0xfe, 0xf4, 0x73,
1235 0x00, 0x00, 0x00, 0x00, 0x22, 0x00, 0x00, 0x00,
1236 0x01, 0x00, 0x09, 0x00, 0x00, 0x03, 0x11, 0x00,
1237 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00,
1238 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x13, 0x02,
1239 0x0f, 0x00, 0x37, 0x00, 0x03, 0x00, 0x00, 0x00,
1240 0x00, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00,
1241 0x0c, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00,
1242 0x0b, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00,
1243 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00,
1244 0x09, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00,
1245 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00,
1246 0x36, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00,
1247 0x37, 0x00, 0x00, 0x00, 0x0f, 0x00, 0x00, 0x00,
1248 0x25, 0x00, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x00,
1249 0x07, 0x00, 0x00, 0x80, 0x25, 0x00, 0x00, 0x00,
1250 0x0c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80,
1251 0x30, 0x00, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x00,
1252 0x0f, 0x00, 0x00, 0x80, 0x4b, 0x00, 0x00, 0x00,
1253 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1254 0x05, 0x00, 0x00, 0x00, 0x0e, 0x00, 0x00, 0x00,
1255 0x14, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1256 0x10, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00
1260 0x01, 0x00, 0x00, 0x00, 0x6c, 0x00, 0x00, 0x00,
1261 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1262 0x37, 0x00, 0x00, 0x00, 0x0f, 0x00, 0x00, 0x00,
1263 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1264 0x61, 0x06, 0x00, 0x00, 0xb7, 0x01, 0x00, 0x00,
1265 0x20, 0x45, 0x4d, 0x46, 0x00, 0x00, 0x01, 0x00,
1266 0xe4, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00,
1267 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1268 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1269 0x00, 0x05, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00,
1270 0x7c, 0x01, 0x00, 0x00, 0x2c, 0x01, 0x00, 0x00,
1271 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1272 0x00, 0x00, 0x00, 0x00, 0x60, 0xcc, 0x05, 0x00,
1273 0xe0, 0x93, 0x04, 0x00, 0x0b, 0x00, 0x00, 0x00,
1274 0x10, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00,
1275 0x00, 0x04, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00,
1276 0x10, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00,
1277 0x00, 0x04, 0x00, 0x00, 0x36, 0x00, 0x00, 0x00,
1278 0x10, 0x00, 0x00, 0x00, 0x37, 0x00, 0x00, 0x00,
1279 0x0f, 0x00, 0x00, 0x00, 0x25, 0x00, 0x00, 0x00,
1280 0x0c, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x80,
1281 0x25, 0x00, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x00,
1282 0x00, 0x00, 0x00, 0x80, 0x30, 0x00, 0x00, 0x00,
1283 0x0c, 0x00, 0x00, 0x00, 0x0f, 0x00, 0x00, 0x80,
1284 0x4b, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00,
1285 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00,
1286 0x0e, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00,
1287 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00,
1288 0x14, 0x00, 0x00, 0x00
1293 0x01, 0x00, 0x00, 0x00, 0x6c, 0x00, 0x00, 0x00,
1294 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1295 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00,
1296 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1297 0x4f, 0x00, 0x00, 0x00, 0x4f, 0x00, 0x00, 0x00,
1298 0x20, 0x45, 0x4d, 0x46, 0x00, 0x00, 0x01, 0x00,
1299 0x64, 0x02, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00,
1300 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1301 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1302 0x80, 0x07, 0x00, 0x00, 0xb0, 0x04, 0x00, 0x00,
1303 0xfc, 0x01, 0x00, 0x00, 0x3e, 0x01, 0x00, 0x00,
1304 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1305 0x00, 0x00, 0x00, 0x00, 0x60, 0xc0, 0x07, 0x00,
1306 0x30, 0xda, 0x04, 0x00, 0x4c, 0x00, 0x00, 0x00,
1307 0xbc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1308 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00,
1309 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1310 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00,
1311 0x04, 0x00, 0x00, 0x00, 0x20, 0x00, 0xcc, 0x00,
1312 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1313 0x00, 0x00, 0x80, 0x3f, 0x00, 0x00, 0x00, 0x00,
1314 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x3f,
1315 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1316 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00,
1317 0x64, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00,
1318 0x8c, 0x00, 0x00, 0x00, 0x30, 0x00, 0x00, 0x00,
1319 0x28, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00,
1320 0x04, 0x00, 0x00, 0x00, 0x01, 0x00, 0x18, 0x00,
1321 0x00, 0x00, 0x00, 0x00, 0x30, 0x00, 0x00, 0x00,
1322 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1323 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1324 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1325 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1326 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1327 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1328 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1329 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1330 0x4c, 0x00, 0x00, 0x00, 0x64, 0x00, 0x00, 0x00,
1331 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1332 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00,
1333 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1334 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00,
1335 0x62, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00,
1336 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x3f,
1337 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1338 0x00, 0x00, 0x80, 0x3f, 0x00, 0x00, 0x00, 0x00,
1339 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1340 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1341 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1342 0x00, 0x00, 0x00, 0x00, 0x4d, 0x00, 0x00, 0x00,
1343 0xc4, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1344 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00,
1345 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1346 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00,
1347 0x04, 0x00, 0x00, 0x00, 0x20, 0x00, 0xcc, 0x00,
1348 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1349 0x0a, 0xd7, 0xa3, 0x3b, 0x00, 0x00, 0x00, 0x00,
1350 0x00, 0x00, 0x00, 0x00, 0x0a, 0xd7, 0x23, 0x3c,
1351 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1352 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00,
1353 0x6c, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00,
1354 0x94, 0x00, 0x00, 0x00, 0x30, 0x00, 0x00, 0x00,
1355 0x90, 0x01, 0x00, 0x00, 0x90, 0x01, 0x00, 0x00,
1356 0x28, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00,
1357 0x04, 0x00, 0x00, 0x00, 0x01, 0x00, 0x18, 0x00,
1358 0x00, 0x00, 0x00, 0x00, 0x30, 0x00, 0x00, 0x00,
1359 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1360 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1361 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1362 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1363 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1364 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1365 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1366 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1367 0x0e, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00,
1368 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00,
1369 0x14, 0x00, 0x00, 0x00
1374 0x01, 0x00, 0x00, 0x00, 0x6c, 0x00, 0x00, 0x00,
1375 0x0a, 0x00, 0x00, 0x00, 0x0a, 0x00, 0x00, 0x00,
1376 0x13, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00,
1377 0x39, 0x01, 0x00, 0x00, 0x39, 0x01, 0x00, 0x00,
1378 0x52, 0x02, 0x00, 0x00, 0x52, 0x02, 0x00, 0x00,
1379 0x20, 0x45, 0x4d, 0x46, 0x00, 0x00, 0x01, 0x00,
1380 0x44, 0x01, 0x00, 0x00, 0x0e, 0x00, 0x00, 0x00,
1381 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1382 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1383 0x00, 0x04, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00,
1384 0x40, 0x01, 0x00, 0x00, 0xf0, 0x00, 0x00, 0x00,
1385 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1386 0x00, 0x00, 0x00, 0x00, 0x00, 0xe2, 0x04, 0x00,
1387 0x80, 0xa9, 0x03, 0x00, 0x25, 0x00, 0x00, 0x00,
1388 0x0c, 0x00, 0x00, 0x00, 0x12, 0x00, 0x00, 0x80,
1389 0x25, 0x00, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x00,
1390 0x13, 0x00, 0x00, 0x80, 0x27, 0x00, 0x00, 0x00,
1391 0x18, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,
1392 0x00, 0x00, 0x00, 0x00, 0x55, 0x55, 0x55, 0x00,
1393 0x00, 0x00, 0x00, 0x00, 0x25, 0x00, 0x00, 0x00,
1394 0x0c, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,
1395 0x26, 0x00, 0x00, 0x00, 0x1c, 0x00, 0x00, 0x00,
1396 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1397 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1398 0x33, 0x44, 0x55, 0x00, 0x25, 0x00, 0x00, 0x00,
1399 0x0c, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00,
1400 0x2b, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00,
1401 0x0a, 0x00, 0x00, 0x00, 0x0a, 0x00, 0x00, 0x00,
1402 0x13, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00,
1403 0x28, 0x00, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x00,
1404 0x01, 0x00, 0x00, 0x00, 0x27, 0x00, 0x00, 0x00,
1405 0x18, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,
1406 0x00, 0x00, 0x00, 0x00, 0x12, 0x34, 0x56, 0x00,
1407 0x00, 0x00, 0x00, 0x00, 0x25, 0x00, 0x00, 0x00,
1408 0x0c, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,
1409 0x28, 0x00, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x00,
1410 0x01, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00,
1411 0x0c, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00,
1412 0x0e, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00,
1413 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00,
1414 0x14, 0x00, 0x00, 0x00
1419 0x01, 0x00, 0x00, 0x00, 0x6c, 0x00, 0x00, 0x00,
1420 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1421 0x01, 0x80, 0x00, 0x00, 0x01, 0x80, 0x00, 0x00,
1422 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1423 0x1a, 0x2a, 0x0d, 0x00, 0x1a, 0x2f, 0x0d, 0x00,
1424 0x20, 0x45, 0x4d, 0x46, 0x00, 0x00, 0x01, 0x00,
1425 0x44, 0x01, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00,
1426 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1427 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1428 0x00, 0x05, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00,
1429 0x51, 0x01, 0x00, 0x00, 0x0e, 0x01, 0x00, 0x00,
1430 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1431 0x00, 0x00, 0x00, 0x00, 0x68, 0x24, 0x05, 0x00,
1432 0xb0, 0x1e, 0x04, 0x00, 0x58, 0x00, 0x00, 0x00,
1433 0x28, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1434 0x00, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00,
1435 0x14, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00,
1436 0x0a, 0x00, 0x0a, 0x00, 0x14, 0x00, 0x14, 0x00,
1437 0x0f, 0x00, 0x0f, 0x00, 0x55, 0x00, 0x00, 0x00,
1438 0x2c, 0x00, 0x00, 0x00, 0x0a, 0x00, 0x00, 0x00,
1439 0x0a, 0x00, 0x00, 0x00, 0x19, 0x00, 0x00, 0x00,
1440 0x19, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00,
1441 0x0a, 0x00, 0x0a, 0x00, 0x14, 0x00, 0x14, 0x00,
1442 0x0f, 0x00, 0x0f, 0x00, 0x19, 0x00, 0x19, 0x00,
1443 0x02, 0x00, 0x00, 0x00, 0x3c, 0x00, 0x00, 0x00,
1444 0x0f, 0x00, 0x00, 0x00, 0x0f, 0x00, 0x00, 0x00,
1445 0x01, 0x80, 0x00, 0x00, 0x01, 0x80, 0x00, 0x00,
1446 0x04, 0x00, 0x00, 0x00, 0x01, 0x80, 0x00, 0x00,
1447 0x01, 0x80, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00,
1448 0x14, 0x00, 0x00, 0x00, 0x0f, 0x00, 0x00, 0x00,
1449 0x0f, 0x00, 0x00, 0x00, 0x19, 0x00, 0x00, 0x00,
1450 0x19, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00,
1451 0x34, 0x00, 0x00, 0x00, 0x0f, 0x00, 0x00, 0x00,
1452 0x0f, 0x00, 0x00, 0x00, 0x01, 0x80, 0x00, 0x00,
1453 0x01, 0x80, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00,
1454 0x01, 0x80, 0x00, 0x00, 0x01, 0x80, 0x00, 0x00,
1455 0x14, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00,
1456 0x0f, 0x00, 0x00, 0x00, 0x0f, 0x00, 0x00, 0x00,
1457 0x0e, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00,
1458 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00,
1459 0x14, 0x00, 0x00, 0x00
1464 0x01, 0x00, 0x00, 0x00, 0x6c, 0x00, 0x00, 0x00,
1465 0x0a, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00,
1466 0x00, 0x90, 0x00, 0x00, 0xf4, 0x01, 0x00, 0x00,
1467 0x61, 0x01, 0x00, 0x00, 0xc2, 0x02, 0x00, 0x00,
1468 0x7a, 0xd4, 0x13, 0x00, 0xe8, 0x44, 0x00, 0x00,
1469 0x20, 0x45, 0x4d, 0x46, 0x00, 0x00, 0x01, 0x00,
1470 0x84, 0x01, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00,
1471 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1472 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1473 0xa1, 0x05, 0x00, 0x00, 0x47, 0x03, 0x00, 0x00,
1474 0xfc, 0x01, 0x00, 0x00, 0x28, 0x01, 0x00, 0x00,
1475 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1476 0x00, 0x00, 0x00, 0x00, 0xc0, 0xc1, 0x07, 0x00,
1477 0x2c, 0x84, 0x04, 0x00, 0x5a, 0x00, 0x00, 0x00,
1478 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1479 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff,
1480 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00,
1481 0x00, 0x00, 0x00, 0x00, 0x5a, 0x00, 0x00, 0x00,
1482 0x2c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1483 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff,
1484 0xff, 0xff, 0xff, 0xff, 0x02, 0x00, 0x00, 0x00,
1485 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1486 0x01, 0x00, 0x00, 0x00, 0x0a, 0x00, 0x14, 0x00,
1487 0x5a, 0x00, 0x00, 0x00, 0x30, 0x00, 0x00, 0x00,
1488 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1489 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
1490 0x02, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00,
1491 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,
1492 0x0a, 0x00, 0x14, 0x00, 0x64, 0x00, 0xc8, 0x00,
1493 0x07, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00,
1494 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1495 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
1496 0x02, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00,
1497 0x02, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,
1498 0x0a, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00,
1499 0x64, 0x00, 0x00, 0x00, 0xc8, 0x00, 0x00, 0x00,
1500 0x00, 0x90, 0x00, 0x00, 0x2c, 0x01, 0x00, 0x00,
1501 0x07, 0x00, 0x00, 0x00, 0x48, 0x00, 0x00, 0x00,
1502 0x0a, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00,
1503 0x00, 0x90, 0x00, 0x00, 0xf4, 0x01, 0x00, 0x00,
1504 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00,
1505 0x02, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00,
1506 0x0a, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00,
1507 0x64, 0x00, 0x00, 0x00, 0xc8, 0x00, 0x00, 0x00,
1508 0x00, 0x90, 0x00, 0x00, 0x2c, 0x01, 0x00, 0x00,
1509 0x90, 0x01, 0x00, 0x00, 0xf4, 0x01, 0x00, 0x00,
1510 0x0e, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00,
1511 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00,
1512 0x14, 0x00, 0x00, 0x00
1517 0x01, 0x00, 0x00, 0x00, 0x6c, 0x00, 0x00, 0x00,
1518 0x01, 0x00, 0x00, 0x00, 0x0a, 0x00, 0x00, 0x00,
1519 0x2b, 0x01, 0x00, 0x00, 0x35, 0x01, 0x00, 0x00,
1520 0x23, 0x00, 0x00, 0x00, 0x61, 0x01, 0x00, 0x00,
1521 0x31, 0x29, 0x00, 0x00, 0xa3, 0x2a, 0x00, 0x00,
1522 0x20, 0x45, 0x4d, 0x46, 0x00, 0x00, 0x01, 0x00,
1523 0x0c, 0x01, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00,
1524 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1525 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1526 0x40, 0x05, 0x00, 0x00, 0x46, 0x03, 0x00, 0x00,
1527 0xda, 0x01, 0x00, 0x00, 0x28, 0x01, 0x00, 0x00,
1528 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1529 0x00, 0x00, 0x00, 0x00, 0x15, 0x3c, 0x07, 0x00,
1530 0xcb, 0x82, 0x04, 0x00, 0x76, 0x00, 0x00, 0x00,
1531 0x8c, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,
1532 0x0a, 0x00, 0x00, 0x00, 0x2b, 0x01, 0x00, 0x00,
1533 0x35, 0x01, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00,
1534 0x02, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00,
1535 0x01, 0x00, 0x00, 0x00, 0x0a, 0x00, 0x00, 0x00,
1536 0x00, 0xff, 0x00, 0x80, 0x00, 0x00, 0x01, 0x80,
1537 0xc8, 0x00, 0x00, 0x00, 0xd2, 0x00, 0x00, 0x00,
1538 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0xff,
1539 0xb4, 0x00, 0x00, 0x00, 0xbe, 0x00, 0x00, 0x00,
1540 0x34, 0x12, 0x78, 0x56, 0xbc, 0x9a, 0xf0, 0xde,
1541 0x2c, 0x01, 0x00, 0x00, 0x36, 0x01, 0x00, 0x00,
1542 0x00, 0xff, 0x00, 0xff, 0x00, 0xff, 0x00, 0x00,
1543 0x90, 0x01, 0x00, 0x00, 0x9a, 0x01, 0x00, 0x00,
1544 0x00, 0xff, 0x00, 0xff, 0x00, 0xff, 0x00, 0x00,
1545 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,
1546 0x02, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00,
1547 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1548 0x0e, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00,
1549 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00,
1550 0x14, 0x00, 0x00, 0x00
1559 trace(
"hdc %p, mr->rdFunction %04x, mr->rdSize %u, param %p\n",
1576 ok (mfsize > 0,
"%s: GetMetaFileBitsEx failed.\n",
desc);
1578 printf (
"MetaFile %s has bits:\n{\n ",
desc);
1579 for (
i=0;
i<mfsize;
i++)
1584 else if (
i % 8 == 7)
1607 ok (mfsize > 0,
"%s: GetMetaFileBitsEx failed.\n",
desc);
1609 ok (mfsize == bsize,
"%s: mfsize=%d, bsize=%d.\n",
1610 desc, mfsize, bsize);
1612 ok (bsize >=
MF_BUFSIZE,
"%s: mfsize > bufsize (%d bytes), bsize=%d.\n",
1613 desc, mfsize, bsize);
1614 if (mfsize != bsize)
1618 for (
i=0;
i<bsize;
i++)
1623 ok (diff == 0,
"%s: mfsize=%d, bsize=%d, diff=%d\n",
1624 desc, mfsize, bsize, diff);
1632 DWORD mfsize, rd_size,
i;
1648 ok(mfsize == bsize,
"%s: mfsize=%d, bsize=%d.\n",
desc, mfsize, bsize);
1650 if (mfsize != bsize)
1654 for (
i=0;
i<bsize;
i++)
1659 ok(diff == 0,
"%s: mfsize=%d, bsize=%d, diff=%d\n",
1660 desc, mfsize, bsize, diff);
1676 ok (mfsize > 0,
"%s: GetEnhMetaFileBits failed\n",
desc);
1679 for (
i = 0;
i < mfsize;
i++)
1684 else if (
i % 8 == 7)
1730 else if (
i % 8 == 7)
1755 const char *
desc,
BOOL ignore_scaling)
1759 ok(emr1->
iType == emr2->
iType,
"%s: emr->iType %u != %u\n",
1762 ok(emr1->
nSize == emr2->
nSize,
"%s: emr->nSize %u != %u\n",
1815 win_skip(
"Catered for NT4 differences\n");
1845 ok(diff == 0,
"%s: contents of record %u don't match\n",
desc, emr1->
iType);
1864 BOOL ignore_scaling)
1867 UINT mfsize, offset1, offset2, diff_nt4, diff_9x;
1874 diff_nt4 =
sizeof(
SIZEL);
1879 ok(mfsize == bsize ||
1880 broken(mfsize == bsize - diff_nt4) ||
1881 broken(mfsize == bsize - diff_9x),
1882 "%s: mfsize=%d, bsize=%d\n",
desc, mfsize, bsize);
1885 ok(bsize >=
MF_BUFSIZE,
"%s: mfsize > bufsize (%d bytes), bsize=%d\n",
1886 desc, mfsize, bsize);
1893 ok(emh2->
nBytes == mfsize,
"expected emh->nBytes %u, got %u\n", mfsize, emh2->
nBytes);
1900 "expected nSize %u, got %u\n", emh1->
nSize, emh2->
nSize);
1913 "expected nBytes %u, got %u\n", emh1->
nBytes, emh2->
nBytes);
1916 offset1 = emh1->
nSize;
1917 offset2 = emh2->
nSize;
1918 while (offset1 < emh1->nBytes)
1923 trace(
"%s: EMF record %u, size %u/record %u, size %u\n",
1929 offset1 += emr1->
nSize;
1930 offset2 += emr2->
nSize;
1941 HENHMETAFILE hMetafile;
1964 ok(
hdcBitmap != 0,
"CreateCompatibleDC failed\n" );
1973 ok( hdcMetafile != 0,
"CreateEnhMetaFileA failed\n" );
1977 ok(
ret,
"BitBlt(BLACKNESS) failed\n" );
1980 ok(
ret,
"BitBlt(SRCCOPY) failed\n" );
1982 ok(
ret,
"BitBlt(WHITENESS) failed\n" );
1989 memset(&xform, 0,
sizeof(xform));
1994 ret =
StretchBlt(hdcMetafile, 0, 0,
BMP_DIM,
BMP_DIM,
hdcBitmap, 0, 0, 400, 400,
SRCCOPY);
1995 ok(
ret,
"StretchBlt(SRCCOPY) failed\n" );
1998 ok( hMetafile != 0,
"CloseEnhMetaFile failed\n" );
2001 "emf_BitBlt",
FALSE) != 0)
2017 HENHMETAFILE hMetafile;
2023 if (!pSetDCBrushColor || !pSetDCPenColor)
2025 win_skip(
"SetDCBrush/PenColor not supported\n" );
2030 ok( hdcMetafile != 0,
"CreateEnhMetaFileA failed\n" );
2038 color = pSetDCBrushColor( hdcMetafile,
RGB(0x55,0x55,0x55) );
2039 ok(
color == 0xffffff,
"SetDCBrushColor returned %x\n",
color );
2041 color = pSetDCPenColor( hdcMetafile,
RGB(0x33,0x44,0x55) );
2042 ok(
color == 0,
"SetDCPenColor returned %x\n",
color );
2044 Rectangle( hdcMetafile, 10, 10, 20, 20 );
2046 color = pSetDCBrushColor( hdcMetafile,
RGB(0x12,0x34,0x56) );
2047 ok(
color == 0x555555,
"SetDCBrushColor returned %x\n",
color );
2050 ok( hMetafile != 0,
"CloseEnhMetaFile failed\n" );
2053 "emf_DC_Brush",
FALSE ) != 0)
2071 HMETAFILE hMetafile;
2077 ok(hdcMetafile != 0,
"CreateMetaFileA(NULL) error %d\n",
GetLastError());
2078 trace(
"hdcMetafile %p\n", hdcMetafile);
2083 "GetDeviceCaps: TECHNOLOGY=%d != DT_METAFILE.\n", caps);
2089 ok(!
GetObjectType(hdcMetafile),
"CloseMetaFile has to destroy metafile hdc\n");
2105 HMETAFILE hMetafile, hmf_copy;
2112 ok(hdcMetafile != 0,
"CreateMetaFileA(NULL) error %d\n",
GetLastError());
2113 trace(
"hdcMetafile %p\n", hdcMetafile);
2160 trace(
"hmf %p\n", hmf);
2180 trace(
"hmf %p\n", hmf);
2181 ok(!hmf,
"SetMetaFileBitsEx should fail\n");
2189 trace(
"hmf %p\n", hmf);
2190 ok(!hmf,
"SetMetaFileBitsEx should fail\n");
2203 trace(
"hmf %p\n", hmf);
2204 ok(!hmf,
"SetMetaFileBitsEx should fail\n");
2215 trace(
"hmf %p\n", hmf);
2234 trace(
"hmf %p\n", hmf);
2254 HMETAFILE hMetafile;
2259 ok(hdcMetafile != 0,
"CreateMetaFileA(NULL) error %d\n",
GetLastError());
2260 trace(
"hdcMetafile %p\n", hdcMetafile);
2282 ok(!
GetObjectType(hdcMetafile),
"CloseMetaFile has to destroy metafile hdc\n");
2285 "mf_Graphics") != 0)
2292 ok(
ret,
"DeleteMetaFile(%p) error %d\n",
2299 HMETAFILE hMetafile;
2312 ok(hBrush != 0,
"CreateBrushIndirect error %d\n",
GetLastError());
2315 ok(hdcMetafile != 0,
"CreateMetaFileA error %d\n",
GetLastError());
2316 trace(
"hdcMetafile %p\n", hdcMetafile);
2323 ok(!
GetObjectType(hdcMetafile),
"CloseMetaFile has to destroy metafile hdc\n");
2326 "mf_Pattern_Brush") != 0)
2337 ok(
ret,
"DeleteObject(HBITMAP) error %d\n",
2345 HMETAFILE hMetafile;
2351 if (!pSetDCBrushColor || !pSetDCPenColor)
2353 win_skip(
"SetDCBrush/PenColor not supported\n" );
2358 ok( hdcMetafile != 0,
"CreateMetaFileA failed\n" );
2366 color = pSetDCBrushColor( hdcMetafile,
RGB(0x55,0x55,0x55) );
2369 color = pSetDCPenColor( hdcMetafile,
RGB(0x33,0x44,0x55) );
2372 Rectangle( hdcMetafile, 10, 10, 20, 20 );
2374 color = pSetDCBrushColor( hdcMetafile,
RGB(0x12,0x34,0x56) );
2378 ok( hMetafile != 0,
"CloseMetaFile failed\n" );
2392 HMETAFILE hMetafile;
2394 static const INT dx[4] = { 3, 5, 8, 12 };
2397 ok(hdcMetafile != 0,
"CreateMetaFileA(NULL) error %d\n",
GetLastError());
2398 trace(
"hdcMetafile %p\n", hdcMetafile);
2401 ok(!
ret,
"BeginPath on metafile DC should fail\n");
2407 ok(!
ret,
"EndPath on metafile DC should fail\n");
2413 "mf_TextOut_on_path") != 0)
2426 HDC hdcDisplay, hdcMetafile;
2427 HENHMETAFILE hMetafile;
2431 static const INT dx[4] = { 3, 5, 8, 12 };
2435 0, 0, 200, 200, 0, 0, 0,
NULL);
2452 ok(!
ret,
"expected 0, got %d\n",
ret);
2455 ok(hdcMetafile != 0,
"CreateEnhMetaFileA error %d\n",
GetLastError());
2467 ok(!
ret,
"expected 0, got %d\n",
ret);
2470 ok(hMetafile != 0,
"CloseEnhMetaFile error %d\n",
GetLastError());
2476 "emf_TextOut_on_path",
FALSE) != 0)
2486 memset(&lf, 0,
sizeof(lf));
2507 ok(
ret != 0,
"expected != 0\n");
2512 ok(hdcMetafile != 0,
"CreateEnhMetaFileA error %d\n",
GetLastError());
2526 ok(!
ret,
"expected 0, got %d\n",
ret);
2532 ok(hMetafile != 0,
"CloseEnhMetaFile error %d\n",
GetLastError());
2535 "emf_TextOut_on_path",
FALSE) != 0)
2551 0x01, 0x00, 0x00, 0x00, 0x6c, 0x00, 0x00, 0x00,
2552 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2553 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,
2554 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2555 0x1a, 0x00, 0x00, 0x00, 0x1a, 0x00, 0x00, 0x00,
2556 0x20, 0x45, 0x4d, 0x46, 0x00, 0x00, 0x01, 0x00,
2557 0x04, 0x01, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00,
2558 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2559 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2560 0x80, 0x07, 0x00, 0x00, 0xb0, 0x04, 0x00, 0x00,
2561 0xfc, 0x01, 0x00, 0x00, 0x3e, 0x01, 0x00, 0x00,
2562 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2563 0x00, 0x00, 0x00, 0x00, 0x60, 0xc0, 0x07, 0x00,
2564 0x30, 0xda, 0x04, 0x00, 0x36, 0x00, 0x00, 0x00,
2565 0x10, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,
2566 0x01, 0x00, 0x00, 0x00, 0x4b, 0x00, 0x00, 0x00,
2567 0x40, 0x00, 0x00, 0x00, 0x30, 0x00, 0x00, 0x00,
2568 0x05, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00,
2569 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,
2570 0x10, 0x00, 0x00, 0x00, 0x64, 0x00, 0x00, 0x00,
2571 0x64, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00,
2572 0x00, 0x04, 0x00, 0x00, 0x64, 0x00, 0x00, 0x00,
2573 0x64, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00,
2574 0x00, 0x04, 0x00, 0x00, 0x3b, 0x00, 0x00, 0x00,
2575 0x08, 0x00, 0x00, 0x00, 0x2b, 0x00, 0x00, 0x00,
2576 0x18, 0x00, 0x00, 0x00, 0x64, 0x00, 0x00, 0x00,
2577 0x64, 0x00, 0x00, 0x00, 0xff, 0x03, 0x00, 0x00,
2578 0xff, 0x03, 0x00, 0x00, 0x3c, 0x00, 0x00, 0x00,
2579 0x08, 0x00, 0x00, 0x00, 0x43, 0x00, 0x00, 0x00,
2580 0x0c, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,
2581 0x0e, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00,
2582 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00,
2583 0x14, 0x00, 0x00, 0x00
2618 const union _rgn *rgn1;
2627 trace(
"EMR_EXTSELECTCLIPRGN: cbRgnData %#x, iMode %u\n",
2632 "too small data block: %u bytes\n", clip->
cbRgnData);
2636 rgn1 = (
const union _rgn *)clip->
RgnData;
2638 trace(
"size %u, type %u, count %u, rgn size %u, bound %s\n",
2639 rgn1->data.rdh.dwSize, rgn1->data.rdh.iType,
2640 rgn1->data.rdh.nCount, rgn1->data.rdh.nRgnSize,
2643 ok(
EqualRect(&rgn1->data.rdh.rcBound, rc),
"rects don't match\n");
2645 rect = *(
const RECT *)rgn1->data.Buffer;
2649 ok(rgn1->data.rdh.dwSize ==
sizeof(rgn1->data.rdh),
"expected sizeof(rdh), got %u\n", rgn1->data.rdh.dwSize);
2650 ok(rgn1->data.rdh.iType ==
RDH_RECTANGLES,
"expected RDH_RECTANGLES, got %u\n", rgn1->data.rdh.iType);
2651 ok(rgn1->data.rdh.nCount == 1,
"expected 1, got %u\n", rgn1->data.rdh.nCount);
2652 ok(rgn1->data.rdh.nRgnSize ==
sizeof(
RECT) ||
2653 broken(rgn1->data.rdh.nRgnSize == 168),
2654 "expected sizeof(RECT), got %u\n", rgn1->data.rdh.nRgnSize);
2658 memset(&xform, 0,
sizeof(xform));
2665 trace(
"xform.eM11 %f, xform.eM22 %f\n", xform.
eM11, xform.
eM22);
2668 ok(
ret == 0,
"GetClipRgn returned %d, expected 0\n",
ret);
2673 ok(
ret == 1,
"GetClipRgn returned %d, expected 1\n",
ret);
2679 ok(
ret ==
sizeof(rgn2.data.rdh) +
sizeof(
RECT),
"expected sizeof(rgn), got %u\n",
ret);
2682 ok(
ret ==
sizeof(rgn2),
"expected sizeof(rgn2), got %u\n",
ret);
2684 trace(
"size %u, type %u, count %u, rgn size %u, bound %s\n", rgn2.data.rdh.dwSize,
2685 rgn2.data.rdh.iType, rgn2.data.rdh.nCount, rgn2.data.rdh.nRgnSize,
2688 rect = rgn2.data.rdh.rcBound;
2689 rc_transformed = *rc;
2694 rect = *(
const RECT *)rgn2.data.Buffer;
2696 rc_transformed = *rc;
2701 ok(rgn2.data.rdh.dwSize ==
sizeof(rgn1->data.rdh),
"expected sizeof(rdh), got %u\n", rgn2.data.rdh.dwSize);
2702 ok(rgn2.data.rdh.iType ==
RDH_RECTANGLES,
"expected RDH_RECTANGLES, got %u\n", rgn2.data.rdh.iType);
2703 ok(rgn2.data.rdh.nCount == 1,
"expected 1, got %u\n", rgn2.data.rdh.nCount);
2704 ok(rgn2.data.rdh.nRgnSize ==
sizeof(
RECT) ||
2705 broken(rgn2.data.rdh.nRgnSize == 168),
2706 "expected sizeof(RECT), got %u\n", rgn2.data.rdh.nRgnSize);
2715 static const RECT rc = { 0, 0, 100, 100 };
2716 RECT rc_clip = { 100, 100, 1024, 1024 };
2722 RECT rc_res, rc_sclip;
2746 "emf_clipping",
FALSE) != 0)
2756 0, 0, 200, 200, 0, 0, 0,
NULL);
2773 SetRect(&rc_res, -1, -1, -1, -1);
2782 SetRect(&rc_res, -1, -1, -1, -1);
2794 ok(
ret == 1,
"expected 1, got %d\n",
ret);
2796 ok(
ret == 1,
"expected 1, got %d\n",
ret);
2798 SetRect(&rc_res, -1, -1, -1, -1);
2804 SetRect(&rc_sclip, 0, 0, 100, 50);
2811 ok(
ret == 1,
"expected 1, got %d\n",
ret);
2813 ok(
ret == 1,
"expected 1, got %d\n",
ret);
2815 SetRect(&rc_res, -1, -1, -1, -1);
2831 0x32, 0x00, 0x00, 0x00,
2833 0x14, 0x00, 0x00, 0x00,
2837 0x14, 0x00, 0x00, 0x00,
2839 0x00, 0x00, 0x06, 0x00, 0xf6, 0x02, 0x00, 0x00,
2840 0x24, 0x00, 0x01, 0x00, 0x02, 0x00, 0x11, 0x00,
2841 0x22, 0x00, 0x33, 0x00, 0x44, 0x00, 0x02, 0x00,
2842 0x22, 0x00, 0x44, 0x00, 0x11, 0x00, 0x33, 0x00,
2846 0x04, 0x00, 0x00, 0x00,
2851 0x04, 0x00, 0x00, 0x00,
2856 0x05, 0x00, 0x00, 0x00,
2862 0x05, 0x00, 0x00, 0x00,
2868 0x03, 0x00, 0x00, 0x00,
2892 static RECT rc_clip = { 0x11, 0x22, 0x33, 0x44 };
2917 "mf_clipping") != 0)
2925 0, 0, 200, 200, 0, 0, 0,
NULL);
2946 0x01, 0x00, 0x09, 0x00, 0x00, 0x03, 0x2c, 0x00,
2947 0x00, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00,
2948 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x14, 0x02,
2949 0x32, 0x00, 0x32, 0x00, 0x05, 0x00, 0x00, 0x00,
2950 0x13, 0x02, 0x96, 0x00, 0x32, 0x00, 0x05, 0x00,
2951 0x00, 0x00, 0x13, 0x02, 0x96, 0x00, 0x96, 0x00,
2952 0x05, 0x00, 0x00, 0x00, 0x13, 0x02, 0x32, 0x00,
2953 0x96, 0x00, 0x05, 0x00, 0x00, 0x00, 0x13, 0x02,
2954 0x32, 0x00, 0x32, 0x00, 0x07, 0x00, 0x00, 0x00,
2955 0x1b, 0x04, 0x14, 0x00, 0x14, 0x00, 0x0a, 0x00,
2956 0x0a, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00
2971 ok(!
ret,
"BeginPath on metafile DC should fail\n");
2986 ok(
size == -1,
"GetPath returned %d.\n",
size);
3009 trace(
"EMF record: iType %d, nSize %d, (%d,%d)-(%d,%d)\n",
3033 "(%d,%d)->(%d,%d), expected (%d,%d)->(%d,%d)\n",
3074 trace(
"Testing MF->EMF conversion (MM_ANISOTROPIC)\n");
3087 "emf_LineTo MM_ANISOTROPIC",
TRUE) != 0)
3099 trace(
"Testing MF->EMF conversion (MM_TEXT)\n");
3112 "emf_LineTo MM_TEXT",
TRUE) != 0)
3124 trace(
"Testing MF->EMF conversion (NULL mfp)\n");
3132 "emf_LineTo NULL",
TRUE) != 0)
3164 ok(
emf !=
NULL,
"SetWinMetaFileBits failed\n");
3167 ok(
res != 0,
"GetEnhMetaHeader failed\n");
3171 *rclBounds =
header.rclBounds;
3172 *rclFrame =
header.rclFrame;
3178 RECTL * rclBoundsExpected,
RECTL * rclFrameExpected)
3180 RECTL rclBounds, rclFrame;
3189 msg =
"mfp == NULL";
3193 const char * mm_str;
3198 default: mm_str =
"Unexpected";
3200 sprintf(
buf,
"mm=%s, xExt=%d, yExt=%d", mm_str, xExt, yExt);
3204 ok(rclBounds.
left == rclBoundsExpected->
left,
"rclBounds.left: Expected %d, got %d (%s)\n", rclBoundsExpected->
left, rclBounds.
left,
msg);
3205 ok(rclBounds.
top == rclBoundsExpected->
top,
"rclBounds.top: Expected %d, got %d (%s)\n", rclBoundsExpected->
top, rclBounds.
top,
msg);
3206 ok(rclBounds.
right == rclBoundsExpected->
right,
"rclBounds.right: Expected %d, got %d (%s)\n", rclBoundsExpected->
right, rclBounds.
right,
msg);
3207 ok(rclBounds.
bottom == rclBoundsExpected->
bottom,
"rclBounds.bottom: Expected %d, got %d (%s)\n", rclBoundsExpected->
bottom, rclBounds.
bottom,
msg);
3208 ok(rclFrame.
left == rclFrameExpected->
left,
"rclFrame.left: Expected %d, got %d (%s)\n", rclFrameExpected->
left, rclFrame.
left,
msg);
3209 ok(rclFrame.
top == rclFrameExpected->
top,
"rclFrame.top: Expected %d, got %d (%s)\n", rclFrameExpected->
top, rclFrame.
top,
msg);
3210 ok(rclFrame.
right == rclFrameExpected->
right,
"rclFrame.right: Expected %d, got %d (%s)\n", rclFrameExpected->
right, rclFrame.
right,
msg);
3211 ok(rclFrame.
bottom == rclFrameExpected->
bottom,
"rclFrame.bottom: Expected %d, got %d (%s)\n", rclFrameExpected->
bottom, rclFrame.
bottom,
msg);
3223 RECTL rclBoundsAnisotropic, rclFrameAnisotropic;
3224 RECTL rclBoundsIsotropic, rclFrameIsotropic;
3225 RECTL rclBounds, rclFrame;
3230 ok(wmfDC !=
NULL,
"CreateMetaFile failed\n");
3237 ok(wmf !=
NULL,
"Metafile creation failed\n");
3269 ok(rclBoundsAnisotropic.
left == 0 && rclBoundsAnisotropic.
top == 0 &&
3270 rclBoundsIsotropic.
left == 0 && rclBoundsIsotropic.
top == 0,
3271 "SetWinMetaFileBits: Reference bounds: Left and top bound must be zero\n");
3273 ok(rclBoundsAnisotropic.
right >= rclBoundsIsotropic.
right,
"SetWinMetaFileBits: Reference bounds: Invalid right bound\n");
3274 ok(rclBoundsAnisotropic.
bottom >= rclBoundsIsotropic.
bottom,
"SetWinMetaFileBits: Reference bounds: Invalid bottom bound\n");
3275 diffx = rclBoundsIsotropic.
right - rclBoundsIsotropic.
bottom;
3276 if (diffx < 0) diffx = -diffx;
3277 ok(diffx <= 1,
"SetWinMetaFileBits (MM_ISOTROPIC): Reference bounds are not isotropic\n");
3284 if (diffx < 0) diffx = -diffx;
3285 if (diffy < 0) diffy = -diffy;
3288 ok(diffx <= 1 && diffy <= 1,
3289 "SetWinMetaFileBits (MM_ANISOTROPIC): Reference bounds: The whole device surface must be used (%dx%d), but got (%dx%d)\n",
3296 if (diffx < 0) diffx = -diffx;
3297 if (diffy < 0) diffy = -diffy;
3300 ok(diffx <= 1 && diffy <= 1,
3301 "SetWinMetaFileBits (MM_ANISOTROPIC): Reference frame: The whole device surface must be used (%dx%d), but got (%dx%d)\n",
3332 ok(rclFrame.
left == 0 && rclFrame.
top == 0 && rclFrame.
right == 30000 && rclFrame.
bottom == 20000,
3333 "SetWinMetaFileBits (MM_ANISOTROPIC): rclFrame contains invalid values\n");
3335 "SetWinMetaFileBits (MM_ANISOTROPIC): rclBounds contains invalid values\n");
3340 ok(rclFrame.
left == 0 && rclFrame.
top == 0 && rclFrame.
right == 30000 && rclFrame.
bottom == 20000,
3341 "SetWinMetaFileBits (MM_ISOTROPIC): rclFrame contains invalid values\n");
3342 ok(rclBounds.
left == 0 && rclBounds.
top == 0,
3343 "SetWinMetaFileBits (MM_ISOTROPIC): rclBounds contains invalid values\n");
3347 if (diffx < 0) diffx = -diffx;
3348 ok(diffx <= 1,
"SetWinMetaFileBits (MM_ISOTROPIC): rclBounds is not isotropic\n");
3354 "SetWinMetaFileBits: xExt and yExt must be ignored for mapping modes other than MM_ANISOTROPIC and MM_ISOTROPIC\n");
3364 epsilon =
max(epsilon/100, 2);
3366 if(x < y - epsilon || x >
y + epsilon)
return FALSE;
3372 HENHMETAFILE
emf, emf2;
3380 INT horz_res, vert_res, horz_size, vert_size;
3381 INT curve_caps, line_caps, poly_caps;
3393 ok(emf_dc !=
NULL,
"emf_dc is NULL\n");
3396 ok(curve_caps == 511,
"expect 511 got %d\n", curve_caps);
3399 ok(line_caps == 254,
"expect 254 got %d\n", line_caps);
3402 ok(poly_caps == 255,
"expect 511 got %d\n", poly_caps);
3404 for(
i = 0;
i < 3000;
i++)
3423 "GetWinMetaFileBits returns 0\n");
3435 const DWORD chunk_size = 0x2000;
3436 DWORD mfcomment_chunks = (emf_size + chunk_size - 1) / chunk_size;
3438 if(rec_num < mfcomment_chunks)
3440 DWORD this_chunk_size = chunk_size;
3442 if(rec_num == mfcomment_chunks - 1)
3443 this_chunk_size = emf_size - rec_num * chunk_size;
3445 ok(rec->
rdSize == (this_chunk_size + 44) / 2,
"%04x: got %04x expected %04x\n", rec_num, rec->
rdSize, (this_chunk_size + 44) / 2);
3447 if(rec->
rdSize < (this_chunk_size + 44) / 2)
break;
3449 ok(rec->
rdParm[1] == this_chunk_size + 34,
"got %04x %x\n", rec->
rdParm[1], emf_size + 34);
3457 if(rec_num > 0)
ok(rec->
rdParm[8] == 0,
"got %04x\n", rec->
rdParm[8]);
3460 ok(rec->
rdParm[11] == mfcomment_chunks,
"got %04x\n", rec->
rdParm[11]);
3462 ok(rec->
rdParm[13] == this_chunk_size,
"got %04x expected %04x\n", rec->
rdParm[13], this_chunk_size);
3464 ok(*(
DWORD*)(rec->
rdParm + 15) == emf_size - this_chunk_size - rec_num * chunk_size,
"got %08x\n", *(
DWORD*)(rec->
rdParm + 15));
3466 ok(!
memcmp(rec->
rdParm + 19, (
char*)enh_header + rec_num * chunk_size, this_chunk_size),
"bits mismatch\n");
3469 else if(rec_num == mfcomment_chunks)
3474 else if(rec_num == mfcomment_chunks + 1)
3483 pt.y =
MulDiv(rc->
top, vert_res, vert_size * 100) + 1;
3491 pt.y = -rc->
top + 1;
3512 if(rec_num == mfcomment_chunks + 2)
3516 "got %d\n", (
short)rec->
rdParm[0]);
3518 "got %d\n", (
short)rec->
rdParm[1]);
3531 ok( !!emf2,
"got NULL\n" );
3535 ok( emf_size == emf2_size,
"%d %d\n", emf_size, emf2_size );
3536 ok( !
memcmp( enh_header, enh2_header, emf_size ),
"mismatch\n" );
3553 { 1000, 2000, 3000, 6000},
3554 {-1000, 2000, 3000, 6000},
3555 { 1000, -2000, 3000, 6000},
3556 { 1005, 2005, 3000, 6000},
3557 {-1005, -2005, 3000, 6000},
3558 {-1005, -2010, 3000, 6000},
3559 {-1005, 2010, 3000, 6000},
3568 for(rc = frames; rc->
right - rc->
left > 0; rc++)
3593 if(!pGdiIsMetaPrintDC || !pGdiIsMetaFileDC || !pGdiIsPlayMetafileDC)
3595 win_skip(
"Needed GdiIs* functions are not available\n");
3600 ok(!pGdiIsMetaPrintDC(
NULL),
"ismetaprint with NULL parameter\n");
3601 ok(!pGdiIsMetaFileDC(
NULL),
"ismetafile with NULL parameter\n");
3602 ok(!pGdiIsPlayMetafileDC(
NULL),
"isplaymetafile with NULL parameter\n");
3606 ok(!pGdiIsMetaPrintDC(hmfDC),
"ismetaprint on metafile\n");
3607 ok(pGdiIsMetaFileDC(hmfDC),
"ismetafile on metafile\n");
3608 ok(!pGdiIsPlayMetafileDC(hmfDC),
"isplaymetafile on metafile\n");
3614 ok(hemfDC !=
NULL,
"failed to create emf\n");
3616 ok(!pGdiIsMetaPrintDC(hemfDC),
"ismetaprint on emf\n");
3617 ok(pGdiIsMetaFileDC(hemfDC),
"ismetafile on emf\n");
3618 ok(!pGdiIsPlayMetafileDC(hemfDC),
"isplaymetafile on emf\n");
3621 ok(hemf !=
NULL,
"failed to close EMF\n");
3635 ok(!hemf,
"SetEnhMetaFileBits should fail\n");
3638 "expected ERROR_INVALID_DATA or ERROR_INVALID_PARAMETER, got %u\n",
GetLastError());
3641 memset(emh, 0,
sizeof(*emh));
3644 emh->
nSize =
sizeof(*emh);
3647 emh->
nBytes =
sizeof(*emh);
3662 "SetEnhMetaFileBits should fail\n");
3672 "SetEnhMetaFileBits should fail\n");
3686 ok(hdcMetafile != 0,
"CreateEnhMetaFileA error %d\n",
GetLastError());
3688 pts[0].
x = pts[0].
y = 10;
3689 pts[1].
x = pts[1].
y = 20;
3690 pts[2].
x = pts[2].
y = 15;
3691 pts[3].
x = pts[3].
y = 25;
3693 ok(
ret,
"PolyBezierTo failed\n" );
3695 ok(
ret,
"PolyBezier failed\n" );
3697 pts[0].
x = pts[0].
y = 32769;
3699 ok(
ret,
"PolyBezier failed\n" );
3701 ok(
ret,
"PolyBezierTo failed\n" );
3707 "emf_Bezier",
FALSE) != 0)
3718 0x01, 0x00, 0x00, 0x00, 0x6c, 0x00, 0x00, 0x00,
3719 0x0a, 0x00, 0x00, 0x00, 0x0a, 0x00, 0x00, 0x00,
3720 0x96, 0x00, 0x00, 0x00, 0x96, 0x00, 0x00, 0x00,
3721 0x90, 0x01, 0x00, 0x00, 0x90, 0x01, 0x00, 0x00,
3722 0x70, 0x17, 0x00, 0x00, 0x70, 0x17, 0x00, 0x00,
3723 0x20, 0x45, 0x4d, 0x46, 0x00, 0x00, 0x01, 0x00,
3724 0xf8, 0x02, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00,
3725 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
3726 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
3727 0x20, 0x03, 0x00, 0x00, 0x58, 0x02, 0x00, 0x00,
3728 0x40, 0x01, 0x00, 0x00, 0xf0, 0x00, 0x00, 0x00,
3729 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
3730 0x00, 0x00, 0x00, 0x00, 0x00, 0xe2, 0x04, 0x00,
3731 0x80, 0xa9, 0x03, 0x00, 0x3b, 0x00, 0x00, 0x00,
3732 0x08, 0x00, 0x00, 0x00, 0x1b, 0x00, 0x00, 0x00,
3733 0x10, 0x00, 0x00, 0x00, 0x32, 0x00, 0x00, 0x00,
3734 0x32, 0x00, 0x00, 0x00, 0x36, 0x00, 0x00, 0x00,
3735 0x10, 0x00, 0x00, 0x00, 0x32, 0x00, 0x00, 0x00,
3736 0x96, 0x00, 0x00, 0x00, 0x36, 0x00, 0x00, 0x00,
3737 0x10, 0x00, 0x00, 0x00, 0x96, 0x00, 0x00, 0x00,
3738 0x96, 0x00, 0x00, 0x00, 0x36, 0x00, 0x00, 0x00,
3739 0x10, 0x00, 0x00, 0x00, 0x96, 0x00, 0x00, 0x00,
3740 0x32, 0x00, 0x00, 0x00, 0x36, 0x00, 0x00, 0x00,
3741 0x10, 0x00, 0x00, 0x00, 0x32, 0x00, 0x00, 0x00,
3742 0x32, 0x00, 0x00, 0x00, 0x2b, 0x00, 0x00, 0x00,
3743 0x18, 0x00, 0x00, 0x00, 0x0a, 0x00, 0x00, 0x00,
3744 0x0a, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00,
3745 0x13, 0x00, 0x00, 0x00, 0x2d, 0x00, 0x00, 0x00,
3746 0x28, 0x00, 0x00, 0x00, 0x15, 0x00, 0x00, 0x00,
3747 0x15, 0x00, 0x00, 0x00, 0x26, 0x00, 0x00, 0x00,
3748 0x1c, 0x00, 0x00, 0x00, 0x27, 0x00, 0x00, 0x00,
3749 0x1d, 0x00, 0x00, 0x00, 0x15, 0x00, 0x00, 0x00,
3750 0x15, 0x00, 0x00, 0x00, 0x37, 0x00, 0x00, 0x00,
3751 0x28, 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00,
3752 0x17, 0x00, 0x00, 0x00, 0x24, 0x00, 0x00, 0x00,
3753 0x1a, 0x00, 0x00, 0x00, 0x25, 0x00, 0x00, 0x00,
3754 0x1b, 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00,
3755 0x17, 0x00, 0x00, 0x00, 0x2e, 0x00, 0x00, 0x00,
3756 0x28, 0x00, 0x00, 0x00, 0x15, 0x00, 0x00, 0x00,
3757 0x15, 0x00, 0x00, 0x00, 0x26, 0x00, 0x00, 0x00,
3758 0x1c, 0x00, 0x00, 0x00, 0x27, 0x00, 0x00, 0x00,
3759 0x1d, 0x00, 0x00, 0x00, 0x15, 0x00, 0x00, 0x00,
3760 0x15, 0x00, 0x00, 0x00, 0x2f, 0x00, 0x00, 0x00,
3761 0x28, 0x00, 0x00, 0x00, 0x15, 0x00, 0x00, 0x00,
3762 0x15, 0x00, 0x00, 0x00, 0x26, 0x00, 0x00, 0x00,
3763 0x1c, 0x00, 0x00, 0x00, 0x27, 0x00, 0x00, 0x00,
3764 0x1d, 0x00, 0x00, 0x00, 0x15, 0x00, 0x00, 0x00,
3765 0x15, 0x00, 0x00, 0x00, 0x2a, 0x00, 0x00, 0x00,
3766 0x18, 0x00, 0x00, 0x00, 0x0a, 0x00, 0x00, 0x00,
3767 0x0a, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00,
3768 0x13, 0x00, 0x00, 0x00, 0x2c, 0x00, 0x00, 0x00,
3769 0x20, 0x00, 0x00, 0x00, 0x0a, 0x00, 0x00, 0x00,
3770 0x0a, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00,
3771 0x13, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00,
3772 0x05, 0x00, 0x00, 0x00, 0x57, 0x00, 0x00, 0x00,
3773 0x2c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
3774 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff,
3775 0xff, 0xff, 0xff, 0xff, 0x04, 0x00, 0x00, 0x00,
3776 0x0a, 0x00, 0x0a, 0x00, 0x14, 0x00, 0x0a, 0x00,
3777 0x0a, 0x00, 0x14, 0x00, 0x14, 0x00, 0x14, 0x00,
3778 0x59, 0x00, 0x00, 0x00, 0x2c, 0x00, 0x00, 0x00,
3779 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
3780 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
3781 0x04, 0x00, 0x00, 0x00, 0x0a, 0x00, 0x0a, 0x00,
3782 0x14, 0x00, 0x0a, 0x00, 0x0a, 0x00, 0x14, 0x00,
3783 0x14, 0x00, 0x14, 0x00, 0x5a, 0x00, 0x00, 0x00,
3784 0x38, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
3785 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff,
3786 0xff, 0xff, 0xff, 0xff, 0x02, 0x00, 0x00, 0x00,
3787 0x04, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00,
3788 0x02, 0x00, 0x00, 0x00, 0x0a, 0x00, 0x0a, 0x00,
3789 0x14, 0x00, 0x0a, 0x00, 0x0a, 0x00, 0x14, 0x00,
3790 0x14, 0x00, 0x14, 0x00, 0x5c, 0x00, 0x00, 0x00,
3791 0x4c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
3792 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff,
3793 0xff, 0xff, 0xff, 0xff, 0x09, 0x00, 0x00, 0x00,
3794 0x0a, 0x00, 0x0a, 0x00, 0x14, 0x00, 0x0a, 0x00,
3795 0x0a, 0x00, 0x14, 0x00, 0x14, 0x00, 0x14, 0x00,
3796 0x1e, 0x00, 0x1e, 0x00, 0x28, 0x00, 0x14, 0x00,
3797 0x14, 0x00, 0x1e, 0x00, 0x14, 0x00, 0x14, 0x00,
3798 0x14, 0x00, 0x0a, 0x00, 0x06, 0x02, 0x04, 0x04,
3799 0x04, 0x02, 0x03, 0x06, 0x02, 0x00, 0x00, 0x00,
3800 0x29, 0x00, 0x00, 0x00, 0x1c, 0x00, 0x00, 0x00,
3801 0x25, 0x00, 0x00, 0x00, 0x24, 0x00, 0x00, 0x00,
3802 0x17, 0x00, 0x00, 0x00, 0x00, 0x00, 0xb4, 0x42,
3803 0x00, 0x00, 0x34, 0x43, 0x3c, 0x00, 0x00, 0x00,
3804 0x08, 0x00, 0x00, 0x00, 0x3f, 0x00, 0x00, 0x00,
3805 0x18, 0x00, 0x00, 0x00, 0x0a, 0x00, 0x00, 0x00,
3806 0x0a, 0x00, 0x00, 0x00, 0x96, 0x00, 0x00, 0x00,
3807 0x96, 0x00, 0x00, 0x00, 0x3f, 0x00, 0x00, 0x00,
3808 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
3809 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff,
3810 0xff, 0xff, 0xff, 0xff, 0x0e, 0x00, 0x00, 0x00,
3811 0x14, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
3812 0x10, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00
3817 0x01, 0x00, 0x00, 0x00, 0x6c, 0x00, 0x00, 0x00,
3818 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
3819 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
3820 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
3821 0xd8, 0xff, 0xff, 0xff, 0xd8, 0xff, 0xff, 0xff,
3822 0x20, 0x45, 0x4d, 0x46, 0x00, 0x00, 0x01, 0x00,
3823 0xc8, 0x00, 0x00, 0x00, 0x0b, 0x00, 0x00, 0x00,
3824 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
3825 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
3826 0x20, 0x03, 0x00, 0x00, 0x58, 0x02, 0x00, 0x00,
3827 0x40, 0x01, 0x00, 0x00, 0xf0, 0x00, 0x00, 0x00,
3828 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
3829 0x00, 0x00, 0x00, 0x00, 0x00, 0xe2, 0x04, 0x00,
3830 0x80, 0xa9, 0x03, 0x00, 0x3b, 0x00, 0x00, 0x00,
3831 0x08, 0x00, 0x00, 0x00, 0x3d, 0x00, 0x00, 0x00,
3832 0x08, 0x00, 0x00, 0x00, 0x3b, 0x00, 0x00, 0x00,
3833 0x08, 0x00, 0x00, 0x00, 0x3c, 0x00, 0x00, 0x00,
3834 0x08, 0x00, 0x00, 0x00, 0x3c, 0x00, 0x00, 0x00,
3835 0x08, 0x00, 0x00, 0x00, 0x3d, 0x00, 0x00, 0x00,
3836 0x08, 0x00, 0x00, 0x00, 0x3b, 0x00, 0x00, 0x00,
3837 0x08, 0x00, 0x00, 0x00, 0x44, 0x00, 0x00, 0x00,
3838 0x08, 0x00, 0x00, 0x00, 0x44, 0x00, 0x00, 0x00,
3839 0x08, 0x00, 0x00, 0x00, 0x0e, 0x00, 0x00, 0x00,
3840 0x14, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
3841 0x10, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00
3846 POINT pts[9] = {{10, 10}, {20, 10}, {10, 20}, {20, 20}, {30, 30}, {40, 20}, {20, 30}, {20, 20}, {20, 10}};
3847 DWORD counts[2] = {2, 2};
3857 ok(hdcMetafile != 0,
"CreateEnhMetaFileA error %d\n",
GetLastError());
3872 Arc(hdcMetafile, 21, 21, 39, 29, 39, 29, 21, 21);
3873 ArcTo(hdcMetafile, 23, 23, 37, 27, 37, 27, 23, 23);
3874 Chord(hdcMetafile, 21, 21, 39, 29, 39, 29, 21, 21);
3875 Pie(hdcMetafile, 21, 21, 39, 29, 39, 29, 21, 21);
3876 Ellipse(hdcMetafile, 10, 10, 20, 20);
3877 RoundRect(hdcMetafile, 10, 10, 20, 20, 3, 5);
3882 AngleArc(hdcMetafile, 37, 36, 23, 90, 180);
3886 ok(
size == 112,
"GetPath returned %d.\n",
size);
3891 ok( !
ret,
"StrokeAndFillPath succeeded\n" );
3906 ok(hdcMetafile != 0,
"CreateEnhMetaFileA error %d\n",
GetLastError());
3917 ok( !
ret,
"EndPath succeeded\n" );
3919 ok( !
ret,
"CloseFigure succeeded\n" );
3943 POINT pts[4] = {{10, 20}, {100, 200}, {0x9000,300}, {400, 500}};
3949 ok(hdcMetafile != 0,
"CreateEnhMetaFileA error %d\n",
GetLastError());
3952 ok( !
ret,
"PolyPolyline\n" );
3958 ok( !
ret,
"PolyPolyline\n" );
3965 ok( !
ret,
"PolyPolyline\n" );
3972 ok( !
ret,
"PolyPolyline\n" );
3978 ok(
ret,
"PolyPolyline\n" );
3984 "emf_PolyPolyline",
FALSE) != 0)
3999 { 1, 10, 0xff00, 0x8000, 0x0000, 0x8001 },
4000 { 200, 210, 0x0000, 0x0000, 0xff00, 0xff00 },
4001 { 180, 190, 0x1234, 0x5678, 0x9abc, 0xdef0 },
4002 { 300, 310, 0xff00, 0xff00, 0xff00, 0x0000 },
4003 { 400, 410, 0xff00, 0xff00, 0xff00, 0x0000 }
4021 GRADIENT_FILL_TRIANGLE );
4022 ok(
ret,
"GradientFill\n" );
4028 "emf_GradientFill",
FALSE ) != 0)
4061 return fabs(
a->eM11 -
b->eM11) < 0.001f &&
4062 fabs(
a->eM12 -
b->eM12) < 0.001f &&
4063 fabs(
a->eM21 -
b->eM21) < 0.001f &&
4064 fabs(
a->eM22 -
b->eM22) < 0.001f &&
4065 fabs(
a->eDx -
b->eDx) < 0.001f &&
4066 fabs(
a->eDy -
b->eDy) < 0.001f;
4096 "%s: After SWT playback, got wrong world transform: %f, %f; %f %f; %f %f; expected: %f, %f; %f %f; %f %f\n",
4116 "%s: On MWT entry, got wrong world transform: %f, %f; %f %f; %f %f; expected: %f, %f; %f %f; %f %f\n",
4152 "%s: After MWT playback, got wrong world transform: %f, %f; %f %f; %f %f; expected: %f, %f; %f %f; %f %f\n",
4175 "%s: After ModifyWT, got wrong world transform: %f, %f; %f %f; %f %f; expected: %f, %f; %f %f; %f %f\n",
4192 "%s: Before LINETO playback, got wrong world transform: %f, %f; %f %f; %f %f; expected: %f, %f; %f %f; %f %f\n",
4208 "%s: After LINETO playback, got wrong world transform: %f, %f; %f %f; %f %f; expected: %f, %f; %f %f; %f %f\n",
4238 {
"playback and modify",
TRUE,
TRUE },
4245 ok(hdcMetafile != 0,
"CreateEnhMetaFileA error %d\n",
GetLastError());
4248 ok(
ret ==
TRUE,
"SetGraphicsMode failed\n");
4252 ok(
ret ==
TRUE,
"SetWorldTransform failed\n");
4256 ok(
ret ==
TRUE,
"ModifyWorldTransform failed\n");
4260 ok(
ret ==
TRUE,
"ModifyWorldTransform failed\n");
4264 ok(
ret ==
TRUE,
"ModifyWorldTransform failed\n");
4273 0, 0, 200, 200, 0, 0, 0,
NULL);
4277 ok(
hdc != 0,
"GetDC failed\n");
static POBJECT_TYPE GetObjectType(IN PCWSTR TypeName)
int memcmp(void *Buffer1, void *Buffer2, ACPI_SIZE Count)
ACPI_SIZE strlen(const char *String)
static const char * wine_dbgstr_rect(const RECT *prc)
struct _RGNDATAHEADER RGNDATAHEADER
#define ERROR_CALL_NOT_IMPLEMENTED
#define ERROR_INVALID_PARAMETER
#define ReadFile(a, b, c, d, e)
#define GetProcAddress(x, y)
#define INVALID_HANDLE_VALUE
#define CreateFileA(a, b, c, d, e, f, g)
#define HeapFree(x, y, z)
static const WCHAR *const ext[]
BOOL WINAPI DeleteFileA(IN LPCSTR lpFileName)
DWORD WINAPI GetFileSize(HANDLE hFile, LPDWORD lpFileSizeHigh)
HMODULE WINAPI DECLSPEC_HOTPATCH GetModuleHandleA(LPCSTR lpModuleName)
DWORD WINAPI GetTempPathA(IN DWORD nBufferLength, OUT LPSTR lpBuffer)
int WINAPI lstrcmpA(LPCSTR str1, LPCSTR str2)
#define check(expected, result)
static VOID BitBlt(_In_ ULONG Left, _In_ ULONG Top, _In_ ULONG Width, _In_ ULONG Height, _In_reads_bytes_(Delta *Height) PUCHAR Buffer, _In_ ULONG BitsPerPixel, _In_ ULONG Delta)
UINT WINAPI GetTempFileNameA(IN LPCSTR lpPathName, IN LPCSTR lpPrefixString, IN UINT uUnique, OUT LPSTR lpTempFileName)
GLint GLint GLint GLint GLint x
GLuint GLuint GLsizei GLenum type
GLint GLint GLint GLint GLint GLint y
GLuint GLuint GLsizei count
GLint GLenum GLsizei GLsizei GLsizei GLint GLsizei const GLvoid * data
GLenum GLenum GLenum GLenum GLenum scale
GLboolean GLboolean GLboolean b
GLenum GLuint GLenum GLsizei const GLchar * buf
GLenum GLint GLenum GLsizei GLsizei GLsizei GLint GLsizei const GLvoid * bits
GLenum GLenum GLenum GLenum mapping
GLboolean GLboolean GLboolean GLboolean a
GLsizei GLenum const GLvoid GLsizei GLenum GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLint GLint GLint GLshort GLshort GLshort GLubyte GLubyte GLubyte GLuint GLuint GLuint GLushort GLushort GLushort GLbyte GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLfloat GLint GLint GLint GLint GLshort GLshort GLshort GLshort GLubyte GLubyte GLubyte GLubyte GLuint GLuint GLuint GLuint GLushort GLushort GLushort GLushort GLboolean const GLdouble const GLfloat const GLint const GLshort const GLbyte const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLdouble const GLfloat const GLfloat const GLint const GLint const GLshort const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort GLenum GLenum GLenum GLfloat GLenum GLint GLenum GLenum GLenum GLfloat GLenum GLenum GLint GLenum GLfloat GLenum GLint GLint GLushort GLenum GLenum GLfloat GLenum GLenum GLint GLfloat const GLubyte GLenum GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLint GLint GLsizei GLsizei GLint GLenum GLenum const GLvoid GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLenum const GLdouble GLenum GLenum const GLfloat GLenum GLenum const GLint GLsizei GLuint GLfloat GLuint GLbitfield GLfloat GLint GLuint GLboolean GLenum GLfloat GLenum GLbitfield GLenum GLfloat GLfloat GLint GLint const GLfloat GLenum GLfloat GLfloat GLint GLint GLfloat GLfloat GLint GLint const GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat const GLdouble const GLfloat const GLdouble const GLfloat GLint i
static const struct newhuff ht[]
_Check_return_ _CRT_JIT_INTRINSIC double __cdecl fabs(_In_ double x)
_Check_return_ float __cdecl cosf(_In_ float x)
_Check_return_ _CRTIMP double __cdecl floor(_In_ double x)
_Check_return_ float __cdecl sinf(_In_ float x)
LPSTR WINAPI lstrcpyA(LPSTR lpString1, LPCSTR lpString2)
int WINAPI lstrlenA(LPCSTR lpString)
#define memcpy(s1, s2, n)
#define sprintf(buf, format,...)
BOOL WINAPI GdiGradientFill(HDC hdc, TRIVERTEX *vert_array, ULONG nvert, void *grad_array, ULONG ngrad, ULONG mode)
static const WCHAR desc[]
static DWORD *static HFONT(WINAPI *pCreateFontIndirectExA)(const ENUMLOGFONTEXDVA *)
static const unsigned char metafile[]
INT WINAPI MulDiv(INT nNumber, INT nNumerator, INT nDenominator)
CHAR lfFaceName[LF_FACESIZE]
static void buffer_size(GLcontext *ctx, GLuint *width, GLuint *height)
ecx edi movl ebx edx edi decl ecx esi eax jecxz decl eax andl eax esi movl edx
#define FIELD_OFFSET(t, f)
HBITMAP WINAPI CreateDIBSection(HDC hDC, CONST BITMAPINFO *BitmapInfo, UINT Usage, VOID **Bits, HANDLE hSection, DWORD dwOffset)
COLORREF WINAPI SetDCPenColor(_In_ HDC hdc, _In_ COLORREF crColor)
DWORD WINAPI GetRelAbs(_In_ HDC hdc, _In_ DWORD dwIgnore)
COLORREF WINAPI SetDCBrushColor(_In_ HDC hdc, _In_ COLORREF crColor)
DWORD WINAPI GetLastError(void)
_In_ CLIPOBJ _In_ BRUSHOBJ _In_ LONG _In_ LONG y1
_In_ CLIPOBJ _In_ BRUSHOBJ _In_ LONG x1
#define ERROR_INVALID_DATA
BOOL WINAPI DeleteMetaFile(_In_ HMETAFILE)
int WINAPI SetMapMode(_In_ HDC, _In_ int)
BOOL WINAPI ArcTo(_In_ HDC hdc, _In_ INT xLeft, _In_ INT yTop, _In_ INT xRight, _In_ INT yBottom, _In_ INT xRadial1, _In_ INT yRadial1, _In_ INT xRadial2, _In_ INT yRadial2)
HBRUSH WINAPI CreateBrushIndirect(_In_ const LOGBRUSH *plb)
int WINAPI GetBkMode(_In_ HDC)
INT WINAPI SetRelAbs(HDC, INT)
#define EMR_SETWINDOWEXTEX
UINT WINAPI GetEnhMetaFileBits(_In_ HENHMETAFILE hEMF, _In_ UINT nSize, _Out_writes_bytes_opt_(nSize) LPBYTE lpData)
#define EMR_SETVIEWPORTEXTEX
BOOL WINAPI Chord(_In_ HDC hdc, _In_ INT xLeft, _In_ INT yTop, _In_ INT xRight, _In_ INT yBottom, _In_ INT xRadial1, _In_ INT yRadial1, _In_ INT xRadial2, _In_ INT yRadial2)
int WINAPI GetPolyFillMode(_In_ HDC)
BOOL WINAPI PolyBezier(_In_ HDC hdc, _In_reads_(cpt) const POINT *apt, _In_ DWORD cpt)
HGDIOBJ WINAPI GetStockObject(_In_ int)
BOOL WINAPI Polyline(_In_ HDC hdc, _In_reads_(cpt) const POINT *apt, _In_ int cpt)
HBITMAP WINAPI CreateBitmap(_In_ INT cx, _In_ INT cy, _In_ UINT cPlanes, _In_ UINT cBitsPerPel, _In_opt_ const VOID *pvBits)
BOOL WINAPI Ellipse(_In_ HDC, _In_ int, _In_ int, _In_ int, _In_ int)
BOOL WINAPI DeleteEnhMetaFile(_In_opt_ HENHMETAFILE)
BOOL WINAPI PolylineTo(_In_ HDC hdc, _In_reads_(cpt) const POINT *apt, _In_ DWORD cpt)
#define EMR_EXTSELECTCLIPRGN
int WINAPI GetClipBox(_In_ HDC, _Out_ LPRECT)
int WINAPI GetDeviceCaps(_In_opt_ HDC, _In_ int)
int WINAPI SetGraphicsMode(_In_ HDC, _In_ int)
COLORREF WINAPI SetBkColor(_In_ HDC, _In_ COLORREF)
HRGN WINAPI CreateRectRgn(_In_ int, _In_ int, _In_ int, _In_ int)
HFONT WINAPI CreateFontIndirectA(_In_ const LOGFONTA *)
int WINAPI GetObjectA(_In_ HANDLE h, _In_ int c, _Out_writes_bytes_opt_(c) LPVOID pv)
UINT WINAPI GetTextAlign(_In_ HDC)
HDC WINAPI CreateMetaFileA(_In_opt_ LPCSTR)
COLORREF WINAPI GetTextColor(_In_ HDC)
BOOL WINAPI SetWindowOrgEx(_In_ HDC, _In_ int, _In_ int, _Out_opt_ LPPOINT)
#define META_SELECTCLIPREGION
BOOL WINAPI PlayEnhMetaFileRecord(_In_ HDC hdc, _In_reads_(cht) LPHANDLETABLE pht, _In_ CONST ENHMETARECORD *pmr, _In_ UINT cht)
BOOL WINAPI SetViewportExtEx(_In_ HDC, _In_ int, _In_ int, _Out_opt_ LPSIZE)
BOOL WINAPI GetWindowOrgEx(_In_ HDC, _Out_ LPPOINT)
UINT WINAPI SetTextAlign(_In_ HDC, _In_ UINT)
int WINAPI IntersectClipRect(_In_ HDC, _In_ int, _In_ int, _In_ int, _In_ int)
int WINAPI ExcludeClipRect(_In_ HDC, _In_ int, _In_ int, _In_ int, _In_ int)
BOOL WINAPI PolyBezierTo(_In_ HDC hdc, _In_reads_(cpt) const POINT *apt, _In_ DWORD cpt)
BOOL WINAPI LPtoDP(_In_ HDC hdc, _Inout_updates_(c) LPPOINT lppt, _In_ int c)
HGDIOBJ WINAPI GetCurrentObject(_In_ HDC, _In_ UINT)
int WINAPI SetArcDirection(_In_ HDC, _In_ int)
HGDIOBJ WINAPI SelectObject(_In_ HDC, _In_ HGDIOBJ)
struct tagMETAFILEPICT * LPMETAFILEPICT
BOOL WINAPI MoveToEx(_In_ HDC, _In_ int, _In_ int, _Out_opt_ LPPOINT)
HDC WINAPI CreateDCA(_In_opt_ LPCSTR pszDriver, _In_opt_ LPCSTR pszDevice, _In_opt_ LPCSTR pszOutput, _In_opt_ const DEVMODEA *pdmInit)
BOOL WINAPI SelectClipPath(_In_ HDC, _In_ int)
BOOL WINAPI SetViewportOrgEx(_In_ HDC, _In_ int, _In_ int, _Out_opt_ LPPOINT)
HDC WINAPI CreateEnhMetaFileW(_In_opt_ HDC, _In_opt_ LPCWSTR, _In_opt_ LPCRECT, _In_opt_ LPCWSTR)
UINT WINAPI GetWinMetaFileBits(_In_ HENHMETAFILE hemf, _In_ UINT cbData16, _Out_writes_bytes_opt_(cbData16) LPBYTE pData16, _In_ INT iMapMode, _In_ HDC hdcRef)
HDC WINAPI CreateCompatibleDC(_In_opt_ HDC hdc)
int WINAPI GetClipRgn(_In_ HDC, _In_ HRGN)
HMETAFILE WINAPI CloseMetaFile(_In_ HDC hdc)
BOOL WINAPI SetWindowExtEx(_In_ HDC, _In_ int, _In_ int, _Out_opt_ LPSIZE)
BOOL WINAPI StretchBlt(_In_ HDC, _In_ int, _In_ int, _In_ int, _In_ int, _In_opt_ HDC, _In_ int, _In_ int, _In_ int, _In_ int, _In_ DWORD)
UINT WINAPI GetMetaFileBitsEx(_In_ HMETAFILE hMF, _In_ UINT cbBuffer, _Out_writes_bytes_opt_(cbBuffer) LPVOID lpData)
BOOL WINAPI EnumMetaFile(_In_ HDC, _In_ HMETAFILE, _In_ MFENUMPROC, _In_opt_ LPARAM)
BOOL WINAPI RestoreDC(_In_ HDC, _In_ int)
COLORREF WINAPI GetBkColor(_In_ HDC)
BOOL WINAPI ExtTextOutA(_In_ HDC hdc, _In_ int x, _In_ int y, _In_ UINT options, _In_opt_ const RECT *lprect, _In_reads_opt_(c) LPCSTR lpString, _In_ UINT c, _In_reads_opt_(c) const INT *lpDx)
#define META_SETWINDOWORG
HDC WINAPI CreateEnhMetaFileA(_In_opt_ HDC, _In_opt_ LPCSTR, _In_opt_ LPCRECT, _In_opt_ LPCSTR)
int WINAPI GetROP2(_In_ HDC)
#define META_SETWINDOWEXT
BOOL WINAPI GetWorldTransform(_In_ HDC, _Out_ LPXFORM)
#define META_SELECTOBJECT
#define EMR_SETWINDOWORGEX
#define ENHMETA_SIGNATURE
int WINAPI GetStretchBltMode(_In_ HDC)
HMETAFILE WINAPI SetMetaFileBitsEx(_In_ UINT cbBuffer, _In_reads_bytes_(cbBuffer) CONST BYTE *lpData)
BOOL WINAPI ExtTextOutW(_In_ HDC hdc, _In_ int x, _In_ int y, _In_ UINT options, _In_opt_ const RECT *lprect, _In_reads_opt_(c) LPCWSTR lpString, _In_ UINT c, _In_reads_opt_(c) const INT *lpDx)
#define MWT_RIGHTMULTIPLY
BOOL WINAPI EnumEnhMetaFile(_In_opt_ HDC, _In_ HENHMETAFILE, _In_ ENHMFENUMPROC, _In_opt_ PVOID, _In_opt_ LPCRECT)
BOOL WINAPI GetWindowExtEx(_In_ HDC, _Out_ LPSIZE)
#define AD_COUNTERCLOCKWISE
HENHMETAFILE WINAPI CloseEnhMetaFile(_In_ HDC hdc)
BOOL WINAPI StrokeAndFillPath(_In_ HDC)
#define EMR_POLYBEZIERTO16
#define CLIP_DEFAULT_PRECIS
BOOL WINAPI SetPixelV(_In_ HDC, _In_ int, _In_ int, _In_ COLORREF)
HENHMETAFILE WINAPI SetEnhMetaFileBits(_In_ UINT nSize, _In_reads_bytes_(nSize) const BYTE *pb)
int WINAPI FillRect(HDC, LPCRECT, HBRUSH)
BOOL WINAPI Rectangle(_In_ HDC, _In_ int, _In_ int, _In_ int, _In_ int)
DWORD WINAPI GetRegionData(_In_ HRGN hrgn, _In_ DWORD nCount, _Out_writes_bytes_to_opt_(nCount, return) LPRGNDATA lpRgnData)
HMETAFILE WINAPI CopyMetaFileA(_In_ HMETAFILE hmfSrc, _In_opt_ LPCSTR pszFile)
int WINAPI SetBkMode(_In_ HDC, _In_ int)
int WINAPI OffsetClipRgn(_In_ HDC, _In_ int, _In_ int)
COLORREF WINAPI SetTextColor(_In_ HDC, _In_ COLORREF)
#define EMR_SETVIEWPORTORGEX
BOOL WINAPI SetWorldTransform(_In_ HDC, _In_ const XFORM *)
int WINAPI SetROP2(_In_ HDC, _In_ int)
UINT WINAPI GetEnhMetaFileHeader(_In_ HENHMETAFILE hemf, _In_ UINT nSize, _Out_writes_bytes_opt_(nSize) LPENHMETAHEADER lpEnhMetaHeader)
BOOL WINAPI RoundRect(_In_ HDC, _In_ int, _In_ int, _In_ int, _In_ int, _In_ int, _In_ int)
BOOL WINAPI DeleteDC(_In_ HDC)
BOOL WINAPI CombineTransform(_Out_ LPXFORM pxformResult, _In_ const XFORM *pxform1, _In_ const XFORM *pxform2)
BOOL WINAPI PolyDraw(_In_ HDC hdc, _In_reads_(cpt) const POINT *apt, _In_reads_(cpt) const BYTE *aj, _In_ int cpt)
BOOL WINAPI GetViewportExtEx(_In_ HDC, _Out_ LPSIZE)
int WINAPI SelectClipRgn(_In_ HDC, _In_opt_ HRGN)
BOOL WINAPI EndPath(_In_ HDC)
#define EMR_MODIFYWORLDTRANSFORM
BOOL WINAPI AngleArc(_In_ HDC hdc, _In_ INT x, _In_ INT y, _In_ DWORD dwRadius, _In_ FLOAT eStartAngle, _In_ FLOAT eSweepAngle)
BOOL WINAPI LineTo(_In_ HDC, _In_ int, _In_ int)
BOOL WINAPI GetViewportOrgEx(_In_ HDC, _Out_ LPPOINT)
BOOL WINAPI BeginPath(_In_ HDC hdc)
int WINAPI SetStretchBltMode(_In_ HDC, _In_ int)
BOOL WINAPI GetCharWidthA(_In_ HDC hdc, _In_ UINT iFirst, _In_ UINT iLast, _Out_writes_(iLast+1 - iFirst) LPINT lpBuffer)
#define EMR_SETWORLDTRANSFORM
BOOL WINAPI PolyPolyline(_In_ HDC hdc, _In_ const POINT *apt, _In_reads_(csz) const DWORD *asz, _In_ DWORD csz)
int WINAPI SaveDC(_In_ HDC)
BOOL WINAPI PlayEnhMetaFile(_In_ HDC, _In_ HENHMETAFILE, _In_ LPCRECT)
BOOL WINAPI ModifyWorldTransform(_In_ HDC, _In_opt_ const XFORM *, _In_ DWORD)
int WINAPI GetArcDirection(_In_ HDC)
BOOL WINAPI CloseFigure(_In_ HDC hdc)
HENHMETAFILE WINAPI SetWinMetaFileBits(_In_ UINT nSize, _In_reads_bytes_(nSize) const BYTE *lpMeta16Data, _In_opt_ HDC hdcRef, _In_opt_ const METAFILEPICT *lpMFP)
int WINAPI GetPath(_In_ HDC hdc, _Out_writes_opt_(cpt) LPPOINT apt, _Out_writes_opt_(cpt) LPBYTE aj, int cpt)
BOOL WINAPI AbortPath(_In_ HDC hdc)
BOOL WINAPI Pie(_In_ HDC, _In_ int, _In_ int, _In_ int, _In_ int, _In_ int, _In_ int, _In_ int, _In_ int)
int WINAPI SetPolyFillMode(_In_ HDC, _In_ int)
int WINAPI ReleaseDC(_In_opt_ HWND, _In_ HDC)
HWND WINAPI CreateWindowExA(_In_ DWORD dwExStyle, _In_opt_ LPCSTR lpClassName, _In_opt_ LPCSTR lpWindowName, _In_ DWORD dwStyle, _In_ int X, _In_ int Y, _In_ int nWidth, _In_ int nHeight, _In_opt_ HWND hWndParent, _In_opt_ HMENU hMenu, _In_opt_ HINSTANCE hInstance, _In_opt_ LPVOID lpParam)
HDC WINAPI GetDC(_In_opt_ HWND)
BOOL WINAPI OffsetRect(_Inout_ LPRECT, _In_ int, _In_ int)
BOOL WINAPI DestroyWindow(_In_ HWND)
BOOL WINAPI EqualRect(_In_ LPCRECT, _In_ LPCRECT)
int WINAPI GetSystemMetrics(_In_ int)
BOOL WINAPI SetRect(_Out_ LPRECT, _In_ int, _In_ int, _In_ int, _In_ int)