windowscodecs: Implement IWICColorContext::InitializeFromExifColorSpace.

This commit is contained in:
Hans Leidekker 2012-11-15 14:08:21 +01:00 committed by Alexandre Julliard
parent 7712c0e8cd
commit a7f0c14bef
1 changed files with 12 additions and 2 deletions

View File

@ -39,6 +39,7 @@ typedef struct ColorContext {
WICColorContextType type; WICColorContextType type;
BYTE *profile; BYTE *profile;
UINT profile_len; UINT profile_len;
UINT exif_color_space;
} ColorContext; } ColorContext;
static inline ColorContext *impl_from_IWICColorContext(IWICColorContext *iface) static inline ColorContext *impl_from_IWICColorContext(IWICColorContext *iface)
@ -125,8 +126,16 @@ static HRESULT WINAPI ColorContext_InitializeFromMemory(IWICColorContext *iface,
static HRESULT WINAPI ColorContext_InitializeFromExifColorSpace(IWICColorContext *iface, static HRESULT WINAPI ColorContext_InitializeFromExifColorSpace(IWICColorContext *iface,
UINT value) UINT value)
{ {
FIXME("(%p,%u)\n", iface, value); ColorContext *This = impl_from_IWICColorContext(iface);
return E_NOTIMPL; TRACE("(%p,%u)\n", iface, value);
if (This->type != WICColorContextUninitialized && This->type != WICColorContextExifColorSpace)
return WINCODEC_ERR_WRONGSTATE;
This->exif_color_space = value;
This->type = WICColorContextExifColorSpace;
return S_OK;
} }
static HRESULT WINAPI ColorContext_GetType(IWICColorContext *iface, static HRESULT WINAPI ColorContext_GetType(IWICColorContext *iface,
@ -177,6 +186,7 @@ HRESULT ColorContext_Create(IWICColorContext **colorcontext)
This->type = 0; This->type = 0;
This->profile = NULL; This->profile = NULL;
This->profile_len = 0; This->profile_len = 0;
This->exif_color_space = ~0u;
*colorcontext = &This->IWICColorContext_iface; *colorcontext = &This->IWICColorContext_iface;