vcl/inc/pdf/pdfwriter_impl.hxx            |    2 -
 vcl/source/filter/egif/egif.cxx           |    2 -
 vcl/source/filter/eps/eps.cxx             |    2 -
 vcl/source/filter/etiff/etiff.cxx         |    2 -
 vcl/source/filter/png/PngImageWriter.cxx  |    2 -
 vcl/source/gdi/pdfwriter_impl2.cxx        |   60 +++++++++++++++---------------
 vcl/source/graphic/GraphicID.cxx          |    8 ++--
 vcl/source/graphic/UnoGraphicProvider.cxx |    2 -
 8 files changed, 40 insertions(+), 40 deletions(-)

New commits:
commit e33a76e7fc5ec2c30cb47684c3cd6d0771f58bc0
Author:     Noel Grandin <noel.gran...@collabora.co.uk>
AuthorDate: Wed Aug 27 11:19:26 2025 +0200
Commit:     Noel Grandin <noel.gran...@collabora.co.uk>
CommitDate: Wed Aug 27 14:00:04 2025 +0200

    BitmapEx->Bitmap in vcl
    
    now that Bitmap supports transparency
    
    Change-Id: I3fcb2078a31ca005ace98115a0765b36d03714a0
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/190281
    Reviewed-by: Noel Grandin <noel.gran...@collabora.co.uk>
    Tested-by: Jenkins

