Nikolay Sivov : gdiplus: Implemented GdipMultiplyWorldTransform.

Alexandre Julliard julliard at winehq.org
Wed Apr 30 06:57:23 CDT 2008


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

Author: Nikolay Sivov <bunglehead at 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);




More information about the wine-cvs mailing list