Module: wine Branch: master Commit: 3cf9d94999cc9012cf46f27299a1b5a0968c34b1 URL: http://source.winehq.org/git/wine.git/?a=commit;h=3cf9d94999cc9012cf46f27299...
Author: Vincent Povirk vincent@codeweavers.com Date: Thu Jul 2 17:47:19 2009 -0500
windowscodecs: Implement HasAlpha for palettes.
---
dlls/windowscodecs/palette.c | 19 +++++++++++++++++-- 1 files changed, 17 insertions(+), 2 deletions(-)
diff --git a/dlls/windowscodecs/palette.c b/dlls/windowscodecs/palette.c index ccf1176..842d3b5 100644 --- a/dlls/windowscodecs/palette.c +++ b/dlls/windowscodecs/palette.c @@ -225,8 +225,23 @@ static HRESULT WINAPI PaletteImpl_IsGrayscale(IWICPalette *iface, BOOL *pfIsGray
static HRESULT WINAPI PaletteImpl_HasAlpha(IWICPalette *iface, BOOL *pfHasAlpha) { - FIXME("(%p,%p): stub\n", iface, pfHasAlpha); - return E_NOTIMPL; + PaletteImpl *This = (PaletteImpl*)iface; + int i; + + TRACE("(%p,%p)\n", iface, pfHasAlpha); + + if (!pfHasAlpha) return E_INVALIDARG; + + *pfHasAlpha = FALSE; + + for (i=0; i<This->count; i++) + if ((This->colors[i]&0xff000000) != 0xff000000) + { + *pfHasAlpha = TRUE; + break; + } + + return S_OK; }
static const IWICPaletteVtbl PaletteImpl_Vtbl = {