vcl/source/outdev/bitmapex.cxx |  157 ++++++++++++++++++++---------------------
 1 file changed, 80 insertions(+), 77 deletions(-)

New commits:
commit 890c03d39059685735f5ada62e706204eab81f0d
Author:     Christopher Sherlock <chris.sherloc...@gmail.com>
AuthorDate: Wed Nov 13 23:40:10 2024 +1100
Commit:     Michael Weghorn <m.wegh...@posteo.de>
CommitDate: Tue Dec 3 10:36:00 2024 +0100

    vcl: flatten functions in bitmapex.cxx
    
    Change-Id: I82c470705add539fa425b084805a5da12eefa0ef
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/176535
    Tested-by: Jenkins
    Reviewed-by: Michael Weghorn <m.wegh...@posteo.de>

diff --git a/vcl/source/outdev/bitmapex.cxx b/vcl/source/outdev/bitmapex.cxx
index 45408ac5cba6..3024b7ba86ed 100644
--- a/vcl/source/outdev/bitmapex.cxx
+++ b/vcl/source/outdev/bitmapex.cxx
@@ -40,13 +40,13 @@ void OutputDevice::DrawBitmapEx( const Point& rDestPt,
 
     if( !rBitmapEx.IsAlpha() )
     {
-        DrawBitmap( rDestPt, rBitmapEx.GetBitmap() );
-    }
-    else
-    {
-        const Size aSizePix( rBitmapEx.GetSizePixel() );
-        DrawBitmapEx( rDestPt, PixelToLogic( aSizePix ), Point(), aSizePix, 
rBitmapEx, MetaActionType::BMPEX );
+        DrawBitmap(rDestPt, rBitmapEx.GetBitmap());
+        return;
     }
+
+    const Size& rSizePx = rBitmapEx.GetSizePixel();
+    DrawBitmapEx(rDestPt, PixelToLogic(rSizePx), Point(), rSizePx, rBitmapEx,
+                 MetaActionType::BMPEX);
 }
 
 void OutputDevice::DrawBitmapEx( const Point& rDestPt, const Size& rDestSize,
@@ -59,12 +59,12 @@ void OutputDevice::DrawBitmapEx( const Point& rDestPt, 
const Size& rDestSize,
 
     if ( !rBitmapEx.IsAlpha() )
     {
-        DrawBitmap( rDestPt, rDestSize, rBitmapEx.GetBitmap() );
-    }
-    else
-    {
-        DrawBitmapEx( rDestPt, rDestSize, Point(), rBitmapEx.GetSizePixel(), 
rBitmapEx, MetaActionType::BMPEXSCALE );
+        DrawBitmap(rDestPt, rDestSize, rBitmapEx.GetBitmap());
+        return;
     }
+
+    DrawBitmapEx(rDestPt, rDestSize, Point(), rBitmapEx.GetSizePixel(),
+                 rBitmapEx, MetaActionType::BMPEXSCALE);
 }
 
 void OutputDevice::DrawBitmapEx( const Point& rDestPt, const Size& rDestSize,
@@ -78,12 +78,13 @@ void OutputDevice::DrawBitmapEx( const Point& rDestPt, 
const Size& rDestSize,
 
     if ( !rBitmapEx.IsAlpha() )
     {
-        DrawBitmap( rDestPt, rDestSize, rSrcPtPixel, rSrcSizePixel, 
rBitmapEx.GetBitmap() );
-    }
-    else
-    {
-        DrawBitmapEx( rDestPt, rDestSize, rSrcPtPixel, rSrcSizePixel, 
rBitmapEx, MetaActionType::BMPEXSCALEPART );
+        DrawBitmap(rDestPt, rDestSize, rSrcPtPixel, rSrcSizePixel,
+                   rBitmapEx.GetBitmap());
+        return;
     }
+
+    DrawBitmapEx(rDestPt, rDestSize, rSrcPtPixel, rSrcSizePixel, rBitmapEx,
+                 MetaActionType::BMPEXSCALEPART);
 }
 
 void OutputDevice::DrawBitmapEx( const Point& rDestPt, const Size& rDestSize,
@@ -97,71 +98,68 @@ void OutputDevice::DrawBitmapEx( const Point& rDestPt, 
const Size& rDestSize,
 
     if( !rBitmapEx.IsAlpha() )
     {
-        DrawBitmap( rDestPt, rDestSize, rSrcPtPixel, rSrcSizePixel, 
rBitmapEx.GetBitmap() );
+        DrawBitmap(rDestPt, rDestSize, rSrcPtPixel, rSrcSizePixel,
+                   rBitmapEx.GetBitmap());
+        return;
     }
-    else
+
+    if (RasterOp::Invert == meRasterOp)
     {
-        if ( RasterOp::Invert == meRasterOp )
-        {
-            DrawRect( tools::Rectangle( rDestPt, rDestSize ) );
-            return;
-        }
+        DrawRect(tools::Rectangle(rDestPt, rDestSize));
+        return;
+    }
 
-        BitmapEx aBmpEx(vcl::drawmode::GetBitmapEx(rBitmapEx, GetDrawMode()));
+    BitmapEx aBmpEx(vcl::drawmode::GetBitmapEx(rBitmapEx, GetDrawMode()));
 
-        if ( mpMetaFile )
+    if (mpMetaFile)
+    {
+        switch(nAction)
         {
-            switch( nAction )
-            {
-                case MetaActionType::BMPEX:
-                    mpMetaFile->AddAction( new MetaBmpExAction( rDestPt, 
aBmpEx ) );
+            case MetaActionType::BMPEX:
+                mpMetaFile->AddAction(new MetaBmpExAction(rDestPt, aBmpEx));
                 break;
 
-                case MetaActionType::BMPEXSCALE:
-                    mpMetaFile->AddAction( new MetaBmpExScaleAction( rDestPt, 
rDestSize, aBmpEx ) );
+            case MetaActionType::BMPEXSCALE:
+                mpMetaFile->AddAction(new MetaBmpExScaleAction(rDestPt, 
rDestSize, aBmpEx));
                 break;
 
-                case MetaActionType::BMPEXSCALEPART:
-                    mpMetaFile->AddAction( new MetaBmpExScalePartAction( 
rDestPt, rDestSize,
-                                                                         
rSrcPtPixel, rSrcSizePixel, aBmpEx ) );
+            case MetaActionType::BMPEXSCALEPART:
+                mpMetaFile->AddAction(new MetaBmpExScalePartAction(rDestPt, 
rDestSize,
+                                                                   
rSrcPtPixel, rSrcSizePixel, aBmpEx));
                 break;
 
-                default: break;
-            }
+            default:
+                break;
         }
+    }
 
-        if ( !IsDeviceOutputNecessary() )
-            return;
+    if (!IsDeviceOutputNecessary())
+        return;
 
-        if ( !mpGraphics && !AcquireGraphics() )
-            return;
+    if (!mpGraphics && !AcquireGraphics())
+        return;
 
-        if ( mbInitClipRegion )
-            InitClipRegion();
+    if (mbInitClipRegion)
+        InitClipRegion();
 
-        if ( mbOutputClipped )
-            return;
+    if (mbOutputClipped)
+        return;
 
-        DrawDeviceBitmapEx( rDestPt, rDestSize, rSrcPtPixel, rSrcSizePixel, 
aBmpEx );
-    }
+    DrawDeviceBitmapEx(rDestPt, rDestSize, rSrcPtPixel, rSrcSizePixel, aBmpEx);
 }
 
 BitmapEx OutputDevice::GetBitmapEx( const Point& rSrcPt, const Size& rSize ) 
const
 {
+    if (!mpAlphaVDev)
+        return BitmapEx(GetBitmap(rSrcPt, rSize));
 
     // #110958# Extract alpha value from VDev, if any
-    if( mpAlphaVDev )
-    {
-        Bitmap aAlphaBitmap( mpAlphaVDev->GetBitmap( rSrcPt, rSize ) );
-
-        // ensure 8 bit alpha
-        if (aAlphaBitmap.getPixelFormat() > vcl::PixelFormat::N8_BPP)
-            aAlphaBitmap.Convert( BmpConversion::N8BitNoConversion );
+    Bitmap aAlphaBitmap(mpAlphaVDev->GetBitmap(rSrcPt, rSize));
 
-        return BitmapEx(GetBitmap( rSrcPt, rSize ), AlphaMask( aAlphaBitmap ) 
);
-    }
+    if (aAlphaBitmap.getPixelFormat() > vcl::PixelFormat::N8_BPP)
+        aAlphaBitmap.Convert(BmpConversion::N8BitNoConversion);
 
-    return BitmapEx(GetBitmap( rSrcPt, rSize ));
+    return BitmapEx(GetBitmap(rSrcPt, rSize), AlphaMask(aAlphaBitmap));
 }
 
 void OutputDevice::DrawDeviceBitmapEx( const Point& rDestPt, const Size& 
rDestSize,
@@ -172,34 +170,39 @@ void OutputDevice::DrawDeviceBitmapEx( const Point& 
rDestPt, const Size& rDestSi
 
     if (rBitmapEx.IsAlpha())
     {
-        DrawDeviceAlphaBitmap(rBitmapEx.GetBitmap(), rBitmapEx.GetAlphaMask(), 
rDestPt, rDestSize, rSrcPtPixel, rSrcSizePixel);
+        DrawDeviceAlphaBitmap(rBitmapEx.GetBitmap(), rBitmapEx.GetAlphaMask(),
+                              rDestPt, rDestSize, rSrcPtPixel, rSrcSizePixel);
+        return;
     }
-    else if (!rBitmapEx.IsEmpty())
-    {
-        SalTwoRect aPosAry(rSrcPtPixel.X(), rSrcPtPixel.Y(), 
rSrcSizePixel.Width(), rSrcSizePixel.Height(),
-                           ImplLogicXToDevicePixel(rDestPt.X()), 
ImplLogicYToDevicePixel(rDestPt.Y()),
-                           ImplLogicWidthToDevicePixel(rDestSize.Width()),
-                           ImplLogicHeightToDevicePixel(rDestSize.Height()));
 
-        const BmpMirrorFlags nMirrFlags = AdjustTwoRect(aPosAry, 
rBitmapEx.GetSizePixel());
+    if (rBitmapEx.IsEmpty())
+        return;
 
-        if (aPosAry.mnSrcWidth && aPosAry.mnSrcHeight && aPosAry.mnDestWidth 
&& aPosAry.mnDestHeight)
-        {
+    SalTwoRect aPosAry(rSrcPtPixel.X(), rSrcPtPixel.Y(), rSrcSizePixel.Width(),
+                       rSrcSizePixel.Height(), 
ImplLogicXToDevicePixel(rDestPt.X()),
+                       ImplLogicYToDevicePixel(rDestPt.Y()),
+                       ImplLogicWidthToDevicePixel(rDestSize.Width()),
+                       ImplLogicHeightToDevicePixel(rDestSize.Height()));
 
-            if (nMirrFlags != BmpMirrorFlags::NONE)
-                rBitmapEx.Mirror(nMirrFlags);
+    const BmpMirrorFlags nMirrFlags = AdjustTwoRect(aPosAry, 
rBitmapEx.GetSizePixel());
 
-            const SalBitmap* pSalSrcBmp = 
rBitmapEx.ImplGetBitmapSalBitmap().get();
-            assert(!rBitmapEx.maAlphaMask.GetBitmap().ImplGetSalBitmap() && "I 
removed some code here that will need to be restored");
+    if (!(aPosAry.mnSrcWidth && aPosAry.mnSrcHeight && aPosAry.mnDestWidth && 
aPosAry.mnDestHeight))
+        return;
 
-            mpGraphics->DrawBitmap(aPosAry, *pSalSrcBmp, *this);
+    if (nMirrFlags != BmpMirrorFlags::NONE)
+        rBitmapEx.Mirror(nMirrFlags);
 
-            if (mpAlphaVDev)
-            {
-                // #i32109#: Make bitmap area opaque
-                mpAlphaVDev->ImplFillOpaqueRectangle( 
tools::Rectangle(rDestPt, rDestSize) );
-            }
-        }
+    const SalBitmap* pSalSrcBmp = rBitmapEx.ImplGetBitmapSalBitmap().get();
+
+    assert(!rBitmapEx.maAlphaMask.GetBitmap().ImplGetSalBitmap()
+            && "I removed some code here that will need to be restored");
+
+    mpGraphics->DrawBitmap(aPosAry, *pSalSrcBmp, *this);
+
+    if (mpAlphaVDev)
+    {
+        // #i32109#: Make bitmap area opaque
+        mpAlphaVDev->ImplFillOpaqueRectangle(tools::Rectangle(rDestPt, 
rDestSize));
     }
 }
 

Reply via email to