Alistair Leslie-Hughes : gdiplus: Implement GdipGetPenTransform.
Module: wine Branch: stable Commit: e7deeb87ab2e95f50d48e384afee026a23d84341 URL: http://source.winehq.org/git/wine.git/?a=commit;h=e7deeb87ab2e95f50d48e384af... Author: Alistair Leslie-Hughes <leslie_alistair(a)hotmail.com> Date: Sun Jan 31 21:55:31 2016 +1100 gdiplus: Implement GdipGetPenTransform. Signed-off-by: Alistair Leslie-Hughes <leslie_alistair(a)hotmail.com> Signed-off-by: Vincent Povirk <vincent(a)codeweavers.com> Signed-off-by: Alexandre Julliard <julliard(a)winehq.org> (cherry picked from commit b8449062eb13ed27612ac3df8e05c67587bce12f) Signed-off-by: Michael Stefaniuc <mstefani(a)winehq.org> --- dlls/gdiplus/gdiplus_private.h | 1 + dlls/gdiplus/pen.c | 8 +++----- dlls/gdiplus/tests/pen.c | 6 +++--- 3 files changed, 7 insertions(+), 8 deletions(-) diff --git a/dlls/gdiplus/gdiplus_private.h b/dlls/gdiplus/gdiplus_private.h index 1af0bd0..0013d75 100644 --- a/dlls/gdiplus/gdiplus_private.h +++ b/dlls/gdiplus/gdiplus_private.h @@ -197,6 +197,7 @@ struct GpPen{ REAL offset; /* dash offset */ GpBrush *brush; GpPenAlignment align; + GpMatrix transform; }; struct GpGraphics{ diff --git a/dlls/gdiplus/pen.c b/dlls/gdiplus/pen.c index f7dacef..47e91ec 100644 --- a/dlls/gdiplus/pen.c +++ b/dlls/gdiplus/pen.c @@ -171,6 +171,7 @@ GpStatus WINGDIPAPI GdipCreatePen2(GpBrush *brush, REAL width, GpUnit unit, gp_pen->offset = 0.0; gp_pen->customstart = NULL; gp_pen->customend = NULL; + GdipSetMatrixElements(&gp_pen->transform, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0); if(!((gp_pen->unit == UnitWorld) || (gp_pen->unit == UnitPixel))) { FIXME("UnitWorld, UnitPixel only supported units\n"); @@ -448,17 +449,14 @@ GpStatus WINGDIPAPI GdipSetPenTransform(GpPen *pen, GpMatrix *matrix) GpStatus WINGDIPAPI GdipGetPenTransform(GpPen *pen, GpMatrix *matrix) { - static int calls; - TRACE("(%p,%p)\n", pen, matrix); if(!pen || !matrix) return InvalidParameter; - if(!(calls++)) - FIXME("not implemented\n"); + *matrix = pen->transform; - return NotImplemented; + return Ok; } GpStatus WINGDIPAPI GdipTranslatePenTransform(GpPen *pen, REAL dx, REAL dy, GpMatrixOrder order) diff --git a/dlls/gdiplus/tests/pen.c b/dlls/gdiplus/tests/pen.c index 6eee2ea..1e63560 100644 --- a/dlls/gdiplus/tests/pen.c +++ b/dlls/gdiplus/tests/pen.c @@ -380,7 +380,7 @@ static void test_transform(void) expect(Ok, status); status = GdipGetPenTransform(pen, matrix); - todo_wine expect(Ok, status); + expect(Ok, status); status = GdipGetMatrixElements(matrix, values); expect(Ok, status); @@ -398,7 +398,7 @@ static void test_transform(void) GdipDeleteMatrix(matrix2); status = GdipGetPenTransform(pen, matrix); - todo_wine expect(Ok, status); + expect(Ok, status); status = GdipGetMatrixElements(matrix, values); expect(Ok, status); todo_wine { @@ -413,7 +413,7 @@ todo_wine { todo_wine expect(Ok, status); status = GdipGetPenTransform(pen, matrix); - todo_wine expect(Ok, status); + expect(Ok, status); status = GdipGetMatrixElements(matrix, values); expect(Ok, status);
participants (1)
-
Alexandre Julliard