Kaydet (Commit) c526652a authored tarafından Caolán McNamara's avatar Caolán McNamara

Resolves: tdf#94458 wrong alpha values for 32bit dibs

Change-Id: I02a86b0cdae2433d46f6fac361efa43f45be187f
üst d5b87dcc
...@@ -228,15 +228,17 @@ BitmapBuffer* SvpSalBitmap::AcquireBuffer( BitmapAccessMode ) ...@@ -228,15 +228,17 @@ BitmapBuffer* SvpSalBitmap::AcquireBuffer( BitmapAccessMode )
ColorMaskElement aRedMask(0x0000ff00); ColorMaskElement aRedMask(0x0000ff00);
ColorMaskElement aGreenMask(0x00ff0000); ColorMaskElement aGreenMask(0x00ff0000);
ColorMaskElement aBlueMask(0xff000000); ColorMaskElement aBlueMask(0xff000000);
sal_uInt32 nAlphaChannel(0x000000ff);
#else #else
ColorMaskElement aRedMask(0x00ff0000); ColorMaskElement aRedMask(0x00ff0000);
ColorMaskElement aGreenMask(0x0000ff00); ColorMaskElement aGreenMask(0x0000ff00);
ColorMaskElement aBlueMask(0x000000ff); ColorMaskElement aBlueMask(0x000000ff);
sal_uInt32 nAlphaChannel(0xff000000);
#endif #endif
aBlueMask.CalcMaskShift(); aBlueMask.CalcMaskShift();
aRedMask.CalcMaskShift(); aRedMask.CalcMaskShift();
aGreenMask.CalcMaskShift(); aGreenMask.CalcMaskShift();
pBuf->maColorMask = ColorMask(aRedMask, aGreenMask, aBlueMask, 0xff000000); pBuf->maColorMask = ColorMask(aRedMask, aGreenMask, aBlueMask, nAlphaChannel);
break; break;
} }
case Format::ThirtyTwoBitTcMaskARGB: case Format::ThirtyTwoBitTcMaskARGB:
...@@ -247,15 +249,17 @@ BitmapBuffer* SvpSalBitmap::AcquireBuffer( BitmapAccessMode ) ...@@ -247,15 +249,17 @@ BitmapBuffer* SvpSalBitmap::AcquireBuffer( BitmapAccessMode )
ColorMaskElement aRedMask(0x00ff0000); ColorMaskElement aRedMask(0x00ff0000);
ColorMaskElement aGreenMask(0x0000ff00); ColorMaskElement aGreenMask(0x0000ff00);
ColorMaskElement aBlueMask(0x000000ff); ColorMaskElement aBlueMask(0x000000ff);
sal_uInt32 nAlphaChannel(0xff000000);
#else #else
ColorMaskElement aRedMask(0x0000ff00); ColorMaskElement aRedMask(0x0000ff00);
ColorMaskElement aGreenMask(0x00ff0000); ColorMaskElement aGreenMask(0x00ff0000);
ColorMaskElement aBlueMask(0xff000000); ColorMaskElement aBlueMask(0xff000000);
sal_uInt32 nAlphaChannel(0x000000ff);
#endif #endif
aBlueMask.CalcMaskShift(); aBlueMask.CalcMaskShift();
aRedMask.CalcMaskShift(); aRedMask.CalcMaskShift();
aGreenMask.CalcMaskShift(); aGreenMask.CalcMaskShift();
pBuf->maColorMask = ColorMask(aRedMask, aGreenMask, aBlueMask, 0xff000000 ); pBuf->maColorMask = ColorMask(aRedMask, aGreenMask, aBlueMask, nAlphaChannel);
break; break;
} }
case Format::ThirtyTwoBitTcMaskABGR: case Format::ThirtyTwoBitTcMaskABGR:
...@@ -266,15 +270,17 @@ BitmapBuffer* SvpSalBitmap::AcquireBuffer( BitmapAccessMode ) ...@@ -266,15 +270,17 @@ BitmapBuffer* SvpSalBitmap::AcquireBuffer( BitmapAccessMode )
ColorMaskElement aRedMask(0x000000ff); ColorMaskElement aRedMask(0x000000ff);
ColorMaskElement aGreenMask(0x0000ff00); ColorMaskElement aGreenMask(0x0000ff00);
ColorMaskElement aBlueMask(0x00ff0000); ColorMaskElement aBlueMask(0x00ff0000);
sal_uInt32 nAlphaChannel(0xff000000);
#else #else
ColorMaskElement aRedMask(0xff000000); ColorMaskElement aRedMask(0xff000000);
ColorMaskElement aGreenMask(0x00ff0000); ColorMaskElement aGreenMask(0x00ff0000);
ColorMaskElement aBlueMask(0x0000ff00); ColorMaskElement aBlueMask(0x0000ff00);
sal_uInt32 nAlphaChannel(0x000000ff);
#endif #endif
aBlueMask.CalcMaskShift(); aBlueMask.CalcMaskShift();
aRedMask.CalcMaskShift(); aRedMask.CalcMaskShift();
aGreenMask.CalcMaskShift(); aGreenMask.CalcMaskShift();
pBuf->maColorMask = ColorMask(aRedMask, aGreenMask, aBlueMask, 0xff000000); pBuf->maColorMask = ColorMask(aRedMask, aGreenMask, aBlueMask, nAlphaChannel);
break; break;
} }
case Format::ThirtyTwoBitTcMaskRGBA: case Format::ThirtyTwoBitTcMaskRGBA:
...@@ -285,15 +291,17 @@ BitmapBuffer* SvpSalBitmap::AcquireBuffer( BitmapAccessMode ) ...@@ -285,15 +291,17 @@ BitmapBuffer* SvpSalBitmap::AcquireBuffer( BitmapAccessMode )
ColorMaskElement aRedMask(0xff000000); ColorMaskElement aRedMask(0xff000000);
ColorMaskElement aGreenMask(0x00ff0000); ColorMaskElement aGreenMask(0x00ff0000);
ColorMaskElement aBlueMask(0x0000ff00); ColorMaskElement aBlueMask(0x0000ff00);
sal_uInt32 nAlphaChannel(0x000000ff);
#else #else
ColorMaskElement aRedMask(0x000000ff); ColorMaskElement aRedMask(0x000000ff);
ColorMaskElement aGreenMask(0x0000ff00); ColorMaskElement aGreenMask(0x0000ff00);
ColorMaskElement aBlueMask(0x00ff0000); ColorMaskElement aBlueMask(0x00ff0000);
sal_uInt32 nAlphaChannel(0xff000000);
#endif #endif
aBlueMask.CalcMaskShift(); aBlueMask.CalcMaskShift();
aRedMask.CalcMaskShift(); aRedMask.CalcMaskShift();
aGreenMask.CalcMaskShift(); aGreenMask.CalcMaskShift();
pBuf->maColorMask = ColorMask(aRedMask, aGreenMask, aBlueMask, 0x000000ff); pBuf->maColorMask = ColorMask(aRedMask, aGreenMask, aBlueMask, nAlphaChannel);
break; break;
} }
default: default:
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment