Alistair Leslie-Hughes : gdiplus/tests: Add Pen Transform tests.

Alexandre Julliard julliard at wine.codeweavers.com
Tue Jan 26 10:32:50 CST 2016


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

Author: Alistair Leslie-Hughes <leslie_alistair at hotmail.com>
Date:   Sun Jan 24 18:23:58 2016 +1100

gdiplus/tests: Add Pen Transform tests.

Signed-off-by: Alistair Leslie-Hughes <leslie_alistair at hotmail.com>
Signed-off-by: Vincent Povirk <vincent at codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>

---

 dlls/gdiplus/tests/pen.c | 64 ++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 64 insertions(+)

diff --git a/dlls/gdiplus/tests/pen.c b/dlls/gdiplus/tests/pen.c
index 90d57d6..6eee2ea 100644
--- a/dlls/gdiplus/tests/pen.c
+++ b/dlls/gdiplus/tests/pen.c
@@ -366,6 +366,69 @@ static void test_compoundarray(void)
     GdipDeletePen(pen);
 }
 
+static void test_transform(void)
+{
+    GpStatus status;
+    GpPen *pen;
+    GpMatrix *matrix, *matrix2;
+    REAL values[6];
+
+    status = GdipCreatePen1((ARGB)0xffff00ff, 10.0f, UnitPixel, &pen);
+    expect(Ok, status);
+
+    status = GdipCreateMatrix(&matrix);
+    expect(Ok, status);
+
+    status = GdipGetPenTransform(pen, matrix);
+    todo_wine expect(Ok, status);
+
+    status = GdipGetMatrixElements(matrix, values);
+    expect(Ok, status);
+
+    expectf(1.0, values[0]);
+    expectf(0.0, values[1]);
+    expectf(0.0, values[2]);
+    expectf(1.0, values[3]);
+    expectf(0.0, values[4]);
+    expectf(0.0, values[5]);
+
+    GdipCreateMatrix2(3.0, -2.0, 5.0, 2.0, 6.0, 3.0, &matrix2);
+    status = GdipSetPenTransform(pen, matrix2);
+    todo_wine expect(Ok, status);
+    GdipDeleteMatrix(matrix2);
+
+    status = GdipGetPenTransform(pen, matrix);
+    todo_wine expect(Ok, status);
+    status = GdipGetMatrixElements(matrix, values);
+    expect(Ok, status);
+todo_wine {
+    expectf(3.0,  values[0]);
+    expectf(-2.0,  values[1]);
+    expectf(5.0,  values[2]);
+    expectf(2.0, values[3]);
+    expectf(6.0, values[4]);
+    expectf(3.0,  values[5]);
+}
+    status = GdipResetPenTransform(pen);
+    todo_wine expect(Ok, status);
+
+    status = GdipGetPenTransform(pen, matrix);
+    todo_wine expect(Ok, status);
+    status = GdipGetMatrixElements(matrix, values);
+    expect(Ok, status);
+
+    expectf(1.0, values[0]);
+    expectf(0.0, values[1]);
+    expectf(0.0, values[2]);
+    expectf(1.0, values[3]);
+    expectf(0.0, values[4]);
+    expectf(0.0, values[5]);
+
+    GdipDeletePen(pen);
+
+    GdipDeleteMatrix(matrix);
+}
+
 START_TEST(pen)
 {
     struct GdiplusStartupInput gdiplusStartupInput;
@@ -387,6 +450,7 @@ START_TEST(pen)
     test_customcap();
     test_penfilltype();
     test_compoundarray();
+    test_transform();
 
     GdiplusShutdown(gdiplusToken);
 }




More information about the wine-cvs mailing list