[2/4] gdiplus: GdipGetImageFlags simple stub with test (bug 12144)
Nikolay Sivov
bunglehead at gmail.com
Fri May 9 06:39:33 CDT 2008
Changelog:
- GdipGetImageFlags with tests (flags are not set yet, None flag used)
---
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 deletions(-)
diff --git a/dlls/gdiplus/gdiplus.spec b/dlls/gdiplus/gdiplus.spec
index ec3897a..905cff5 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 09ef83f..539254b 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 a89b6ea..fc4146f 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 dcb86fc..26aede0 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);
}
--
1.4.4.4
More information about the wine-patches
mailing list