From 4513fb3818c6a01e169998e039cebc6edea6669a Mon Sep 17 00:00:00 2001 From: =?utf8?q?Petr=20Dlouh=C3=BD?= Date: Thu, 19 Jun 2008 10:38:09 +0200 Subject: [PATCH] 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 deletion(-) diff --git a/dlls/gdiplus/gdiplus.spec b/dlls/gdiplus/gdiplus.spec index 23346fc02b..8d7c8921e4 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 f6dffcfad8..330e54bfb0 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 a3e76762f0..686fe547fb 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 58659fedb2..07c60f1c95 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**); -- 2.32.0.93.g670b81a890