summaryrefslogtreecommitdiff
path: root/vcl
diff options
context:
space:
mode:
authorCaolán McNamara <caolanm@redhat.com>2015-09-28 12:10:31 +0100
committerCaolán McNamara <caolanm@redhat.com>2015-09-28 12:11:10 +0100
commitc526652a2095b070c485566058b505467c38d600 (patch)
tree18f61b3d36945af8ea1ee45593740a395373a800 /vcl
parentd5b87dcce119f0cd69e65873833d98ed1660f9d0 (diff)
Resolves: tdf#94458 wrong alpha values for 32bit dibs
Change-Id: I02a86b0cdae2433d46f6fac361efa43f45be187f
Diffstat (limited to 'vcl')
-rw-r--r--vcl/headless/svpbmp.cxx16
1 files changed, 12 insertions, 4 deletions
diff --git a/vcl/headless/svpbmp.cxx b/vcl/headless/svpbmp.cxx
index 30f6a56323fa..d0fdf923c0ab 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: