include/vcl/BitmapTools.hxx       |    1 
 vcl/source/bitmap/BitmapTools.cxx |  337 --------------------------------------
 2 files changed, 338 deletions(-)

New commits:
commit bff08d97dfcd8bf2ce9e61010f47c5b4ce717f13
Author:     Noel Grandin <noel.gran...@collabora.co.uk>
AuthorDate: Fri Aug 15 11:08:38 2025 +0200
Commit:     Noel Grandin <noel.gran...@collabora.co.uk>
CommitDate: Mon Aug 18 19:09:18 2025 +0200

    remove unused CanvasCairoExtractBitmapData function
    
    Change-Id: Ib20826876a687a2736422e6e442340a870ba393f
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/189667
    Tested-by: Jenkins
    Reviewed-by: Noel Grandin <noel.gran...@collabora.co.uk>

diff --git a/include/vcl/BitmapTools.hxx b/include/vcl/BitmapTools.hxx
index ef28f445f1c7..152466792b42 100644
--- a/include/vcl/BitmapTools.hxx
+++ b/include/vcl/BitmapTools.hxx
@@ -79,7 +79,6 @@ VCL_DLLPUBLIC css::uno::Sequence< sal_Int8 > 
GetMaskDIB(Bitmap const & aBmp);
  * @param data will be filled with alpha data, if xBitmap is alpha/transparent 
image
  * @param bHasAlpha will be set to true if resulting surface has alpha
  **/
-VCL_DLLPUBLIC void CanvasCairoExtractBitmapData( BitmapEx const & rBmpEx, 
Bitmap const & rBitmap, unsigned char*& data, bool& bHasAlpha, tools::Long& 
rnWidth, tools::Long& rnHeight );
 VCL_DLLPUBLIC void CanvasCairoExtractBitmapData( Bitmap const & rBitmap, 
unsigned char*& data, bool& bHasAlpha, tools::Long& rnWidth, tools::Long& 
rnHeight );
 
 VCL_DLLPUBLIC css::uno::Sequence< sal_Int8 > CanvasExtractBitmapData(Bitmap 
const & rBitmap, const css::geometry::IntegerRectangle2D& rect);
diff --git a/vcl/source/bitmap/BitmapTools.cxx 
b/vcl/source/bitmap/BitmapTools.cxx
index febb4d2331e2..85e40b8540be 100644
--- a/vcl/source/bitmap/BitmapTools.cxx
+++ b/vcl/source/bitmap/BitmapTools.cxx
@@ -650,343 +650,6 @@ css::uno::Sequence< sal_Int8 > GetMaskDIB(Bitmap const & 
rBmp)
     return GetMaskDIB(BitmapEx(rBmp));
 }
 
