[PATCH 3/3] dwrite/tests: Some tests for target hdc mode/transform
Nikolay Sivov
nsivov at codeweavers.com
Wed Aug 12 13:11:35 CDT 2015
---
-------------- next part --------------
From 603d0d280a61a6b458cf1010c7d284ed68d1b93e Mon Sep 17 00:00:00 2001
From: Nikolay Sivov <nsivov at codeweavers.com>
Date: Wed, 12 Aug 2015 21:00:06 +0300
Subject: [PATCH 3/3] dwrite/tests: Some tests for target hdc mode/transform
---
dlls/dwrite/tests/font.c | 25 ++++++++++++++++++++++++-
1 file changed, 24 insertions(+), 1 deletion(-)
diff --git a/dlls/dwrite/tests/font.c b/dlls/dwrite/tests/font.c
index 7ee5c8a..b132749 100644
--- a/dlls/dwrite/tests/font.c
+++ b/dlls/dwrite/tests/font.c
@@ -757,6 +757,7 @@ static void test_CreateBitmapRenderTarget(void)
HBITMAP hbm, hbm2;
DWRITE_MATRIX m;
DIBSECTION ds;
+ XFORM xform;
COLORREF c;
HRESULT hr;
FLOAT pdip;
@@ -791,6 +792,11 @@ if (0) /* crashes on native */
hdc = IDWriteBitmapRenderTarget_GetMemoryDC(target);
ok(hdc != NULL, "got %p\n", hdc);
+ /* test mode */
+ ret = GetGraphicsMode(hdc);
+todo_wine
+ ok(ret == GM_ADVANCED, "got %d\n", ret);
+
hbm = GetCurrentObject(hdc, OBJ_BITMAP);
ok(hbm != NULL, "got %p\n", hbm);
@@ -914,7 +920,7 @@ if (0) /* crashes on native */
ok(ds.dsBm.bmBitsPixel == 1, "got %d\n", ds.dsBm.bmBitsPixel);
ok(!ds.dsBm.bmBits, "got %p\n", ds.dsBm.bmBits);
- /* transform tests */
+ /* transform tests, current hdc transform is not immediately affected */
if (0) /* crashes on native */
hr = IDWriteBitmapRenderTarget_GetCurrentTransform(target, NULL);
@@ -923,6 +929,10 @@ if (0) /* crashes on native */
ok(hr == S_OK, "got 0x%08x\n", hr);
ok(m.m11 == 1.0 && m.m22 == 1.0 && m.m12 == 0.0 && m.m21 == 0.0, "got %.1f,%.1f,%.1f,%.1f\n", m.m11, m.m22, m.m12, m.m21);
ok(m.dx == 0.0 && m.dy == 0.0, "got %.1f,%.1f\n", m.dx, m.dy);
+ ret = GetWorldTransform(hdc, &xform);
+ ok(ret, "got %d\n", ret);
+ ok(xform.eM11 == 1.0 && xform.eM22 == 1.0 && xform.eM12 == 0.0 && xform.eM21 == 0.0, "got wrong transform\n");
+ ok(xform.eDx == 0.0 && xform.eDy == 0.0, "got %.1f,%.1f\n", xform.eDx, xform.eDy);
memset(&m, 0, sizeof(m));
hr = IDWriteBitmapRenderTarget_SetCurrentTransform(target, &m);
@@ -933,6 +943,19 @@ if (0) /* crashes on native */
ok(hr == S_OK, "got 0x%08x\n", hr);
ok(m.m11 == 0.0 && m.m22 == 0.0 && m.m12 == 0.0 && m.m21 == 0.0, "got %.1f,%.1f,%.1f,%.1f\n", m.m11, m.m22, m.m12, m.m21);
ok(m.dx == 0.0 && m.dy == 0.0, "got %.1f,%.1f\n", m.dx, m.dy);
+ ret = GetWorldTransform(hdc, &xform);
+ ok(ret, "got %d\n", ret);
+ ok(xform.eM11 == 1.0 && xform.eM22 == 1.0 && xform.eM12 == 0.0 && xform.eM21 == 0.0, "got wrong transform\n");
+ ok(xform.eDx == 0.0 && xform.eDy == 0.0, "got %.1f,%.1f\n", xform.eDx, xform.eDy);
+
+ memset(&m, 0, sizeof(m));
+ m.m11 = 2.0; m.m22 = 1.0;
+ hr = IDWriteBitmapRenderTarget_SetCurrentTransform(target, &m);
+ ok(hr == S_OK, "got 0x%08x\n", hr);
+ ret = GetWorldTransform(hdc, &xform);
+ ok(ret, "got %d\n", ret);
+ ok(xform.eM11 == 1.0 && xform.eM22 == 1.0 && xform.eM12 == 0.0 && xform.eM21 == 0.0, "got wrong transform\n");
+ ok(xform.eDx == 0.0 && xform.eDy == 0.0, "got %.1f,%.1f\n", xform.eDx, xform.eDy);
hr = IDWriteBitmapRenderTarget_SetCurrentTransform(target, NULL);
ok(hr == S_OK, "got 0x%08x\n", hr);
--
2.1.4
More information about the wine-patches
mailing list