From dd5e9a91f364d02869b00a355227373242d813e0 Mon Sep 17 00:00:00 2001 From: Evan Stade Date: Tue, 31 Jul 2007 19:15:37 -0700 Subject: [PATCH] gdiplus: Added GdipGetMatrixElements. --- dlls/gdiplus/gdiplus.spec | 2 +- dlls/gdiplus/matrix.c | 11 +++++++++++ include/gdiplusflat.h | 1 + 3 files changed, 13 insertions(+), 1 deletion(-) diff --git a/dlls/gdiplus/gdiplus.spec b/dlls/gdiplus/gdiplus.spec index 8dd2e2aaa89..95a36187f06 100644 --- a/dlls/gdiplus/gdiplus.spec +++ b/dlls/gdiplus/gdiplus.spec @@ -313,7 +313,7 @@ @ stub GdipGetLineWrapMode @ stub GdipGetLogFontA @ stub GdipGetLogFontW -@ stub GdipGetMatrixElements +@ stdcall GdipGetMatrixElements(ptr ptr) @ stub GdipGetMetafileDownLevelRasterizationLimit @ stub GdipGetMetafileHeaderFromEmf @ stub GdipGetMetafileHeaderFromFile diff --git a/dlls/gdiplus/matrix.c b/dlls/gdiplus/matrix.c index 50d511ad7e4..afb2efe575e 100644 --- a/dlls/gdiplus/matrix.c +++ b/dlls/gdiplus/matrix.c @@ -111,6 +111,17 @@ GpStatus WINGDIPAPI GdipDeleteMatrix(GpMatrix *matrix) return Ok; } +GpStatus WINGDIPAPI GdipGetMatrixElements(GDIPCONST GpMatrix *matrix, + REAL *out) +{ + if(!matrix || !out) + return InvalidParameter; + + memcpy(out, matrix->matrix, sizeof(matrix->matrix)); + + return Ok; +} + GpStatus WINGDIPAPI GdipMultiplyMatrix(GpMatrix *matrix, GpMatrix* matrix2, GpMatrixOrder order) { diff --git a/include/gdiplusflat.h b/include/gdiplusflat.h index 31b17f58264..b618dadf069 100644 --- a/include/gdiplusflat.h +++ b/include/gdiplusflat.h @@ -116,6 +116,7 @@ GpStatus WINGDIPAPI GdipCloneMatrix(GpMatrix*,GpMatrix**); GpStatus WINGDIPAPI GdipCreateMatrix2(REAL,REAL,REAL,REAL,REAL,REAL,GpMatrix**); GpStatus WINGDIPAPI GdipCreateMatrix(GpMatrix**); GpStatus WINGDIPAPI GdipDeleteMatrix(GpMatrix*); +GpStatus WINGDIPAPI GdipGetMatrixElements(GDIPCONST GpMatrix*,REAL*); GpStatus WINGDIPAPI GdipMultiplyMatrix(GpMatrix*,GpMatrix*,GpMatrixOrder); GpStatus WINGDIPAPI GdipRotateMatrix(GpMatrix*,REAL,GpMatrixOrder); GpStatus WINGDIPAPI GdipScaleMatrix(GpMatrix*,REAL,REAL,GpMatrixOrder);