Module: wine Branch: master Commit: 510c26ac1dbcdd4ce87993ff5d2232279b532ac1 URL: http://source.winehq.org/git/wine.git/?a=commit;h=510c26ac1dbcdd4ce87993ff5d...
Author: Nikolay Sivov bunglehead@gmail.com Date: Wed Apr 30 01:28:40 2008 +0400
gdiplus: Implemented GdipMultiplyWorldTransform.
---
dlls/gdiplus/gdiplus.spec | 2 +- dlls/gdiplus/graphics.c | 18 ++++++++++++++++++ include/gdiplusflat.h | 1 + 3 files changed, 20 insertions(+), 1 deletions(-)
diff --git a/dlls/gdiplus/gdiplus.spec b/dlls/gdiplus/gdiplus.spec index c4d26f2..116f5f7 100644 --- a/dlls/gdiplus/gdiplus.spec +++ b/dlls/gdiplus/gdiplus.spec @@ -447,7 +447,7 @@ @ stub GdipMultiplyPathGradientTransform @ stub GdipMultiplyPenTransform @ stub GdipMultiplyTextureTransform -@ stub GdipMultiplyWorldTransform +@ stdcall GdipMultiplyWorldTransform(ptr ptr long) @ stub GdipNewInstalledFontCollection @ stub GdipNewPrivateFontCollection @ stdcall GdipPathIterCopyData(ptr ptr ptr ptr long long) diff --git a/dlls/gdiplus/graphics.c b/dlls/gdiplus/graphics.c index 2646a46..416741c 100644 --- a/dlls/gdiplus/graphics.c +++ b/dlls/gdiplus/graphics.c @@ -2418,3 +2418,21 @@ GpStatus WINGDIPAPI GdipGetDpiY(GpGraphics *graphics, REAL* dpi)
return Ok; } + +GpStatus WINGDIPAPI GdipMultiplyWorldTransform(GpGraphics *graphics, GDIPCONST GpMatrix *matrix, + GpMatrixOrder order) +{ + GpMatrix m; + GpStatus ret; + + if(!graphics || !matrix) + return InvalidParameter; + + m = *(graphics->worldtrans); + + ret = GdipMultiplyMatrix(&m, (GpMatrix*)matrix, order); + if(ret == Ok) + *(graphics->worldtrans) = m; + + return ret; +} diff --git a/include/gdiplusflat.h b/include/gdiplusflat.h index 25ffe34..495c955 100644 --- a/include/gdiplusflat.h +++ b/include/gdiplusflat.h @@ -243,6 +243,7 @@ GpStatus WINGDIPAPI GdipIsMatrixIdentity(GDIPCONST GpMatrix*, BOOL*); GpStatus WINGDIPAPI GdipDeleteMatrix(GpMatrix*); GpStatus WINGDIPAPI GdipGetMatrixElements(GDIPCONST GpMatrix*,REAL*); GpStatus WINGDIPAPI GdipMultiplyMatrix(GpMatrix*,GpMatrix*,GpMatrixOrder); +GpStatus WINGDIPAPI GdipMultiplyWorldTransform(GpGraphics*,GDIPCONST GpMatrix*,GpMatrixOrder); GpStatus WINGDIPAPI GdipRotateMatrix(GpMatrix*,REAL,GpMatrixOrder); GpStatus WINGDIPAPI GdipScaleMatrix(GpMatrix*,REAL,REAL,GpMatrixOrder); GpStatus WINGDIPAPI GdipSetMatrixElements(GpMatrix*,REAL,REAL,REAL,REAL,REAL,REAL);