gdiplus: Implemented GdipLoadImageFromStreamICM.

This commit is contained in:
Evan Stade 2007-07-31 19:15:48 -07:00 committed by Alexandre Julliard
parent 7b601148d5
commit 4c5486fe92
10 changed files with 36 additions and 5 deletions

View File

@ -18,6 +18,9 @@
#include "windef.h" #include "windef.h"
#include "wingdi.h" #include "wingdi.h"
#include "objbase.h"
#include "gdiplus.h" #include "gdiplus.h"
#include "gdiplus_private.h" #include "gdiplus_private.h"

View File

@ -22,6 +22,8 @@
#include "winbase.h" #include "winbase.h"
#include "wingdi.h" #include "wingdi.h"
#include "objbase.h"
#include "gdiplus.h" #include "gdiplus.h"
#include "gdiplus_private.h" #include "gdiplus_private.h"
#include "wine/debug.h" #include "wine/debug.h"

View File

@ -25,6 +25,8 @@
#include "wine/debug.h" #include "wine/debug.h"
#include "wingdi.h" #include "wingdi.h"
#include "objbase.h"
#include "gdiplus.h" #include "gdiplus.h"
#include "gdiplus_private.h" #include "gdiplus_private.h"

View File

@ -24,6 +24,9 @@
#include "winbase.h" #include "winbase.h"
#include "winuser.h" #include "winuser.h"
#include "wingdi.h" #include "wingdi.h"
#include "objbase.h"
#include "gdiplus.h" #include "gdiplus.h"
#include "gdiplus_private.h" #include "gdiplus_private.h"
#include "wine/debug.h" #include "wine/debug.h"

View File

@ -20,10 +20,12 @@
#include "windef.h" #include "windef.h"
#include "winbase.h" #include "winbase.h"
#include "winuser.h"
#include "wingdi.h" #include "wingdi.h"
#define COBJMACROS #define COBJMACROS
#include "objbase.h" #include "objbase.h"
#include "olectl.h"
#include "gdiplus.h" #include "gdiplus.h"
#include "gdiplus_private.h" #include "gdiplus_private.h"
@ -172,15 +174,24 @@ GpStatus WINGDIPAPI GdipImageGetFrameCount(GpImage *image,
return NotImplemented; return NotImplemented;
} }
/* FIXME: no ICM */
GpStatus WINGDIPAPI GdipLoadImageFromStreamICM(IStream* stream, GpImage **image) GpStatus WINGDIPAPI GdipLoadImageFromStreamICM(IStream* stream, GpImage **image)
{ {
static int calls;
if(!stream || !image) if(!stream || !image)
return InvalidParameter; return InvalidParameter;
if(!(calls++)) *image = GdipAlloc(sizeof(GpImage));
FIXME("not implemented\n"); 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;
} }

View File

@ -19,6 +19,8 @@
#include "windef.h" #include "windef.h"
#include "wingdi.h" #include "wingdi.h"
#include "objbase.h"
#include "gdiplus.h" #include "gdiplus.h"
#include "gdiplus_private.h" #include "gdiplus_private.h"
#include "wine/debug.h" #include "wine/debug.h"

View File

@ -23,6 +23,8 @@
#include "winbase.h" #include "winbase.h"
#include "wingdi.h" #include "wingdi.h"
#include "objbase.h"
#include "gdiplus.h" #include "gdiplus.h"
#include "gdiplus_private.h" #include "gdiplus_private.h"

View File

@ -22,6 +22,8 @@
#include "winbase.h" #include "winbase.h"
#include "wingdi.h" #include "wingdi.h"
#include "objbase.h"
#include "gdiplus.h" #include "gdiplus.h"
#include "gdiplus_private.h" #include "gdiplus_private.h"

View File

@ -21,6 +21,9 @@
#include "windef.h" #include "windef.h"
#include "winbase.h" #include "winbase.h"
#include "wingdi.h" #include "wingdi.h"
#include "objbase.h"
#include "gdiplus.h" #include "gdiplus.h"
#include "gdiplus_private.h" #include "gdiplus_private.h"
#include "wine/debug.h" #include "wine/debug.h"

View File

@ -148,6 +148,7 @@ GpStatus WINGDIPAPI GdipGetImageVerticalResolution(GpImage*,REAL*);
GpStatus WINGDIPAPI GdipGetImageWidth(GpImage*,UINT*); GpStatus WINGDIPAPI GdipGetImageWidth(GpImage*,UINT*);
GpStatus WINGDIPAPI GdipGetMetafileHeaderFromMetafile(GpMetafile*,MetafileHeader*); GpStatus WINGDIPAPI GdipGetMetafileHeaderFromMetafile(GpMetafile*,MetafileHeader*);
GpStatus WINGDIPAPI GdipImageGetFrameCount(GpImage*,GDIPCONST GUID*,UINT*); GpStatus WINGDIPAPI GdipImageGetFrameCount(GpImage*,GDIPCONST GUID*,UINT*);
GpStatus WINGDIPAPI GdipLoadImageFromStreamICM(IStream*,GpImage**);
GpStatus WINGDIPAPI GdipCreateImageAttributes(GpImageAttributes**); GpStatus WINGDIPAPI GdipCreateImageAttributes(GpImageAttributes**);
GpStatus WINGDIPAPI GdipDisposeImageAttributes(GpImageAttributes*); GpStatus WINGDIPAPI GdipDisposeImageAttributes(GpImageAttributes*);