-static bool readAlpha( BitmapReadAccess const * pAlphaReadAcc, tools::Long nY, 
const tools::Long nWidth, unsigned char* data, tools::Long nOff )
-{
-    bool bIsAlpha = false;
-    tools::Long nX;
-    int nAlpha;
-    Scanline pReadScan;
-
-    nOff += 3;
-
-    switch( pAlphaReadAcc->GetScanlineFormat() )
-    {
-        case ScanlineFormat::N8BitPal:
-            pReadScan = pAlphaReadAcc->GetScanline( nY );
-            for( nX = 0; nX < nWidth; nX++ )
-            {
-                BitmapColor const& rColor(
-                    pAlphaReadAcc->GetPaletteColor(*pReadScan));
-                pReadScan++;
-                nAlpha = data[ nOff ] = rColor.GetIndex();
-                if( nAlpha != 255 )
-                    bIsAlpha = true;
-                nOff += 4;
-            }
-            break;
-        default:
-            SAL_INFO( "canvas.cairo", "fallback to GetColor for alpha - slow, 
format: " << static_cast<int>(pAlphaReadAcc->GetScanlineFormat()) );
-            for( nX = 0; nX < nWidth; nX++ )
-            {
-                nAlpha = data[ nOff ] = pAlphaReadAcc->GetColor( nY, nX 
).GetIndex();
-                if( nAlpha != 255 )
-                    bIsAlpha = true;
-                nOff += 4;
-            }
-    }
-
-    return bIsAlpha;
-}
-
-
-
-/**
- * @param data will be filled with alpha data, if xBitmap is alpha/transparent 
image
- * @param bHasAlpha will be set to true if resulting surface has alpha
- **/
-void CanvasCairoExtractBitmapData( BitmapEx const & aBmpEx, const Bitmap & 
aBitmap, unsigned char*& data, bool& bHasAlpha, tools::Long& rnWidth, 
tools::Long& rnHeight )
-{
-    const AlphaMask& aAlpha = aBmpEx.GetAlphaMask();
-
-    BitmapScopedReadAccess pBitmapReadAcc( aBitmap );
-    BitmapScopedReadAccess pAlphaReadAcc;
-    const tools::Long      nWidth = rnWidth = pBitmapReadAcc->Width();
-    const tools::Long      nHeight = rnHeight = pBitmapReadAcc->Height();
-    tools::Long nX, nY;
-    bool bIsAlpha = false;
-
-    if( aBmpEx.IsAlpha() )
-        pAlphaReadAcc = aAlpha;
-
-    data = static_cast<unsigned char*>(malloc( nWidth*nHeight*4 ));
-
-    tools::Long nOff = 0;
-    ::Color aColor;
-    unsigned int nAlpha = 255;
-
-#if !ENABLE_WASM_STRIP_PREMULTIPLY
-    vcl::bitmap::lookup_table const & premultiply_table = 
vcl::bitmap::get_premultiply_table();
-#endif
-    for( nY = 0; nY < nHeight; nY++ )
-    {
-        ::Scanline pReadScan;
-
-        switch( pBitmapReadAcc->GetScanlineFormat() )
-        {
-        case ScanlineFormat::N8BitPal:
-            pReadScan = pBitmapReadAcc->GetScanline( nY );
-            if( pAlphaReadAcc )
-                if( readAlpha( pAlphaReadAcc.get(), nY, nWidth, data, nOff ) )
-                    bIsAlpha = true;
-
-            for( nX = 0; nX < nWidth; nX++ )
-            {
-#ifdef OSL_BIGENDIAN
-                if( pAlphaReadAcc )
-                    nAlpha = data[ nOff++ ];
-                else
-                    nAlpha = data[ nOff++ ] = 255;
-#else
-                if( pAlphaReadAcc )
-                    nAlpha = data[ nOff + 3 ];
-                else
-                    nAlpha = data[ nOff + 3 ] = 255;
-#endif
-                aColor = pBitmapReadAcc->GetPaletteColor(*pReadScan++);
-
-#ifdef OSL_BIGENDIAN
-#if ENABLE_WASM_STRIP_PREMULTIPLY
-                data[ nOff++ ] = vcl::bitmap::premultiply(aColor.GetRed(), 
nAlpha);
-                data[ nOff++ ] = vcl::bitmap::premultiply(aColor.GetGreen(), 
nAlpha);
-                data[ nOff++ ] = vcl::bitmap::premultiply(aColor.GetBlue(), 
nAlpha);
-#else
-                data[ nOff++ ] = premultiply_table[nAlpha][aColor.GetRed()];
-                data[ nOff++ ] = premultiply_table[nAlpha][aColor.GetGreen()];
-                data[ nOff++ ] = premultiply_table[nAlpha][aColor.GetBlue()];
-#endif
-#else
-#if ENABLE_WASM_STRIP_PREMULTIPLY
-                data[ nOff++ ] = vcl::bitmap::premultiply(aColor.GetBlue(), 
nAlpha);
-                data[ nOff++ ] = vcl::bitmap::premultiply(aColor.GetGreen(), 
nAlpha);
-                data[ nOff++ ] = vcl::bitmap::premultiply(aColor.GetRed(), 
nAlpha);
-#else
-                data[ nOff++ ] = premultiply_table[nAlpha][aColor.GetBlue()];
-                data[ nOff++ ] = premultiply_table[nAlpha][aColor.GetGreen()];
-                data[ nOff++ ] = premultiply_table[nAlpha][aColor.GetRed()];
-#endif
-                nOff++;
-#endif
-            }
-            break;
-        case ScanlineFormat::N24BitTcBgr:
-            pReadScan = pBitmapReadAcc->GetScanline( nY );
-            if( pAlphaReadAcc )
-                if( readAlpha( pAlphaReadAcc.get(), nY, nWidth, data, nOff ) )
-                    bIsAlpha = true;
-
-            for( nX = 0; nX < nWidth; nX++ )
-            {
-#ifdef OSL_BIGENDIAN
-                if( pAlphaReadAcc )
-                    nAlpha = data[ nOff ];
-                else
-                    nAlpha = data[ nOff ] = 255;
-#if ENABLE_WASM_STRIP_PREMULTIPLY
-                data[ nOff + 3 ] = vcl::bitmap::premultiply(*pReadScan++, 
nAlpha);
-                data[ nOff + 2 ] = vcl::bitmap::premultiply(*pReadScan++, 
nAlpha);
-                data[ nOff + 1 ] = vcl::bitmap::premultiply(*pReadScan++, 
nAlpha);
-#else
-                data[ nOff + 3 ] = premultiply_table[nAlpha][*pReadScan++];
-                data[ nOff + 2 ] = premultiply_table[nAlpha][*pReadScan++];
-                data[ nOff + 1 ] = premultiply_table[nAlpha][*pReadScan++];
-#endif
-                nOff += 4;
-#else
-                if( pAlphaReadAcc )
-                    nAlpha = data[ nOff + 3 ];
-                else
-                    nAlpha = data[ nOff + 3 ] = 255;
-#if ENABLE_WASM_STRIP_PREMULTIPLY
-                data[ nOff++ ] = vcl::bitmap::premultiply(*pReadScan++, 
nAlpha);
-                data[ nOff++ ] = vcl::bitmap::premultiply(*pReadScan++, 
nAlpha);
-                data[ nOff++ ] = vcl::bitmap::premultiply(*pReadScan++, 
nAlpha);
-#else
-                data[ nOff++ ] = premultiply_table[nAlpha][*pReadScan++];
-                data[ nOff++ ] = premultiply_table[nAlpha][*pReadScan++];
-                data[ nOff++ ] = premultiply_table[nAlpha][*pReadScan++];
-#endif
-                nOff++;
-#endif
-            }
-            break;
-        case ScanlineFormat::N24BitTcRgb:
-            pReadScan = pBitmapReadAcc->GetScanline( nY );
-            if( pAlphaReadAcc )
-                if( readAlpha( pAlphaReadAcc.get(), nY, nWidth, data, nOff ) )
-                    bIsAlpha = true;
-
-            for( nX = 0; nX < nWidth; nX++ )
-            {
-#ifdef OSL_BIGENDIAN
-                if( pAlphaReadAcc )
-                    nAlpha = data[ nOff++ ];
-                else
-                    nAlpha = data[ nOff++ ] = 255;
-#if ENABLE_WASM_STRIP_PREMULTIPLY
-                data[ nOff++ ] = vcl::bitmap::premultiply(*pReadScan++, 
nAlpha);
-                data[ nOff++ ] = vcl::bitmap::premultiply(*pReadScan++, 
nAlpha);
-                data[ nOff++ ] = vcl::bitmap::premultiply(*pReadScan++, 
nAlpha);
-#else
-                data[ nOff++ ] = premultiply_table[nAlpha][*pReadScan++];
-                data[ nOff++ ] = premultiply_table[nAlpha][*pReadScan++];
-                data[ nOff++ ] = premultiply_table[nAlpha][*pReadScan++];
-#endif
-#else
-                if( pAlphaReadAcc )
-                    nAlpha = data[ nOff + 3 ];
-                else
-                    nAlpha = data[ nOff + 3 ] = 255;
-#if ENABLE_WASM_STRIP_PREMULTIPLY
-                data[ nOff++ ] = vcl::bitmap::premultiply(pReadScan[ 2 ], 
nAlpha);
-                data[ nOff++ ] = vcl::bitmap::premultiply(pReadScan[ 1 ], 
nAlpha);
-                data[ nOff++ ] = vcl::bitmap::premultiply(pReadScan[ 0 ], 
nAlpha);
-#else
-                data[ nOff++ ] = premultiply_table[nAlpha][pReadScan[ 2 ]];
-                data[ nOff++ ] = premultiply_table[nAlpha][pReadScan[ 1 ]];
-                data[ nOff++ ] = premultiply_table[nAlpha][pReadScan[ 0 ]];
-#endif
-                pReadScan += 3;
-                nOff++;
-#endif
-            }
-            break;
-        case ScanlineFormat::N32BitTcBgra:
-        case ScanlineFormat::N32BitTcBgrx:
-            pReadScan = pBitmapReadAcc->GetScanline( nY );
-            if( pAlphaReadAcc )
-                if( readAlpha( pAlphaReadAcc.get(), nY, nWidth, data, nOff ) )
-                    bIsAlpha = true;
-
-            for( nX = 0; nX < nWidth; nX++ )
-            {
-#ifdef OSL_BIGENDIAN
-                if( pAlphaReadAcc )
-                    nAlpha = data[ nOff++ ];
-                else
-                    nAlpha = data[ nOff++ ] = 255;
-#if ENABLE_WASM_STRIP_PREMULTIPLY
-                data[ nOff++ ] = vcl::bitmap::premultiply(pReadScan[ 2 ], 
nAlpha);
-                data[ nOff++ ] = vcl::bitmap::premultiply(pReadScan[ 1 ], 
nAlpha);
-                data[ nOff++ ] = vcl::bitmap::premultiply(pReadScan[ 0 ], 
nAlpha);
-#else
-                data[ nOff++ ] = premultiply_table[nAlpha][pReadScan[ 2 ]];
-                data[ nOff++ ] = premultiply_table[nAlpha][pReadScan[ 1 ]];
-                data[ nOff++ ] = premultiply_table[nAlpha][pReadScan[ 0 ]];
-#endif
-                pReadScan += 4;
-#else
-                if( pAlphaReadAcc )
-                    nAlpha = data[ nOff + 3 ];
-                else
-                    nAlpha = data[ nOff + 3 ] = 255;
-#if ENABLE_WASM_STRIP_PREMULTIPLY
-                data[ nOff++ ] = vcl::bitmap::premultiply(*pReadScan++, 
nAlpha);
-                data[ nOff++ ] = vcl::bitmap::premultiply(*pReadScan++, 
nAlpha);
-                data[ nOff++ ] = vcl::bitmap::premultiply(*pReadScan++, 
nAlpha);
-#else
-                data[ nOff++ ] = premultiply_table[nAlpha][*pReadScan++];
-                data[ nOff++ ] = premultiply_table[nAlpha][*pReadScan++];
-                data[ nOff++ ] = premultiply_table[nAlpha][*pReadScan++];
-#endif
-                pReadScan++;
-                nOff++;
-#endif
-            }
-            break;
-        case ScanlineFormat::N32BitTcRgba:
-        case ScanlineFormat::N32BitTcRgbx:
-            pReadScan = pBitmapReadAcc->GetScanline( nY );
-            if( pAlphaReadAcc )
-                if( readAlpha( pAlphaReadAcc.get(), nY, nWidth, data, nOff ) )
-                    bIsAlpha = true;
-
-            for( nX = 0; nX < nWidth; nX++ )
-            {
-#ifdef OSL_BIGENDIAN
-                if( pAlphaReadAcc )
-                    nAlpha = data[ nOff ++ ];
-                else
-                    nAlpha = data[ nOff ++ ] = 255;
-#if ENABLE_WASM_STRIP_PREMULTIPLY
-                data[ nOff++ ] = vcl::bitmap::premultiply(*pReadScan++, 
nAlpha);
-                data[ nOff++ ] = vcl::bitmap::premultiply(*pReadScan++, 
nAlpha);
-                data[ nOff++ ] = vcl::bitmap::premultiply(*pReadScan++, 
nAlpha);
-#else
-                data[ nOff++ ] = premultiply_table[nAlpha][*pReadScan++];
-                data[ nOff++ ] = premultiply_table[nAlpha][*pReadScan++];
-                data[ nOff++ ] = premultiply_table[nAlpha][*pReadScan++];
-#endif
-                pReadScan++;
-#else
-                if( pAlphaReadAcc )
-                    nAlpha = data[ nOff + 3 ];
-                else
-                    nAlpha = data[ nOff + 3 ] = 255;
-#if ENABLE_WASM_STRIP_PREMULTIPLY
-                data[ nOff++ ] = vcl::bitmap::premultiply(pReadScan[ 2 ], 
nAlpha);
-                data[ nOff++ ] = vcl::bitmap::premultiply(pReadScan[ 1 ], 
nAlpha);
-                data[ nOff++ ] = vcl::bitmap::premultiply(pReadScan[ 0 ], 
nAlpha);
-#else
-                data[ nOff++ ] = premultiply_table[nAlpha][pReadScan[ 2 ]];
-                data[ nOff++ ] = premultiply_table[nAlpha][pReadScan[ 1 ]];
-                data[ nOff++ ] = premultiply_table[nAlpha][pReadScan[ 0 ]];
-#endif
-                pReadScan += 4;
-                nOff++;
-#endif
-            }
-            break;
-        default:
-            SAL_INFO( "canvas.cairo", "fallback to GetColor - slow, format: " 
<< static_cast<int>(pBitmapReadAcc->GetScanlineFormat()) );
-
-            if( pAlphaReadAcc )
-                if( readAlpha( pAlphaReadAcc.get(), nY, nWidth, data, nOff ) )
-                    bIsAlpha = true;
-
-            for( nX = 0; nX < nWidth; nX++ )
-            {
-                aColor = pBitmapReadAcc->GetColor( nY, nX );
-
-                // cairo need premultiplied color values
-                // TODO(rodo) handle endianness
-#ifdef OSL_BIGENDIAN
-                if( pAlphaReadAcc )
-                    nAlpha = data[ nOff++ ];
-                else
-                    nAlpha = data[ nOff++ ] = 255;
-#if ENABLE_WASM_STRIP_PREMULTIPLY
-                data[ nOff++ ] = vcl::bitmap::premultiply(aColor.GetRed(), 
nAlpha);
-                data[ nOff++ ] = vcl::bitmap::premultiply(aColor.GetGreen(), 
nAlpha);
-                data[ nOff++ ] = vcl::bitmap::premultiply(aColor.GetBlue(), 
nAlpha);
-#else
-                data[ nOff++ ] = premultiply_table[nAlpha][aColor.GetRed()];
-                data[ nOff++ ] = premultiply_table[nAlpha][aColor.GetGreen()];
-                data[ nOff++ ] = premultiply_table[nAlpha][aColor.GetBlue()];
-#endif
-#else
-                if( pAlphaReadAcc )
-                    nAlpha = data[ nOff + 3 ];
-                else
-                    nAlpha = data[ nOff + 3 ] = 255;
-#if ENABLE_WASM_STRIP_PREMULTIPLY
-                data[ nOff++ ] = vcl::bitmap::premultiply(aColor.GetBlue(), 
nAlpha);
-                data[ nOff++ ] = vcl::bitmap::premultiply(aColor.GetGreen(), 
nAlpha);
-                data[ nOff++ ] = vcl::bitmap::premultiply(aColor.GetRed(), 
nAlpha);
-#else
-                data[ nOff++ ] = premultiply_table[nAlpha][aColor.GetBlue()];
-                data[ nOff++ ] = premultiply_table[nAlpha][aColor.GetGreen()];
-                data[ nOff++ ] = premultiply_table[nAlpha][aColor.GetRed()];
-#endif
-                nOff ++;
-#endif
-            }
-        }
-    }
-
-    bHasAlpha = bIsAlpha;
-
-}
-
 /**
  * This returns data formatted the way Cairo wants it, i.e. either 
CAIRO_FORMAT_ARGB32 or CAIRO_FORMAT_RGB24
  *

Reply via email to