From 3cf9d94999cc9012cf46f27299a1b5a0968c34b1 Mon Sep 17 00:00:00 2001 From: Vincent Povirk Date: Thu, 2 Jul 2009 17:47:19 -0500 Subject: [PATCH] windowscodecs: Implement HasAlpha for palettes. --- dlls/windowscodecs/palette.c | 19 +++++++++++++++++-- 1 file changed, 17 insertions(+), 2 deletions(-) diff --git a/dlls/windowscodecs/palette.c b/dlls/windowscodecs/palette.c index ccf1176aafa..842d3b51c30 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; icount; i++) + if ((This->colors[i]&0xff000000) != 0xff000000) + { + *pfHasAlpha = TRUE; + break; + } + + return S_OK; } static const IWICPaletteVtbl PaletteImpl_Vtbl = {