From 8c9219f8f7f4abfd021b40695e33308f291d49a2 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 files changed, 17 insertions(+), 2 deletions(-) diff --git a/dlls/windowscodecs/palette.c b/dlls/windowscodecs/palette.c index 90c98bf..7c90f4e 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 = { -- 1.5.4.3