[7/8] gdiplus: added GdipRotateMatrix

Evan Stade estade at gmail.com
Tue Jul 17 21:31:32 CDT 2007


Hi,

 dlls/gdiplus/gdiplus.spec |    2 +-
 dlls/gdiplus/matrix.c     |   26 ++++++++++++++++++++++++++
 include/gdiplusflat.h     |    1 +
 3 files changed, 28 insertions(+), 1 deletions(-)

-- 
Evan Stade
-------------- next part --------------
From e1ea285d976138e57223d76622554a4bb6e65f8b Mon Sep 17 00:00:00 2001
From: Evan Stade <estade at evanstade.smo.corp.google.com>
Date: Tue, 17 Jul 2007 18:00:17 -0700
Subject: [PATCH] added GdipCreateMatrix
---
 dlls/gdiplus/gdiplus.spec |    2 +-
 dlls/gdiplus/matrix.c     |   15 +++++++++++++++
 include/gdiplusflat.h     |    1 +
 3 files changed, 17 insertions(+), 1 deletions(-)

diff --git a/dlls/gdiplus/gdiplus.spec b/dlls/gdiplus/gdiplus.spec
index 78fab5f..d80784e 100644
--- a/dlls/gdiplus/gdiplus.spec
+++ b/dlls/gdiplus/gdiplus.spec
@@ -98,7 +98,7 @@
 @ stdcall GdipCreateMatrix2(long long long long long long ptr)
 @ stub GdipCreateMatrix3
 @ stub GdipCreateMatrix3I
-@ stub GdipCreateMatrix
+@ stdcall GdipCreateMatrix(ptr)
 @ stub GdipCreateMetafileFromEmf
 @ stub GdipCreateMetafileFromFile
 @ stub GdipCreateMetafileFromStream
diff --git a/dlls/gdiplus/matrix.c b/dlls/gdiplus/matrix.c
index df98368..887c726 100644
--- a/dlls/gdiplus/matrix.c
+++ b/dlls/gdiplus/matrix.c
@@ -70,6 +70,21 @@ GpStatus WINGDIPAPI GdipCreateMatrix2(RE
     return Ok;
 }
 
+GpStatus WINGDIPAPI GdipCreateMatrix(GpMatrix **matrix)
+{
+    REAL identity[] = {1.0, 0.0, 0.0, 1.0, 0.0, 0.0};
+
+    if(!matrix)
+        return InvalidParameter;
+
+    *matrix = GdipAlloc(sizeof(GpMatrix));
+    if(!*matrix)    return OutOfMemory;
+
+    memcpy((*matrix)->matrix, identity, 6);
+
+    return Ok;
+}
+
 GpStatus WINGDIPAPI GdipDeleteMatrix(GpMatrix *matrix)
 {
     if(!matrix)
diff --git a/include/gdiplusflat.h b/include/gdiplusflat.h
index c1e7c80..136f469 100644
--- a/include/gdiplusflat.h
+++ b/include/gdiplusflat.h
@@ -86,6 +86,7 @@ GpStatus WINGDIPAPI GdipSetPathFillMode(
 GpStatus WINGDIPAPI GdipTransformPath(GpPath*,GpMatrix*);
 
 GpStatus WINGDIPAPI GdipCreateMatrix2(REAL,REAL,REAL,REAL,REAL,REAL,GpMatrix**);
+GpStatus WINGDIPAPI GdipCreateMatrix(GpMatrix**);
 GpStatus WINGDIPAPI GdipDeleteMatrix(GpMatrix*);
 GpStatus WINGDIPAPI GdipMultiplyMatrix(GpMatrix*,GpMatrix*,GpMatrixOrder);
 GpStatus WINGDIPAPI GdipRotateMatrix(GpMatrix*,REAL,GpMatrixOrder);
-- 
1.4.1


More information about the wine-patches mailing list