From c181e510c5f5e74f1f6824b64637849aace9ae63 Mon Sep 17 00:00:00 2001 From: Noel Grandin Date: Thu, 7 Jan 2021 09:46:07 +0200 Subject: convert internal bitmap formats transparency->alpha MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Image formats and graphics APIs use alpha, not transparency, so change our internal formats and data structures to work directly with alpha, so we don't need to modify data before we push it to graphics APIs. Change-Id: I537f77f79e83876be11d787901df42710d190842 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/108919 Tested-by: Jenkins Reviewed-by: Mike Kaganski Reviewed-by: Luboš Luňák Reviewed-by: Noel Grandin --- canvas/source/directx/dx_canvasbitmap.cxx | 2 +- canvas/source/directx/dx_vcltools.cxx | 18 +++--------------- canvas/source/vcl/canvasbitmaphelper.cxx | 2 +- 3 files changed, 5 insertions(+), 17 deletions(-) (limited to 'canvas') diff --git a/canvas/source/directx/dx_canvasbitmap.cxx b/canvas/source/directx/dx_canvasbitmap.cxx index adc4b741a4c3..dba32d220434 100644 --- a/canvas/source/directx/dx_canvasbitmap.cxx +++ b/canvas/source/directx/dx_canvasbitmap.cxx @@ -218,7 +218,7 @@ namespace dxcanvas sal_uInt8* pOutBits=pAlphaBits.get()+y*nScanWidth; for( sal_Int32 x=0; x(*pAScan++); + *pCurrOutput++ = static_cast(*pAScan++); } } break; @@ -235,11 +231,7 @@ namespace dxcanvas::tools *pCurrOutput++ = *pScan++; *pCurrOutput++ = *pScan++; *pCurrOutput++ = *pScan++; - - // out notion of alpha is - // different from the rest - // of the world's - *pCurrOutput++ = 255 - static_cast(*pAScan++); + *pCurrOutput++ = static_cast(*pAScan++); } } break; @@ -263,11 +255,7 @@ namespace dxcanvas::tools *pCurrOutput++ = aCol.GetBlue(); *pCurrOutput++ = aCol.GetGreen(); *pCurrOutput++ = aCol.GetRed(); - - // out notion of alpha is - // different from the rest - // of the world's - *pCurrOutput++ = 255 - static_cast(*pAScan++); + *pCurrOutput++ = static_cast(*pAScan++); } } break; diff --git a/canvas/source/vcl/canvasbitmaphelper.cxx b/canvas/source/vcl/canvasbitmaphelper.cxx index dd1898486e8a..2da1fe0ab0ad 100644 --- a/canvas/source/vcl/canvasbitmaphelper.cxx +++ b/canvas/source/vcl/canvasbitmaphelper.cxx @@ -148,7 +148,7 @@ namespace vclcanvas pRes[ 0 ] = aColor.GetRed(); pRes[ 1 ] = aColor.GetGreen(); pRes[ 2 ] = aColor.GetBlue(); - pRes[ 3 ] = 255 - aColor.GetAlpha(); + pRes[ 3 ] = aColor.GetAlpha(); return aRes; } -- cgit