diff --git a/dlls/gdiplus/tests/pen.c b/dlls/gdiplus/tests/pen.c index 90d57d6ae40..6eee2ea6593 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); }