diff --git a/vcl/source/filter/egif/egif.cxx b/vcl/source/filter/egif/egif.cxx
index a8a12e674ea6..f9a7b16a5dcb 100644
--- a/vcl/source/filter/egif/egif.cxx
+++ b/vcl/source/filter/egif/egif.cxx
@@ -139,7 +139,7 @@ bool GIFWriter::WriteGIF(const Graphic& rGraphic, 
FilterConfigItem* pFilterConfi
     {
         const bool bGrafTrans = rGraphic.IsTransparent();
 
-        BitmapEx aBmpEx = rGraphic.GetBitmapEx();
+        BitmapEx aBmpEx(rGraphic.GetBitmap());
 
         nMinPercent = 0;
         nMaxPercent = 100;
diff --git a/vcl/source/filter/eps/eps.cxx b/vcl/source/filter/eps/eps.cxx
index 40aaf96744c7..278ed22635f5 100644
--- a/vcl/source/filter/eps/eps.cxx
+++ b/vcl/source/filter/eps/eps.cxx
@@ -372,7 +372,7 @@ bool PSWriter::WritePS( const Graphic& rGraphic, SvStream& 
rTargetStream, Filter
     }
     else
     {
-        BitmapEx aBmp( rGraphic.GetBitmapEx() );
+        Bitmap aBmp( rGraphic.GetBitmap() );
         pAMTF.reset( new GDIMetaFile );
         ScopedVclPtrInstance< VirtualDevice > pTmpVDev;
         pAMTF->Record( pTmpVDev );
diff --git a/vcl/source/filter/etiff/etiff.cxx 
b/vcl/source/filter/etiff/etiff.cxx
index f9b4c4409e1d..0d20d502b80a 100644
--- a/vcl/source/filter/etiff/etiff.cxx
+++ b/vcl/source/filter/etiff/etiff.cxx
@@ -169,7 +169,7 @@ bool TIFFWriter::WriteTIFF( const Graphic& rGraphic, 
FilterConfigItem const * pF
     {
         Animation aAnimation = rGraphic.IsAnimated() ? rGraphic.GetAnimation() 
: Animation();
         if (!rGraphic.IsAnimated())
-            aAnimation.Insert(AnimationFrame(rGraphic.GetBitmapEx(), Point(), 
Size()));
+            aAnimation.Insert(AnimationFrame(BitmapEx(rGraphic.GetBitmap()), 
Point(), Size()));
 
         for (size_t i = 0; i < aAnimation.Count(); ++i)
             mnSumOfAllPictHeight += 
aAnimation.Get(i).maBitmapEx.GetSizePixel().Height();
diff --git a/vcl/source/filter/png/PngImageWriter.cxx 
b/vcl/source/filter/png/PngImageWriter.cxx
index ce05ea70f203..f65e098f2dd4 100644
--- a/vcl/source/filter/png/PngImageWriter.cxx
+++ b/vcl/source/filter/png/PngImageWriter.cxx
@@ -140,7 +140,7 @@ static bool pngWrite(SvStream& rStream, const Graphic& 
rGraphic, int nCompressio
     png_set_pHYs(pPng, pInfo, std::round(aPPM.getWidth()), 
std::round(aPPM.getHeight()),
                  PNG_RESOLUTION_METER);
 
-    Bitmap aBitmap(rGraphic.GetBitmapEx());
+    Bitmap aBitmap(rGraphic.GetBitmap());
 
     if (!bTranslucent && aBitmap.HasAlpha())
     {
diff --git a/vcl/source/graphic/GraphicID.cxx b/vcl/source/graphic/GraphicID.cxx
index d78acea53013..e7e11d374a68 100644
--- a/vcl/source/graphic/GraphicID.cxx
+++ b/vcl/source/graphic/GraphicID.cxx
@@ -54,11 +54,11 @@ GraphicID::GraphicID(ImpGraphic const& rGraphic)
         }
         else
         {
-            const BitmapEx 
aBmpEx(rGraphic.getBitmapEx(GraphicConversionParameters()));
+            const Bitmap 
aBmp(rGraphic.getBitmap(GraphicConversionParameters()));
 
-            mnID1 |= aBmpEx.IsAlpha() ? 1 : 0;
-            mnID2 = aBmpEx.GetSizePixel().Width();
-            mnID3 = aBmpEx.GetSizePixel().Height();
+            mnID1 |= aBmp.HasAlpha() ? 1 : 0;
+            mnID2 = aBmp.GetSizePixel().Width();
+            mnID3 = aBmp.GetSizePixel().Height();
             mnID4 = rGraphic.getChecksum();
         }
     }
diff --git a/vcl/source/graphic/UnoGraphicProvider.cxx 
b/vcl/source/graphic/UnoGraphicProvider.cxx
index 840965ca2df9..6dd5f28a8186 100644
--- a/vcl/source/graphic/UnoGraphicProvider.cxx
+++ b/vcl/source/graphic/UnoGraphicProvider.cxx
@@ -662,7 +662,7 @@ void ImplApplyFilterData( ::Graphic& rGraphic, const 
uno::Sequence< beans::Prope
                         ImplApplyBitmapResolution( aGraphic, nImageResolution,
                             aGraphic.GetSizePixel(), awt::Size( 
aSize100thmm2.Width(), aSize100thmm2.Height() ) );
 
-                        rtl::Reference<MetaAction> pNewAction = new 
MetaBmpExScaleAction( aPos, aSize, aGraphic.GetBitmapEx() );
+                        rtl::Reference<MetaAction> pNewAction = new 
MetaBmpExScaleAction( aPos, aSize, BitmapEx(aGraphic.GetBitmap()) );
                         aMtf.ReplaceAction( pNewAction, i );
                         break;
                     }
commit 4b4544064bf6cc688352e0449db2240c5e67526b
Author:     Noel Grandin <noel.gran...@collabora.co.uk>
AuthorDate: Wed Aug 27 09:57:47 2025 +0200
Commit:     Noel Grandin <noel.gran...@collabora.co.uk>
CommitDate: Wed Aug 27 13:59:54 2025 +0200

    BitmapEx->Bitmap in PDFWriterImpl
    
    Now that Bitmap can handle transparency
    
    Change-Id: Ic1eec7601516fca2c6354707d7f9ef5b520ec7a7
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/190271
    Reviewed-by: Noel Grandin <noel.gran...@collabora.co.uk>
    Tested-by: Jenkins

diff --git a/vcl/inc/pdf/pdfwriter_impl.hxx b/vcl/inc/pdf/pdfwriter_impl.hxx
index a172c82a1785..c1dbe73a7550 100644
--- a/vcl/inc/pdf/pdfwriter_impl.hxx
+++ b/vcl/inc/pdf/pdfwriter_impl.hxx
@@ -1093,7 +1093,7 @@ private:
     // helper for playMetafile
     void implWriteGradient( const tools::PolyPolygon& rPolyPoly, const 
Gradient& rGradient,
                             VirtualDevice* pDummyVDev, const 
vcl::PDFWriter::PlayMetafileContext& );
-    void implWriteBitmapEx( const Point& rPoint, const Size& rSize, const 
BitmapEx& rBitmapEx, const Graphic& i_pGraphic,
+    void implWriteBitmapEx( const Point& rPoint, const Size& rSize, const 
Bitmap& rBitmap, const Graphic& i_pGraphic,
                            VirtualDevice const * pDummyVDev, const 
vcl::PDFWriter::PlayMetafileContext& );
 
     // helpers for CCITT 1bit bitmap stream
diff --git a/vcl/source/gdi/pdfwriter_impl2.cxx 
b/vcl/source/gdi/pdfwriter_impl2.cxx
index 642f8e88aa43..0c8b6fc19322 100644
--- a/vcl/source/gdi/pdfwriter_impl2.cxx
+++ b/vcl/source/gdi/pdfwriter_impl2.cxx
@@ -71,13 +71,13 @@ void PDFWriterImpl::implWriteGradient( const 
tools::PolyPolygon& i_rPolyPoly, co
     m_rOuterFace.Pop();
 }
 
-void PDFWriterImpl::implWriteBitmapEx( const Point& i_rPoint, const Size& 
i_rSize, const BitmapEx& i_rBitmapEx, const Graphic& i_Graphic,
+void PDFWriterImpl::implWriteBitmapEx( const Point& i_rPoint, const Size& 
i_rSize, const Bitmap& i_rBitmap, const Graphic& i_Graphic,
                                        VirtualDevice const * i_pDummyVDev, 
const vcl::PDFWriter::PlayMetafileContext& i_rContext )
 {
-    if ( i_rBitmapEx.IsEmpty() || !i_rSize.Width() || !i_rSize.Height() )
+    if ( i_rBitmap.IsEmpty() || !i_rSize.Width() || !i_rSize.Height() )
         return;
 
-    BitmapEx        aBitmapEx( i_rBitmapEx );
+    Bitmap          aBitmap( i_rBitmap );
     Point           aPoint( i_rPoint );
     Size            aSize( i_rSize );
 
@@ -100,11 +100,11 @@ void PDFWriterImpl::implWriteBitmapEx( const Point& 
i_rPoint, const Size& i_rSiz
 
     if( nMirrorFlags != BmpMirrorFlags::NONE )
     {
-        aBitmapEx.Mirror( nMirrorFlags );
+        aBitmap.Mirror( nMirrorFlags );
     }
 
     bool bIsJpeg = false, bIsPng = false;
-    if( i_Graphic.GetType() != GraphicType::NONE && i_Graphic.GetBitmapEx() == 
aBitmapEx )
+    if( i_Graphic.GetType() != GraphicType::NONE && i_Graphic.GetBitmap() == 
aBitmap )
     {
         GfxLinkType eType = i_Graphic.GetGfxLink().GetType();
         bIsJpeg = (eType == GfxLinkType::NativeJpg);
@@ -112,7 +112,7 @@ void PDFWriterImpl::implWriteBitmapEx( const Point& 
i_rPoint, const Size& i_rSiz
     }
 
     // Do not downsample images smaller than 50x50px.
-    const Size aBmpSize(aBitmapEx.GetSizePixel());
+    const Size aBmpSize(aBitmap.GetSizePixel());
     if (i_rContext.m_nMaxImageResolution > 50 && aBmpSize.getWidth() > 50
         && aBmpSize.getHeight() > 50)
     {
@@ -151,21 +151,21 @@ void PDFWriterImpl::implWriteBitmapEx( const Point& 
i_rPoint, const Size& i_rSiz
             if( aNewBmpSize.Width() && aNewBmpSize.Height() )
             {
                 // #i121233# Use best quality for PDF exports
-                aBitmapEx.Scale( aNewBmpSize, BmpScaleFlag::BestQuality );
+                aBitmap.Scale( aNewBmpSize, BmpScaleFlag::BestQuality );
             }
             else
             {
-                aBitmapEx.SetEmpty();
+                aBitmap.SetEmpty();
             }
         }
     }
 
-    const Size aSizePixel( aBitmapEx.GetSizePixel() );
+    const Size aSizePixel( aBitmap.GetSizePixel() );
     if ( !(aSizePixel.Width() && aSizePixel.Height()) )
         return;
 
     if( m_aContext.ColorMode == PDFWriter::DrawGreyscale )
-        aBitmapEx.Convert(BmpConversion::N8BitGreys);
+        aBitmap.Convert(BmpConversion::N8BitGreys);
     bool bUseJPGCompression = !i_rContext.m_bOnlyLosslessCompression;
     if ( bIsPng || ( aSizePixel.Width() < 32 ) || ( aSizePixel.Height() < 32 ) 
)
         bUseJPGCompression = false;
@@ -178,10 +178,10 @@ void PDFWriterImpl::implWriteBitmapEx( const Point& 
i_rPoint, const Size& i_rSiz
     {
         // TODO this checks could be done much earlier, saving us
         // from trying conversion & stores before...
-        if ( !aBitmapEx.IsAlpha() )
+        if ( !aBitmap.HasAlpha() )
         {
             const auto aCacheEntry=m_aPDFBmpCache.find(
-                aBitmapEx.GetChecksum());
+                aBitmap.GetChecksum());
             if ( aCacheEntry != m_aPDFBmpCache.end() )
             {
                 m_rOuterFace.DrawJPGBitmap( *aCacheEntry->second, true, 
aSizePixel,
@@ -195,12 +195,12 @@ void PDFWriterImpl::implWriteBitmapEx( const Point& 
i_rPoint, const Size& i_rSiz
             SvMemoryStream aTemp;
             aTemp.SetCompressMode( aTemp.GetCompressMode() | 
SvStreamCompressFlags::ZBITMAP );
             aTemp.SetVersion( SOFFICE_FILEFORMAT_40 );  // sj: up from version 
40 our bitmap stream operator
-            WriteDIBBitmapEx(aBitmapEx, aTemp); // is capable of zlib stream 
compression
+            WriteDIBBitmapEx(BitmapEx(aBitmap), aTemp); // is capable of zlib 
stream compression
             nZippedFileSize = aTemp.TellEnd();
         }
-        if ( aBitmapEx.IsAlpha() )
-            aAlphaMask = aBitmapEx.GetAlphaMask();
-        Graphic aGraphic(BitmapEx(aBitmapEx.GetBitmap()));
+        if ( aBitmap.HasAlpha() )
+            aAlphaMask = aBitmap.CreateAlphaMask();
+        Graphic aGraphic(aBitmap.CreateColorBitmap());
 
         Sequence< PropertyValue > aFilterData{
             comphelper::makePropertyValue(u"Quality"_ustr, 
sal_Int32(i_rContext.m_nJPEGQuality)),
@@ -252,17 +252,17 @@ void PDFWriterImpl::implWriteBitmapEx( const Point& 
i_rPoint, const Size& i_rSiz
     if ( bUseJPGCompression )
     {
         m_rOuterFace.DrawJPGBitmap( *pStrm, bTrueColorJPG, aSizePixel, 
tools::Rectangle( aPoint, aSize ), aAlphaMask, i_Graphic );
-        if (!aBitmapEx.IsAlpha() && bTrueColorJPG)
+        if (!aBitmap.HasAlpha() && bTrueColorJPG)
         {
             // Cache last jpeg export
             m_aPDFBmpCache.insert(
-                {aBitmapEx.GetChecksum(), pStrm});
+                {aBitmap.GetChecksum(), pStrm});
         }
     }
-    else if ( aBitmapEx.IsAlpha() )
-        m_rOuterFace.DrawBitmapEx( aPoint, aSize, Bitmap(aBitmapEx) );
+    else if ( aBitmap.HasAlpha() )
+        m_rOuterFace.DrawBitmapEx( aPoint, aSize, aBitmap );
     else
-        m_rOuterFace.DrawBitmap( aPoint, aSize, aBitmapEx.GetBitmap(), 
i_Graphic );
+        m_rOuterFace.DrawBitmap( aPoint, aSize, aBitmap, i_Graphic );
 
 }
 
@@ -520,7 +520,7 @@ void PDFWriterImpl::playMetafile( const GDIMetaFile& 
i_rMtf, vcl::PDFExtOutDevDa
                                 xVDev.disposeAndClear();
 
                                 Graphic aGraphic = i_pOutDevData ? 
i_pOutDevData->GetCurrentGraphic() : Graphic();
-                                implWriteBitmapEx( rPos, rSize, BitmapEx( 
aPaint.GetBitmap(), aAlpha ), aGraphic, pDummyVDev, i_rContext );
+                                implWriteBitmapEx( rPos, rSize, 
Bitmap(BitmapEx( aPaint.GetBitmap(), aAlpha )), aGraphic, pDummyVDev, 
i_rContext );
                             }
                         }
                     }
@@ -739,7 +739,7 @@ void PDFWriterImpl::playMetafile( const GDIMetaFile& 
i_rMtf, vcl::PDFExtOutDevDa
                         aSize = pDummyVDev->PixelToLogic( 
aBitmapEx.GetSizePixel() );
 
                     Graphic aGraphic = i_pOutDevData ? 
i_pOutDevData->GetCurrentGraphic() : Graphic();
-                    implWriteBitmapEx( pA->GetPoint(), aSize, aBitmapEx, 
aGraphic, pDummyVDev, i_rContext );
+                    implWriteBitmapEx( pA->GetPoint(), aSize, 
Bitmap(aBitmapEx), aGraphic, pDummyVDev, i_rContext );
                 }
                 break;
 
@@ -747,17 +747,17 @@ void PDFWriterImpl::playMetafile( const GDIMetaFile& 
i_rMtf, vcl::PDFExtOutDevDa
                 {
                     const MetaBmpScaleAction* pA = static_cast<const 
MetaBmpScaleAction*>(pAction);
                     Graphic aGraphic = i_pOutDevData ? 
i_pOutDevData->GetCurrentGraphic() : Graphic();
-                    implWriteBitmapEx( pA->GetPoint(), pA->GetSize(), 
BitmapEx( pA->GetBitmap() ), aGraphic, pDummyVDev, i_rContext );
+                    implWriteBitmapEx( pA->GetPoint(), pA->GetSize(), 
pA->GetBitmap(), aGraphic, pDummyVDev, i_rContext );
                 }
                 break;
 
                 case MetaActionType::BMPSCALEPART:
                 {
                     const MetaBmpScalePartAction* pA = static_cast<const 
MetaBmpScalePartAction*>(pAction);
-                    BitmapEx aBitmapEx( pA->GetBitmap() );
-                    aBitmapEx.Crop( tools::Rectangle( pA->GetSrcPoint(), 
pA->GetSrcSize() ) );
+                    Bitmap aBitmap( pA->GetBitmap() );
+                    aBitmap.Crop( tools::Rectangle( pA->GetSrcPoint(), 
pA->GetSrcSize() ) );
                     Graphic aGraphic = i_pOutDevData ? 
i_pOutDevData->GetCurrentGraphic() : Graphic();
-                    implWriteBitmapEx( pA->GetDestPoint(), pA->GetDestSize(), 
aBitmapEx, aGraphic, pDummyVDev, i_rContext );
+                    implWriteBitmapEx( pA->GetDestPoint(), pA->GetDestSize(), 
aBitmap, aGraphic, pDummyVDev, i_rContext );
                 }
                 break;
 
@@ -768,7 +768,7 @@ void PDFWriterImpl::playMetafile( const GDIMetaFile& 
i_rMtf, vcl::PDFExtOutDevDa
                     Size aSize( OutputDevice::LogicToLogic( 
aBitmapEx.GetPrefSize(),
                             aBitmapEx.GetPrefMapMode(), 
pDummyVDev->GetMapMode() ) );
                     Graphic aGraphic = i_pOutDevData ? 
i_pOutDevData->GetCurrentGraphic() : Graphic();
-                    implWriteBitmapEx( pA->GetPoint(), aSize, aBitmapEx, 
aGraphic, pDummyVDev, i_rContext );
+                    implWriteBitmapEx( pA->GetPoint(), aSize, 
Bitmap(aBitmapEx), aGraphic, pDummyVDev, i_rContext );
                 }
                 break;
 
@@ -777,7 +777,7 @@ void PDFWriterImpl::playMetafile( const GDIMetaFile& 
i_rMtf, vcl::PDFExtOutDevDa
                     const MetaBmpExScaleAction* pA = static_cast<const 
MetaBmpExScaleAction*>(pAction);
                     BitmapEx aBitmapEx( pA->GetBitmapEx() );
                     Graphic aGraphic = i_pOutDevData ? 
i_pOutDevData->GetCurrentGraphic() : Graphic();
-                    implWriteBitmapEx( pA->GetPoint(), pA->GetSize(), 
aBitmapEx, aGraphic, pDummyVDev, i_rContext );
+                    implWriteBitmapEx( pA->GetPoint(), pA->GetSize(), 
Bitmap(aBitmapEx), aGraphic, pDummyVDev, i_rContext );
                 }
                 break;
 
@@ -788,7 +788,7 @@ void PDFWriterImpl::playMetafile( const GDIMetaFile& 
i_rMtf, vcl::PDFExtOutDevDa
                     BitmapEx aBitmapEx( pA->GetBitmapEx() );
                     aBitmapEx.Crop( tools::Rectangle( pA->GetSrcPoint(), 
pA->GetSrcSize() ) );
                     Graphic aGraphic = i_pOutDevData ? 
i_pOutDevData->GetCurrentGraphic() : Graphic();
-                    implWriteBitmapEx( pA->GetDestPoint(), pA->GetDestSize(), 
aBitmapEx, aGraphic, pDummyVDev, i_rContext );
+                    implWriteBitmapEx( pA->GetDestPoint(), pA->GetDestSize(), 
Bitmap(aBitmapEx), aGraphic, pDummyVDev, i_rContext );
                 }
                 break;
 

Reply via email to