vcl/source/gdi/bmpacc2.cxx | 23 +++++++++++------------ 1 file changed, 11 insertions(+), 12 deletions(-)
New commits: commit fcf3961564ff672ea990159648ba86e68ec4fb41 Author: Luboš Luňák <l.lu...@collabora.com> AuthorDate: Thu Feb 3 12:27:46 2022 +0100 Commit: Andras Timar <andras.ti...@collabora.com> CommitDate: Thu Feb 3 15:33:39 2022 +0100 Revert "vcl: move Alpha through BitmapColor for various 32bit formats." This reverts commit 7c06f84cdb2267068fba7c7e193f882cbe0b096f. Reason for revert: Breaks color picker icons (T33230). Change-Id: I3a1b2ee5a5b1d482c5246b339cd8a9cc3ce11fe3 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/129343 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoff...@gmail.com> Reviewed-by: Andras Timar <andras.ti...@collabora.com> diff --git a/vcl/source/gdi/bmpacc2.cxx b/vcl/source/gdi/bmpacc2.cxx index b9097c399b7f..64dadadd5f8f 100644 --- a/vcl/source/gdi/bmpacc2.cxx +++ b/vcl/source/gdi/bmpacc2.cxx @@ -19,6 +19,7 @@ #include <vcl/bitmapaccess.hxx> #include <vcl/BitmapTools.hxx> +#include <comphelper/lok.hxx> BitmapColor BitmapReadAccess::GetPixelForN1BitMsbPal(ConstScanline pScanline, tools::Long nX, const ColorMask&) { @@ -162,8 +163,7 @@ BitmapColor BitmapReadAccess::GetPixelForN32BitTcXbgr(ConstScanline pScanline, t { BitmapColor aBitmapColor; - pScanline = pScanline + ( nX << 2 ); - aBitmapColor.SetAlpha( 0xFF - *pScanline++ ); + pScanline = pScanline + ( nX << 2 ) + 1; 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 - rBitmapColor.GetAlpha();; + *pScanline++ = 0xFF; *pScanline++ = rBitmapColor.GetBlue(); *pScanline++ = rBitmapColor.GetGreen(); *pScanline = rBitmapColor.GetRed(); @@ -211,8 +211,7 @@ BitmapColor BitmapReadAccess::GetPixelForN32BitTcXrgb(ConstScanline pScanline, t { BitmapColor aBitmapColor; - pScanline = pScanline + ( nX << 2 ); - aBitmapColor.SetAlpha( 0xFF - *pScanline++ ); + pScanline = pScanline + ( nX << 2 ) + 1; aBitmapColor.SetRed( *pScanline++ ); aBitmapColor.SetGreen( *pScanline++ ); aBitmapColor.SetBlue( *pScanline ); @@ -234,7 +233,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 - rBitmapColor.GetAlpha(); + *pScanline++ = 0xFF; *pScanline++ = rBitmapColor.GetRed(); *pScanline++ = rBitmapColor.GetGreen(); *pScanline = rBitmapColor.GetBlue(); @@ -263,8 +262,9 @@ BitmapColor BitmapReadAccess::GetPixelForN32BitTcBgrx(ConstScanline pScanline, t pScanline = pScanline + ( nX << 2 ); aBitmapColor.SetBlue( *pScanline++ ); aBitmapColor.SetGreen( *pScanline++ ); - aBitmapColor.SetRed( *pScanline++ ); - aBitmapColor.SetAlpha( 0xFF - *pScanline ); + aBitmapColor.SetRed( *pScanline ); + if (comphelper::LibreOfficeKit::isActive()) + 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 = 0xFF - rBitmapColor.GetAlpha(); + *pScanline = (comphelper::LibreOfficeKit::isActive()) ? 0xFF - rBitmapColor.GetAlpha() : 0xFF; } BitmapColor BitmapReadAccess::GetPixelForN32BitTcRgba(ConstScanline pScanline, tools::Long nX, const ColorMask&) @@ -312,8 +312,7 @@ BitmapColor BitmapReadAccess::GetPixelForN32BitTcRgbx(ConstScanline pScanline, t pScanline = pScanline + ( nX << 2 ); aBitmapColor.SetRed( *pScanline++ ); aBitmapColor.SetGreen( *pScanline++ ); - aBitmapColor.SetBlue( *pScanline++ ); - aBitmapColor.SetAlpha( 0xFF - *pScanline ); + aBitmapColor.SetBlue( *pScanline ); return aBitmapColor; } @@ -335,7 +334,7 @@ void BitmapReadAccess::SetPixelForN32BitTcRgbx(Scanline pScanline, tools::Long n *pScanline++ = rBitmapColor.GetRed(); *pScanline++ = rBitmapColor.GetGreen(); *pScanline++ = rBitmapColor.GetBlue(); - *pScanline = 0xFF - rBitmapColor.GetAlpha(); + *pScanline = 0xFF; } BitmapColor BitmapReadAccess::GetPixelForN32BitTcMask(ConstScanline pScanline, tools::Long nX, const ColorMask& rMask)