Module: wine Branch: master Commit: 484abd472e54f4e2a0a7beaf7d9ad46ea7a8285a URL: http://source.winehq.org/git/wine.git/?a=commit;h=484abd472e54f4e2a0a7beaf7d...
Author: Nathan Beckmann nathan.beckmann@gmail.com Date: Sun Feb 24 07:41:29 2008 -0800
gdiplus: Implement GdipLoadImageFromFile.
---
dlls/gdiplus/gdiplus.spec | 2 +- dlls/gdiplus/image.c | 21 +++++++++++++++++++++ dlls/gdiplus/tests/image.c | 6 ++++++ 3 files changed, 28 insertions(+), 1 deletions(-)
diff --git a/dlls/gdiplus/gdiplus.spec b/dlls/gdiplus/gdiplus.spec index 2118a3d..b4f314a 100644 --- a/dlls/gdiplus/gdiplus.spec +++ b/dlls/gdiplus/gdiplus.spec @@ -435,7 +435,7 @@ @ stub GdipIsVisibleRegionPointI @ stub GdipIsVisibleRegionRect @ stub GdipIsVisibleRegionRectI -@ stub GdipLoadImageFromFile +@ stdcall GdipLoadImageFromFile(wstr ptr) @ stub GdipLoadImageFromFileICM @ stdcall GdipLoadImageFromStream(ptr ptr) @ stdcall GdipLoadImageFromStreamICM(ptr ptr) diff --git a/dlls/gdiplus/image.c b/dlls/gdiplus/image.c index 82b0858..5871209 100644 --- a/dlls/gdiplus/image.c +++ b/dlls/gdiplus/image.c @@ -697,6 +697,27 @@ GpStatus WINGDIPAPI GdipImageSelectActiveFrame(GpImage *image, return Ok; }
+GpStatus WINGDIPAPI GdipLoadImageFromFile(GDIPCONST WCHAR* filename, + GpImage **image) +{ + GpStatus stat; + IStream *stream; + + if (!filename || !image) + return InvalidParameter; + + stat = GdipCreateStreamOnFile(filename, GENERIC_READ, &stream); + + if (stat != Ok) + return stat; + + stat = GdipLoadImageFromStream(stream, image); + + IStream_Release(stream); + + return stat; +} + GpStatus WINGDIPAPI GdipLoadImageFromStream(IStream* stream, GpImage **image) { IPicture *pic; diff --git a/dlls/gdiplus/tests/image.c b/dlls/gdiplus/tests/image.c index 7228339..5ff164d 100644 --- a/dlls/gdiplus/tests/image.c +++ b/dlls/gdiplus/tests/image.c @@ -114,6 +114,12 @@ static void test_LoadingImages(void)
stat = GdipCreateBitmapFromFile(0, (GpBitmap**)0xdeadbeef); expect(InvalidParameter, stat); + + stat = GdipLoadImageFromFile(0, 0); + expect(InvalidParameter, stat); + + stat = GdipLoadImageFromFile(0, (GpImage**)0xdeadbeef); + expect(InvalidParameter, stat); }
START_TEST(image)