Petr Dlouhý : gdiplus: Stub implementation of GdipImageGetFrameDimensionsCount + test.
Alexandre Julliard
julliard at winehq.org
Sat Jun 21 05:39:14 CDT 2008
Module: wine
Branch: master
Commit: 4513fb3818c6a01e169998e039cebc6edea6669a
URL: http://source.winehq.org/git/wine.git/?a=commit;h=4513fb3818c6a01e169998e039cebc6edea6669a
Author: Petr Dlouhý <pdlo at seznam.cz>
Date: Thu Jun 19 10:38:09 2008 +0200
gdiplus: Stub implementation of GdipImageGetFrameDimensionsCount + test.
---
dlls/gdiplus/gdiplus.spec | 2 +-
dlls/gdiplus/image.c | 13 +++++++++++++
dlls/gdiplus/tests/image.c | 27 +++++++++++++++++++++++++++
include/gdiplusflat.h | 1 +
4 files changed, 42 insertions(+), 1 deletions(-)
diff --git a/dlls/gdiplus/gdiplus.spec b/dlls/gdiplus/gdiplus.spec
index 23346fc..8d7c892 100644
--- a/dlls/gdiplus/gdiplus.spec
+++ b/dlls/gdiplus/gdiplus.spec
@@ -407,7 +407,7 @@
@ stub GdipGraphicsSetAbort
@ stub GdipImageForceValidation
@ stdcall GdipImageGetFrameCount(ptr ptr ptr)
-@ stub GdipImageGetFrameDimensionsCount
+@ stdcall GdipImageGetFrameDimensionsCount(ptr ptr)
@ stdcall GdipImageGetFrameDimensionsList(ptr ptr long)
@ stub GdipImageRotateFlip
@ stdcall GdipImageSelectActiveFrame(ptr ptr long)
diff --git a/dlls/gdiplus/image.c b/dlls/gdiplus/image.c
index f6dffcf..330e54b 100644
--- a/dlls/gdiplus/image.c
+++ b/dlls/gdiplus/image.c
@@ -688,6 +688,19 @@ GpStatus WINGDIPAPI GdipImageGetFrameCount(GpImage *image,
return NotImplemented;
}
+GpStatus WINGDIPAPI GdipImageGetFrameDimensionsCount(GpImage *image,
+ UINT* count)
+{
+ if(!image || !count)
+ return InvalidParameter;
+
+ *count = 1;
+
+ FIXME("stub\n");
+
+ return Ok;
+}
+
GpStatus WINGDIPAPI GdipImageGetFrameDimensionsList(GpImage* image,
GUID* dimensionIDs, UINT count)
{
diff --git a/dlls/gdiplus/tests/image.c b/dlls/gdiplus/tests/image.c
index a3e7676..686fe54 100644
--- a/dlls/gdiplus/tests/image.c
+++ b/dlls/gdiplus/tests/image.c
@@ -106,6 +106,32 @@ static void test_GetImageDimension(void)
GdipDisposeImage((GpImage*)bm);
}
+static void test_GdipImageGetFrameDimensionsCount(void)
+{
+ GpBitmap *bm;
+ GpStatus stat;
+ const REAL WIDTH = 10.0, HEIGHT = 20.0;
+ UINT w;
+
+ bm = (GpBitmap*)0xdeadbeef;
+ stat = GdipCreateBitmapFromScan0(WIDTH, HEIGHT, 0, PixelFormat24bppRGB,NULL, &bm);
+ expect(Ok,stat);
+ ok((GpBitmap*)0xdeadbeef != bm, "Expected bitmap to not be 0xdeadbeef\n");
+ ok(NULL != bm, "Expected bitmap to not be NULL\n");
+
+ stat = GdipImageGetFrameDimensionsCount(NULL,&w);
+ expect(InvalidParameter, stat);
+
+ stat = GdipImageGetFrameDimensionsCount((GpImage*)bm,NULL);
+ expect(InvalidParameter, stat);
+
+ w = -1;
+ stat = GdipImageGetFrameDimensionsCount((GpImage*)bm,&w);
+ expect(Ok, stat);
+ expect(1, w);
+ GdipDisposeImage((GpImage*)bm);
+}
+
static void test_LoadingImages(void)
{
GpStatus stat;
@@ -466,6 +492,7 @@ START_TEST(image)
test_Scan0();
test_GetImageDimension();
+ test_GdipImageGetFrameDimensionsCount();
test_LoadingImages();
test_SavingImages();
test_encoders();
diff --git a/include/gdiplusflat.h b/include/gdiplusflat.h
index 58659fe..07c60f1 100644
--- a/include/gdiplusflat.h
+++ b/include/gdiplusflat.h
@@ -318,6 +318,7 @@ GpStatus WINGDIPAPI GdipGetMetafileHeaderFromStream(IStream*,MetafileHeader*);
GpStatus WINGDIPAPI GdipGetMetafileHeaderFromWmf(HMETAFILE,GDIPCONST WmfPlaceableFileHeader*,MetafileHeader*);
GpStatus WINGDIPAPI GdipGetPropertyItemSize(GpImage*,PROPID,UINT*);
GpStatus WINGDIPAPI GdipImageGetFrameCount(GpImage*,GDIPCONST GUID*,UINT*);
+GpStatus WINGDIPAPI GdipImageGetFrameDimensionsCount(GpImage*,UINT*);
GpStatus WINGDIPAPI GdipImageGetFrameDimensionsList(GpImage*,GUID*,UINT);
GpStatus WINGDIPAPI GdipImageSelectActiveFrame(GpImage*,GDIPCONST GUID*,UINT);
GpStatus WINGDIPAPI GdipLoadImageFromFile(GDIPCONST WCHAR*,GpImage**);
More information about the wine-cvs
mailing list