vcl/source/outdev/bitmap.cxx | 67 +++++++++---------------------------------- 1 file changed, 15 insertions(+), 52 deletions(-)
New commits: commit a2123f9441859b700d17378965870d1baabbac32 Author: Noel Grandin <noel.gran...@collabora.co.uk> AuthorDate: Tue Aug 29 13:39:33 2023 +0200 Commit: Noel Grandin <noel.gran...@collabora.co.uk> CommitDate: Tue Aug 29 14:50:54 2023 +0200 remove dead code in OutputDevice::BlendBitmap. This case will always be handled by the block inside if( GetBitCount() <= 8 ) just above. Has been this since initial import in commit 5120979b55c888d5090e91792616c57287929d85 Author: Kurt Zenker <k...@openoffice.org> Date: Mon Nov 6 13:49:09 2006 +0000 INTEGRATION: CWS vcl67 (1.31.16); FILE MERGED 2006/10/20 14:38:03 thb 1.31.16.3: #i70653# Handling the both-alphas-zero case properly now 2006/09/22 11:51:51 thb 1.31.16.2: #i10000# Fixed a warning 2006/09/22 11:42:05 thb 1.31.16.1: #i47518# Properly blending alpha bitmap into alpha vdev now. Change-Id: I1779b17d85685f4b3ecdbda4920b4417ad29452b Reviewed-on: https://gerrit.libreoffice.org/c/core/+/156245 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.gran...@collabora.co.uk> diff --git a/vcl/source/outdev/bitmap.cxx b/vcl/source/outdev/bitmap.cxx index ef11ad97b79f..3535e6fe5860 100644 --- a/vcl/source/outdev/bitmap.cxx +++ b/vcl/source/outdev/bitmap.cxx @@ -971,65 +971,28 @@ Bitmap OutputDevice::BlendBitmap( if( pP && pA && pB && !bFastBlend ) { - switch( pP->GetScanlineFormat() ) + for( nY = 0; nY < nDstHeight; nY++ ) { - case ScanlineFormat::N8BitPal: - { - for( nY = 0; nY < nDstHeight; nY++ ) - { - tools::Long nMapY = pMapY[ nY ]; - if ( bVMirr ) - { - nMapY = aBmpRect.Bottom() - nMapY; - } - Scanline pPScan = pP->GetScanline( nMapY ); - Scanline pAScan = pA->GetScanline( nMapY ); - Scanline pBScan = pB->GetScanline( nY ); - - for( nX = 0; nX < nDstWidth; nX++ ) - { - tools::Long nMapX = pMapX[ nX ]; - - if ( bHMirr ) - { - nMapX = aBmpRect.Right() - nMapX; - } - aDstCol = pB->GetPixelFromData( pBScan, nX ); - aDstCol.Merge( pP->GetPaletteColor( pPScan[ nMapX ] ), pAScan[ nMapX ] ); - pB->SetPixelOnData( pBScan, nX, aDstCol ); - } - } - } - break; + tools::Long nMapY = pMapY[ nY ]; - default: + if ( bVMirr ) + { + nMapY = aBmpRect.Bottom() - nMapY; + } + Scanline pAScan = pA->GetScanline( nMapY ); + Scanline pBScan = pB->GetScanline(nY); + for( nX = 0; nX < nDstWidth; nX++ ) { + tools::Long nMapX = pMapX[ nX ]; - for( nY = 0; nY < nDstHeight; nY++ ) + if ( bHMirr ) { - tools::Long nMapY = pMapY[ nY ]; - - if ( bVMirr ) - { - nMapY = aBmpRect.Bottom() - nMapY; - } - Scanline pAScan = pA->GetScanline( nMapY ); - Scanline pBScan = pB->GetScanline(nY); - for( nX = 0; nX < nDstWidth; nX++ ) - { - tools::Long nMapX = pMapX[ nX ]; - - if ( bHMirr ) - { - nMapX = aBmpRect.Right() - nMapX; - } - aDstCol = pB->GetPixelFromData( pBScan, nX ); - aDstCol.Merge( pP->GetColor( nMapY, nMapX ), pAScan[ nMapX ] ); - pB->SetPixelOnData( pBScan, nX, aDstCol ); - } + nMapX = aBmpRect.Right() - nMapX; } + aDstCol = pB->GetPixelFromData( pBScan, nX ); + aDstCol.Merge( pP->GetColor( nMapY, nMapX ), pAScan[ nMapX ] ); + pB->SetPixelOnData( pBScan, nX, aDstCol ); } - break; } }