From 70ef1e192dbb42c7da04862535d3b18840dba038 Mon Sep 17 00:00:00 2001 From: Paul Cornett Date: Tue, 25 Feb 2014 17:38:34 +0000 Subject: [PATCH] Index: src/generic/graphicc.cpp =================================================================== --- src/generic/graphicc.cpp (revision 76007) +++ src/generic/graphicc.cpp (working copy) @@ -1569,12 +1569,13 @@ { const wxUint32 argb = *src++; - *alpha++ = (argb & 0xff000000) >> 24; + const unsigned char a = argb >> 24; + *alpha++ = a; // Copy the RGB data undoing the pre-multiplication. - *dst++ = Unpremultiply(*alpha, (argb & 0x00ff0000) >> 16); - *dst++ = Unpremultiply(*alpha, (argb & 0x0000ff00) >> 8); - *dst++ = Unpremultiply(*alpha, (argb & 0x000000ff)); + *dst++ = Unpremultiply(a, argb >> 16); + *dst++ = Unpremultiply(a, argb >> 8); + *dst++ = Unpremultiply(a, argb); } src = rowStart + stride; git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@76015 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775 --- src/generic/graphicc.cpp | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/src/generic/graphicc.cpp b/src/generic/graphicc.cpp index c89d338f51..767bd09ec6 100644 --- a/src/generic/graphicc.cpp +++ b/src/generic/graphicc.cpp @@ -1569,12 +1569,13 @@ wxImage wxCairoBitmapData::ConvertToImage() const { const wxUint32 argb = *src++; - *alpha++ = (argb & 0xff000000) >> 24; + const unsigned char a = argb >> 24; + *alpha++ = a; // Copy the RGB data undoing the pre-multiplication. - *dst++ = Unpremultiply(*alpha, (argb & 0x00ff0000) >> 16); - *dst++ = Unpremultiply(*alpha, (argb & 0x0000ff00) >> 8); - *dst++ = Unpremultiply(*alpha, (argb & 0x000000ff)); + *dst++ = Unpremultiply(a, argb >> 16); + *dst++ = Unpremultiply(a, argb >> 8); + *dst++ = Unpremultiply(a, argb); } src = rowStart + stride;