[Libreoffice-commits] core.git: vcl/headless

Caolán McNamara caolanm at redhat.com
Mon Sep 28 04:11:30 PDT 2015


 vcl/headless/svpbmp.cxx |   16 ++++++++++++----
 1 file changed, 12 insertions(+), 4 deletions(-)

New commits:
commit c526652a2095b070c485566058b505467c38d600
Author: Caolán McNamara <caolanm at redhat.com>
Date:   Mon Sep 28 12:10:31 2015 +0100

    Resolves: tdf#94458 wrong alpha values for 32bit dibs
    
    Change-Id: I02a86b0cdae2433d46f6fac361efa43f45be187f

diff --git a/vcl/headless/svpbmp.cxx b/vcl/headless/svpbmp.cxx
index 30f6a56..d0fdf92 100644
--- a/vcl/headless/svpbmp.cxx
+++ b/vcl/headless/svpbmp.cxx
@@ -228,15 +228,17 @@ BitmapBuffer* SvpSalBitmap::AcquireBuffer( BitmapAccessMode )
                 ColorMaskElement aRedMask(0x0000ff00);
                 ColorMaskElement aGreenMask(0x00ff0000);
                 ColorMaskElement aBlueMask(0xff000000);
+                sal_uInt32 nAlphaChannel(0x000000ff);
 #else
                 ColorMaskElement aRedMask(0x00ff0000);
                 ColorMaskElement aGreenMask(0x0000ff00);
                 ColorMaskElement aBlueMask(0x000000ff);
+                sal_uInt32 nAlphaChannel(0xff000000);
 #endif
                 aBlueMask.CalcMaskShift();
                 aRedMask.CalcMaskShift();
                 aGreenMask.CalcMaskShift();
-                pBuf->maColorMask = ColorMask(aRedMask, aGreenMask, aBlueMask, 0xff000000);
+                pBuf->maColorMask = ColorMask(aRedMask, aGreenMask, aBlueMask, nAlphaChannel);
                 break;
             }
             case Format::ThirtyTwoBitTcMaskARGB:
@@ -247,15 +249,17 @@ BitmapBuffer* SvpSalBitmap::AcquireBuffer( BitmapAccessMode )
                 ColorMaskElement aRedMask(0x00ff0000);
                 ColorMaskElement aGreenMask(0x0000ff00);
                 ColorMaskElement aBlueMask(0x000000ff);
+                sal_uInt32 nAlphaChannel(0xff000000);
 #else
                 ColorMaskElement aRedMask(0x0000ff00);
                 ColorMaskElement aGreenMask(0x00ff0000);
                 ColorMaskElement aBlueMask(0xff000000);
+                sal_uInt32 nAlphaChannel(0x000000ff);
 #endif
                 aBlueMask.CalcMaskShift();
                 aRedMask.CalcMaskShift();
                 aGreenMask.CalcMaskShift();
-                pBuf->maColorMask = ColorMask(aRedMask, aGreenMask, aBlueMask, 0xff000000 );
+                pBuf->maColorMask = ColorMask(aRedMask, aGreenMask, aBlueMask, nAlphaChannel);
                 break;
             }
             case Format::ThirtyTwoBitTcMaskABGR:
@@ -266,15 +270,17 @@ BitmapBuffer* SvpSalBitmap::AcquireBuffer( BitmapAccessMode )
                 ColorMaskElement aRedMask(0x000000ff);
                 ColorMaskElement aGreenMask(0x0000ff00);
                 ColorMaskElement aBlueMask(0x00ff0000);
+                sal_uInt32 nAlphaChannel(0xff000000);
 #else
                 ColorMaskElement aRedMask(0xff000000);
                 ColorMaskElement aGreenMask(0x00ff0000);
                 ColorMaskElement aBlueMask(0x0000ff00);
+                sal_uInt32 nAlphaChannel(0x000000ff);
 #endif
                 aBlueMask.CalcMaskShift();
                 aRedMask.CalcMaskShift();
                 aGreenMask.CalcMaskShift();
-                pBuf->maColorMask = ColorMask(aRedMask, aGreenMask, aBlueMask, 0xff000000);
+                pBuf->maColorMask = ColorMask(aRedMask, aGreenMask, aBlueMask, nAlphaChannel);
                 break;
             }
             case Format::ThirtyTwoBitTcMaskRGBA:
@@ -285,15 +291,17 @@ BitmapBuffer* SvpSalBitmap::AcquireBuffer( BitmapAccessMode )
                 ColorMaskElement aRedMask(0xff000000);
                 ColorMaskElement aGreenMask(0x00ff0000);
                 ColorMaskElement aBlueMask(0x0000ff00);
+                sal_uInt32 nAlphaChannel(0x000000ff);
 #else
                 ColorMaskElement aRedMask(0x000000ff);
                 ColorMaskElement aGreenMask(0x0000ff00);
                 ColorMaskElement aBlueMask(0x00ff0000);
+                sal_uInt32 nAlphaChannel(0xff000000);
 #endif
                 aBlueMask.CalcMaskShift();
                 aRedMask.CalcMaskShift();
                 aGreenMask.CalcMaskShift();
-                pBuf->maColorMask = ColorMask(aRedMask, aGreenMask, aBlueMask, 0x000000ff);
+                pBuf->maColorMask = ColorMask(aRedMask, aGreenMask, aBlueMask, nAlphaChannel);
                 break;
             }
             default:


More information about the Libreoffice-commits mailing list