Nikolay Sivov : d2d1/tests: DrawTextLayout() ignores effects that are not brushes.

Alexandre Julliard julliard at winehq.org
Mon Oct 31 14:41:10 CDT 2016


Module: wine
Branch: master
Commit: 7bce356ef4fefd83c636c6fa5fe5bf98e17370f3
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=7bce356ef4fefd83c636c6fa5fe5bf98e17370f3

Author: Nikolay Sivov <nsivov at codeweavers.com>
Date:   Sun Oct 30 20:01:52 2016 +0300

d2d1/tests: DrawTextLayout() ignores effects that are not brushes.

Signed-off-by: Nikolay Sivov <nsivov at codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet at codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>

---

 dlls/d2d1/tests/d2d1.c | 22 ++++++++++++++++++++++
 1 file changed, 22 insertions(+)

diff --git a/dlls/d2d1/tests/d2d1.c b/dlls/d2d1/tests/d2d1.c
index b49ed7d..cf24841 100644
--- a/dlls/d2d1/tests/d2d1.c
+++ b/dlls/d2d1/tests/d2d1.c
@@ -2637,6 +2637,8 @@ static void test_draw_text_layout(void)
     DWRITE_TEXT_RANGE range;
     D2D1_COLOR_F color;
     ID2D1SolidColorBrush *brush, *brush2;
+    ID2D1RectangleGeometry *geometry;
+    D2D1_RECT_F rect;
 
     if (!(device = create_device()))
     {
@@ -2702,6 +2704,26 @@ static void test_draw_text_layout(void)
 todo_wine
     ok(hr == D2DERR_WRONG_FACTORY, "EndDraw failure expected, hr %#x.\n", hr);
 
+    /* Effect is d2d resource, but not a brush. */
+    rect.left = rect.top = 0.0f;
+    rect.right = rect.bottom = 10.0f;
+    hr = ID2D1Factory_CreateRectangleGeometry(factory, &rect, &geometry);
+    ok(SUCCEEDED(hr), "Failed to geometry, hr %#x.\n", hr);
+
+    range.startPosition = 0;
+    range.length = 4;
+    hr = IDWriteTextLayout_SetDrawingEffect(text_layout, (IUnknown*)geometry, range);
+    ok(SUCCEEDED(hr), "Failed to set drawing effect, hr %#x.\n", hr);
+    ID2D1RectangleGeometry_Release(geometry);
+
+    ID2D1RenderTarget_BeginDraw(rt);
+
+    origin.x = origin.y = 0.0f;
+    ID2D1RenderTarget_DrawTextLayout(rt, origin, text_layout, (ID2D1Brush*)brush, D2D1_DRAW_TEXT_OPTIONS_NONE);
+
+    hr = ID2D1RenderTarget_EndDraw(rt, NULL, NULL);
+    ok(hr == S_OK, "EndDraw failure expected, hr %#x.\n", hr);
+
     IDWriteTextFormat_Release(text_format);
     IDWriteTextLayout_Release(text_layout);
     IDWriteFactory_Release(dwrite_factory);




More information about the wine-cvs mailing list