[8/8] gdiplus: added GdipCreateMatrix
Evan Stade
estade at gmail.com
Tue Jul 17 21:31:36 CDT 2007
Hi,
dlls/gdiplus/gdiplus.spec | 2 +-
dlls/gdiplus/matrix.c | 15 +++++++++++++++
include/gdiplusflat.h | 1 +
3 files changed, 17 insertions(+), 1 deletions(-)
--
Evan Stade
-------------- next part --------------
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