windowscodecs: Implement IWICColorContext::InitializeFromExifColorSpace.
This commit is contained in:
parent
7712c0e8cd
commit
a7f0c14bef
|
@ -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;
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue