Module: wine Branch: master Commit: eab427ee3fc8477df55db652b6334361958523c3 URL: http://source.winehq.org/git/wine.git/?a=commit;h=eab427ee3fc8477df55db652b6...
Author: Evan Stade estade@gmail.com Date: Tue Jul 24 17:18:42 2007 -0700
gdiplus: Added GdipCloneMatrix.
---
dlls/gdiplus/gdiplus.spec | 2 +- dlls/gdiplus/matrix.c | 13 +++++++++++++ include/gdiplusflat.h | 1 + 3 files changed, 15 insertions(+), 1 deletions(-)
diff --git a/dlls/gdiplus/gdiplus.spec b/dlls/gdiplus/gdiplus.spec index 59887a7..f13a72f 100644 --- a/dlls/gdiplus/gdiplus.spec +++ b/dlls/gdiplus/gdiplus.spec @@ -49,7 +49,7 @@ @ stub GdipCloneFontFamily @ stub GdipCloneImage @ stub GdipCloneImageAttributes -@ stub GdipCloneMatrix +@ stdcall GdipCloneMatrix(ptr ptr) @ stub GdipClonePath @ stdcall GdipClonePen(ptr ptr) @ stub GdipCloneRegion diff --git a/dlls/gdiplus/matrix.c b/dlls/gdiplus/matrix.c index 0752077..50d511a 100644 --- a/dlls/gdiplus/matrix.c +++ b/dlls/gdiplus/matrix.c @@ -70,6 +70,19 @@ GpStatus WINGDIPAPI GdipCreateMatrix2(REAL m11, REAL m12, REAL m21, REAL m22, return Ok; }
+GpStatus WINGDIPAPI GdipCloneMatrix(GpMatrix *matrix, GpMatrix **clone) +{ + if(!matrix || !clone) + return InvalidParameter; + + *clone = GdipAlloc(sizeof(GpMatrix)); + if(!*clone) return OutOfMemory; + + memcpy(*clone, matrix, sizeof(GpMatrix)); + + return Ok; +} + GpStatus WINGDIPAPI GdipCreateMatrix(GpMatrix **matrix) { if(!matrix) diff --git a/include/gdiplusflat.h b/include/gdiplusflat.h index 03def6f..94693eb 100644 --- a/include/gdiplusflat.h +++ b/include/gdiplusflat.h @@ -101,6 +101,7 @@ GpStatus WINGDIPAPI GdipResetPath(GpPath*); GpStatus WINGDIPAPI GdipSetPathFillMode(GpPath*,GpFillMode); GpStatus WINGDIPAPI GdipTransformPath(GpPath*,GpMatrix*);
+GpStatus WINGDIPAPI GdipCloneMatrix(GpMatrix*,GpMatrix**); GpStatus WINGDIPAPI GdipCreateMatrix2(REAL,REAL,REAL,REAL,REAL,REAL,GpMatrix**); GpStatus WINGDIPAPI GdipCreateMatrix(GpMatrix**); GpStatus WINGDIPAPI GdipDeleteMatrix(GpMatrix*);