From 03b6c5e85f90b108281bfa4a2af5a2c1968cd4a5 Mon Sep 17 00:00:00 2001 From: Nikolay Sivov Date: Fri, 9 May 2008 16:39:43 +0400 Subject: [PATCH] gdiplus: GdipGetImageFlags simple stub with test. --- dlls/gdiplus/gdiplus.spec | 2 +- dlls/gdiplus/gdiplus_private.h | 1 + dlls/gdiplus/image.c | 12 ++++++++++++ dlls/gdiplus/tests/image.c | 19 +++++++++++++++++++ 4 files changed, 33 insertions(+), 1 deletion(-) diff --git a/dlls/gdiplus/gdiplus.spec b/dlls/gdiplus/gdiplus.spec index ec3897aede3..905cff58a1b 100644 --- a/dlls/gdiplus/gdiplus.spec +++ b/dlls/gdiplus/gdiplus.spec @@ -286,7 +286,7 @@ @ stdcall GdipGetImageDimension(ptr ptr ptr) @ stdcall GdipGetImageEncoders(long long ptr) @ stdcall GdipGetImageEncodersSize(ptr ptr) -@ stub GdipGetImageFlags +@ stdcall GdipGetImageFlags(ptr ptr) @ stdcall GdipGetImageGraphicsContext(ptr ptr) @ stdcall GdipGetImageHeight(ptr ptr) @ stdcall GdipGetImageHorizontalResolution(ptr ptr) diff --git a/dlls/gdiplus/gdiplus_private.h b/dlls/gdiplus/gdiplus_private.h index 09ef83fd53e..539254b5714 100644 --- a/dlls/gdiplus/gdiplus_private.h +++ b/dlls/gdiplus/gdiplus_private.h @@ -149,6 +149,7 @@ struct GpCustomLineCap{ struct GpImage{ IPicture* picture; ImageType type; + UINT flags; }; struct GpMetafile{ diff --git a/dlls/gdiplus/image.c b/dlls/gdiplus/image.c index a89b6ea0b7d..fc4146f23cd 100644 --- a/dlls/gdiplus/image.c +++ b/dlls/gdiplus/image.c @@ -384,6 +384,7 @@ GpStatus WINGDIPAPI GdipCreateBitmapFromScan0(INT width, INT height, INT stride, } (*bitmap)->image.type = ImageTypeBitmap; + (*bitmap)->image.flags = ImageFlagsNone; (*bitmap)->width = width; (*bitmap)->height = height; (*bitmap)->format = format; @@ -789,6 +790,7 @@ GpStatus WINGDIPAPI GdipLoadImageFromStream(IStream* stream, GpImage **image) } (*image)->picture = pic; + (*image)->flags = ImageFlagsNone; return Ok; } @@ -1108,3 +1110,13 @@ GpStatus WINGDIPAPI GdipSetEffectParameters(CGpEffect *effect, return NotImplemented; } + +GpStatus WINGDIPAPI GdipGetImageFlags(GpImage *image, UINT *flags) +{ + if(!image || !flags) + return InvalidParameter; + + *flags = image->flags; + + return Ok; +} diff --git a/dlls/gdiplus/tests/image.c b/dlls/gdiplus/tests/image.c index dcb86fc6c27..26aede02e3d 100644 --- a/dlls/gdiplus/tests/image.c +++ b/dlls/gdiplus/tests/image.c @@ -417,6 +417,24 @@ static void test_GdipCreateBitmapFromHBITMAP(void) GlobalFree(hbm); } +static void test_GdipGetImageFlags(void) +{ + GpImage *img; + GpStatus stat; + UINT flags; + + img = (GpImage*)0xdeadbeef; + + stat = GdipGetImageFlags(NULL, NULL); + expect(InvalidParameter, stat); + + stat = GdipGetImageFlags(NULL, &flags); + expect(InvalidParameter, stat); + + stat = GdipGetImageFlags(img, NULL); + expect(InvalidParameter, stat); +} + START_TEST(image) { struct GdiplusStartupInput gdiplusStartupInput; @@ -436,6 +454,7 @@ START_TEST(image) test_encoders(); test_LockBits(); test_GdipCreateBitmapFromHBITMAP(); + test_GdipGetImageFlags(); GdiplusShutdown(gdiplusToken); }