diff options
author | Michael Meeks <michael.meeks@collabora.com> | 2022-01-19 11:37:17 +0000 |
---|---|---|
committer | Michael Meeks <michael.meeks@collabora.com> | 2022-01-28 11:11:27 +0100 |
commit | 7c06f84cdb2267068fba7c7e193f882cbe0b096f (patch) | |
tree | b92d381bfbd2b3165aedc8a7877f5e4ea660967c /vcl | |
parent | 109c8fe6d2ad01df46fb39bfc7bfca063fcb722e (diff) |
vcl: move Alpha through BitmapColor for various 32bit formats.
Change-Id: I891d263a3e7fff728a9118ac436164d4544c65ba
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/128607
Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com>
Reviewed-by: Dennis Francis <dennis.francis@collabora.com>
Reviewed-by: Luboš Luňák <l.lunak@collabora.com>
Diffstat (limited to 'vcl')
-rw-r--r-- | vcl/source/gdi/bmpacc2.cxx | 23 |
1 files changed, 12 insertions, 11 deletions
diff --git a/vcl/source/gdi/bmpacc2.cxx b/vcl/source/gdi/bmpacc2.cxx index 64dadadd5f8f..b9097c399b7f 100644 --- a/vcl/source/gdi/bmpacc2.cxx +++ b/vcl/source/gdi/bmpacc2.cxx @@ -19,7 +19,6 @@ #include <vcl/bitmapaccess.hxx> #include <vcl/BitmapTools.hxx> -#include <comphelper/lok.hxx> BitmapColor BitmapReadAccess::GetPixelForN1BitMsbPal(ConstScanline pScanline, tools::Long nX, const ColorMask&) { @@ -163,7 +162,8 @@ BitmapColor BitmapReadAccess::GetPixelForN32BitTcXbgr(ConstScanline pScanline, t { BitmapColor aBitmapColor; - pScanline = pScanline + ( nX << 2 ) + 1; + pScanline = pScanline + ( nX << 2 ); + aBitmapColor.SetAlpha( 0xFF - *pScanline++ ); aBitmapColor.SetBlue( *pScanline++ ); aBitmapColor.SetGreen( *pScanline++ ); aBitmapColor.SetRed( *pScanline ); @@ -185,7 +185,7 @@ void BitmapReadAccess::SetPixelForN32BitTcAbgr(Scanline pScanline, tools::Long n void BitmapReadAccess::SetPixelForN32BitTcXbgr(Scanline pScanline, tools::Long nX, const BitmapColor& rBitmapColor, const ColorMask&) { pScanline = pScanline + ( nX << 2 ); - *pScanline++ = 0xFF; + *pScanline++ = 0xFF - rBitmapColor.GetAlpha();; *pScanline++ = rBitmapColor.GetBlue(); *pScanline++ = rBitmapColor.GetGreen(); *pScanline = rBitmapColor.GetRed(); @@ -211,7 +211,8 @@ BitmapColor BitmapReadAccess::GetPixelForN32BitTcXrgb(ConstScanline pScanline, t { BitmapColor aBitmapColor; - pScanline = pScanline + ( nX << 2 ) + 1; + pScanline = pScanline + ( nX << 2 ); + aBitmapColor.SetAlpha( 0xFF - *pScanline++ ); aBitmapColor.SetRed( *pScanline++ ); aBitmapColor.SetGreen( *pScanline++ ); aBitmapColor.SetBlue( *pScanline ); @@ -233,7 +234,7 @@ void BitmapReadAccess::SetPixelForN32BitTcArgb(Scanline pScanline, tools::Long n void BitmapReadAccess::SetPixelForN32BitTcXrgb(Scanline pScanline, tools::Long nX, const BitmapColor& rBitmapColor, const ColorMask&) { pScanline = pScanline + ( nX << 2 ); - *pScanline++ = 0xFF; + *pScanline++ = 0xFF - rBitmapColor.GetAlpha(); *pScanline++ = rBitmapColor.GetRed(); *pScanline++ = rBitmapColor.GetGreen(); *pScanline = rBitmapColor.GetBlue(); @@ -262,9 +263,8 @@ BitmapColor BitmapReadAccess::GetPixelForN32BitTcBgrx(ConstScanline pScanline, t pScanline = pScanline + ( nX << 2 ); aBitmapColor.SetBlue( *pScanline++ ); aBitmapColor.SetGreen( *pScanline++ ); - aBitmapColor.SetRed( *pScanline ); - if (comphelper::LibreOfficeKit::isActive()) - aBitmapColor.SetAlpha(0xFF - *(++pScanline)); + aBitmapColor.SetRed( *pScanline++ ); + aBitmapColor.SetAlpha( 0xFF - *pScanline ); return aBitmapColor; } @@ -286,7 +286,7 @@ void BitmapReadAccess::SetPixelForN32BitTcBgrx(Scanline pScanline, tools::Long n *pScanline++ = rBitmapColor.GetBlue(); *pScanline++ = rBitmapColor.GetGreen(); *pScanline++ = rBitmapColor.GetRed(); - *pScanline = (comphelper::LibreOfficeKit::isActive()) ? 0xFF - rBitmapColor.GetAlpha() : 0xFF; + *pScanline = 0xFF - rBitmapColor.GetAlpha(); } BitmapColor BitmapReadAccess::GetPixelForN32BitTcRgba(ConstScanline pScanline, tools::Long nX, const ColorMask&) @@ -312,7 +312,8 @@ BitmapColor BitmapReadAccess::GetPixelForN32BitTcRgbx(ConstScanline pScanline, t pScanline = pScanline + ( nX << 2 ); aBitmapColor.SetRed( *pScanline++ ); aBitmapColor.SetGreen( *pScanline++ ); - aBitmapColor.SetBlue( *pScanline ); + aBitmapColor.SetBlue( *pScanline++ ); + aBitmapColor.SetAlpha( 0xFF - *pScanline ); return aBitmapColor; } @@ -334,7 +335,7 @@ void BitmapReadAccess::SetPixelForN32BitTcRgbx(Scanline pScanline, tools::Long n *pScanline++ = rBitmapColor.GetRed(); *pScanline++ = rBitmapColor.GetGreen(); *pScanline++ = rBitmapColor.GetBlue(); - *pScanline = 0xFF; + *pScanline = 0xFF - rBitmapColor.GetAlpha(); } BitmapColor BitmapReadAccess::GetPixelForN32BitTcMask(ConstScanline pScanline, tools::Long nX, const ColorMask& rMask) |