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.000000000 +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); 
 
 }
 


Reply via email to