vcl/source/gdi/bmpacc2.cxx | 23 ++++++++++++----------- 1 file changed, 12 insertions(+), 11 deletions(-)
New commits: commit 7c06f84cdb2267068fba7c7e193f882cbe0b096f Author: Michael Meeks <michael.me...@collabora.com> AuthorDate: Wed Jan 19 11:37:17 2022 +0000 Commit: Michael Meeks <michael.me...@collabora.com> CommitDate: Fri Jan 28 11:11:27 2022 +0100 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 <jenkinscollaboraoff...@gmail.com> Reviewed-by: Dennis Francis <dennis.fran...@collabora.com> Reviewed-by: Luboš Luňák <l.lu...@collabora.com> 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)