Commit 4c5486fe authored by Evan Stade's avatar Evan Stade Committed by Alexandre Julliard

gdiplus: Implemented GdipLoadImageFromStreamICM.

parent 7b601148
......@@ -18,6 +18,9 @@
#include "windef.h"
#include "wingdi.h"
#include "objbase.h"
#include "gdiplus.h"
#include "gdiplus_private.h"
......
......@@ -22,6 +22,8 @@
#include "winbase.h"
#include "wingdi.h"
#include "objbase.h"
#include "gdiplus.h"
#include "gdiplus_private.h"
#include "wine/debug.h"
......
......@@ -25,6 +25,8 @@
#include "wine/debug.h"
#include "wingdi.h"
#include "objbase.h"
#include "gdiplus.h"
#include "gdiplus_private.h"
......
......@@ -24,6 +24,9 @@
#include "winbase.h"
#include "winuser.h"
#include "wingdi.h"
#include "objbase.h"
#include "gdiplus.h"
#include "gdiplus_private.h"
#include "wine/debug.h"
......
......@@ -20,10 +20,12 @@
#include "windef.h"
#include "winbase.h"
#include "winuser.h"
#include "wingdi.h"
#define COBJMACROS
#include "objbase.h"
#include "olectl.h"
#include "gdiplus.h"
#include "gdiplus_private.h"
......@@ -172,15 +174,24 @@ GpStatus WINGDIPAPI GdipImageGetFrameCount(GpImage *image,
return NotImplemented;
}
/* FIXME: no ICM */
GpStatus WINGDIPAPI GdipLoadImageFromStreamICM(IStream* stream, GpImage **image)
{
static int calls;
if(!stream || !image)
return InvalidParameter;
if(!(calls++))
FIXME("not implemented\n");
*image = GdipAlloc(sizeof(GpImage));
if(!*image) return OutOfMemory;
return NotImplemented;
if(OleLoadPicture(stream, 0, FALSE, &IID_IPicture,
(LPVOID*) &((*image)->picture)) != S_OK){
TRACE("Could not load picture\n");
GdipFree(*image);
return GenericError;
}
/* FIXME: use IPicture_get_Type to get image type */
(*image)->type = ImageTypeUnknown;
return Ok;
}
......@@ -19,6 +19,8 @@
#include "windef.h"
#include "wingdi.h"
#include "objbase.h"
#include "gdiplus.h"
#include "gdiplus_private.h"
#include "wine/debug.h"
......
......@@ -23,6 +23,8 @@
#include "winbase.h"
#include "wingdi.h"
#include "objbase.h"
#include "gdiplus.h"
#include "gdiplus_private.h"
......
......@@ -22,6 +22,8 @@
#include "winbase.h"
#include "wingdi.h"
#include "objbase.h"
#include "gdiplus.h"
#include "gdiplus_private.h"
......
......@@ -21,6 +21,9 @@
#include "windef.h"
#include "winbase.h"
#include "wingdi.h"
#include "objbase.h"
#include "gdiplus.h"
#include "gdiplus_private.h"
#include "wine/debug.h"
......
......@@ -148,6 +148,7 @@ GpStatus WINGDIPAPI GdipGetImageVerticalResolution(GpImage*,REAL*);
GpStatus WINGDIPAPI GdipGetImageWidth(GpImage*,UINT*);
GpStatus WINGDIPAPI GdipGetMetafileHeaderFromMetafile(GpMetafile*,MetafileHeader*);
GpStatus WINGDIPAPI GdipImageGetFrameCount(GpImage*,GDIPCONST GUID*,UINT*);
GpStatus WINGDIPAPI GdipLoadImageFromStreamICM(IStream*,GpImage**);
GpStatus WINGDIPAPI GdipCreateImageAttributes(GpImageAttributes**);
GpStatus WINGDIPAPI GdipDisposeImageAttributes(GpImageAttributes*);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment