Vincent Povirk : windowscodecs: Implement HasAlpha for palettes.

Alexandre Julliard julliard at winehq.org
Fri Jul 3 09:31:12 CDT 2009


Module: wine
Branch: master
Commit: 3cf9d94999cc9012cf46f27299a1b5a0968c34b1
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=3cf9d94999cc9012cf46f27299a1b5a0968c34b1

Author: Vincent Povirk <vincent at 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 = {




More information about the wine-cvs mailing list