Hi, Dmitry Timoshkov!
The patch brakes rotation for modes with positive axis. Try apply this
patch to the test application attached to the bug #22996.
diff -Naur ./test_emf_textout.orig/test_emf_textout/test.c ./test_emf_textout/test_emf_textout/test.c
--- ./test_emf_textout.orig/test_emf_textout/test.c 2011-02-23 02:26:03.0 +0300
+++ ./test_emf_textout/test_emf_textout/test.c 2011-02-24 14:21:34.940461236 +0300
@@ -118,8 +118,8 @@
SetGraphicsMode(hdc, GM_COMPATIBLE);
SetMapMode(hdc, MM_ANISOTROPIC);
SetWindowExtEx(hdc, 1, 1, NULL);
- SetViewportExtEx(hdc, 1, -1, NULL);
- Rectangle(hdc, 0, 0, 400, -300);
+ SetViewportExtEx(hdc, 1, 1, NULL);
+ Rectangle(hdc, 0, 0, 400, 300);
for (i = 0; i < sizeof(records) / sizeof(records[0]); i++)
{
@@ -129,16 +129,16 @@
hfont = create_font(hdc, 12, test->escapement);
hfontold = SelectObject(hdc, hfont);
- ExtTextOutW(hdc, 200 + dx, -150 - dy, 0, 0, test->msg, test->len, 0);
+ ExtTextOutW(hdc, 200 + dx, 150 - dy, 0, 0, test->msg, test->len, 0);
SelectObject(hdc, hfontold);
DeleteObject(hfont);
}
/*SetMapMode(hdc, MM_TEXT);*/
if (g_test_mode == TEST_MODE_GDI)
- ExtTextOutW(hdc, 10, -10, 0, 0, L"TEST_MODE_GDI", 13, 0);
+ ExtTextOutW(hdc, 10, 10, 0, 0, L"TEST_MODE_GDI", 13, 0);
if (g_test_mode == TEST_MODE_METAFILE)
- ExtTextOutW(hdc, 10, -10, 0, 0, L"TEST_MODE_METAFILE", 18, 0);
+ ExtTextOutW(hdc, 10, 10, 0, 0, L"TEST_MODE_METAFILE", 18, 0);
}