vcl/source/bitmap/BlendFrameCache.cxx |  142 +++++++++++++++++-----------------
 1 file changed, 71 insertions(+), 71 deletions(-)

New commits:
commit 6e29421b78105e4833f9a315f24fabc62e11408d
Author:     Christopher Sherlock <chris.sherloc...@gmail.com>
AuthorDate: Mon Dec 23 02:48:15 2024 +1100
Commit:     Michael Weghorn <m.wegh...@posteo.de>
CommitDate: Thu Jan 9 17:09:05 2025 +0100

    vcl: flatten BlendFrameCache.cxx
    
    Change-Id: Ibf0ddd053c2e787c113a468ee75b03bb77610626
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/179171
    Reviewed-by: Michael Weghorn <m.wegh...@posteo.de>
    Tested-by: Jenkins

diff --git a/vcl/source/bitmap/BlendFrameCache.cxx 
b/vcl/source/bitmap/BlendFrameCache.cxx
index 190dbf3d9e44..6a7d308e7666 100644
--- a/vcl/source/bitmap/BlendFrameCache.cxx
+++ b/vcl/source/bitmap/BlendFrameCache.cxx
@@ -37,99 +37,99 @@ BlendFrameCache::BlendFrameCache(Size const& rSize, 
sal_uInt8 nAlpha, Color cons
     const tools::Long nW(rSize.Width());
     const tools::Long nH(rSize.Height());
 
-    if (nW > 1 && nH > 1)
+    if (nW <= 1 || nH <= 1)
+        return;
+
+    sal_uInt8 aEraseTrans(0xff);
+    Bitmap aContent(rSize, vcl::PixelFormat::N24_BPP);
+    AlphaMask aAlpha(rSize, &aEraseTrans);
+
+    aContent.Erase(COL_BLACK);
+
+    BitmapScopedWriteAccess pContent(aContent);
+    BitmapScopedWriteAccess pAlpha(aAlpha);
+
+    if (pContent && pAlpha)
     {
-        sal_uInt8 aEraseTrans(0xff);
-        Bitmap aContent(rSize, vcl::PixelFormat::N24_BPP);
-        AlphaMask aAlpha(rSize, &aEraseTrans);
+        tools::Long x(0);
+        tools::Long y(0);
+        Scanline pScanContent = pContent->GetScanline(0);
+        Scanline pScanAlpha = pContent->GetScanline(0);
 
-        aContent.Erase(COL_BLACK);
+        // x == 0, y == 0, top-left corner
+        pContent->SetPixelOnData(pScanContent, 0, rColorTopLeft);
+        pAlpha->SetPixelOnData(pScanAlpha, 0, BitmapColor(nAlpha));
 
-        BitmapScopedWriteAccess pContent(aContent);
-        BitmapScopedWriteAccess pAlpha(aAlpha);
+        // y == 0, top line left to right
+        for (x = 1; x < nW - 1; x++)
+        {
+            Color aMix(rColorTopLeft);
+
+            aMix.Merge(rColorTopRight, 255 - sal_uInt8((x * 255) / nW));
+            pContent->SetPixelOnData(pScanContent, x, aMix);
+            pAlpha->SetPixelOnData(pScanAlpha, x, BitmapColor(nAlpha));
+        }
 
-        if (pContent && pAlpha)
+        // x == nW - 1, y == 0, top-right corner
+        // #i123690# Caution! When nW is 1, x == nW is possible (!)
+        if (x < nW)
         {
-            tools::Long x(0);
-            tools::Long y(0);
-            Scanline pScanContent = pContent->GetScanline(0);
-            Scanline pScanAlpha = pContent->GetScanline(0);
+            pContent->SetPixelOnData(pScanContent, x, rColorTopRight);
+            pAlpha->SetPixelOnData(pScanAlpha, x, BitmapColor(nAlpha));
+        }
 
-            // x == 0, y == 0, top-left corner
-            pContent->SetPixelOnData(pScanContent, 0, rColorTopLeft);
+        // x == 0 and nW - 1, left and right line top-down
+        for (y = 1; y < nH - 1; y++)
+        {
+            pScanContent = pContent->GetScanline(y);
+            pScanAlpha = pContent->GetScanline(y);
+            Color aMixA(rColorTopLeft);
+
+            aMixA.Merge(rColorBottomLeft, 255 - sal_uInt8((y * 255) / nH));
+            pContent->SetPixelOnData(pScanContent, 0, aMixA);
             pAlpha->SetPixelOnData(pScanAlpha, 0, BitmapColor(nAlpha));
 
-            // y == 0, top line left to right
+            // #i123690# Caution! When nW is 1, x == nW is possible (!)
+            if (x < nW)
+            {
+                Color aMixB(rColorTopRight);
+
+                aMixB.Merge(rColorBottomRight, 255 - sal_uInt8((y * 255) / 
nH));
+                pContent->SetPixelOnData(pScanContent, x, aMixB);
+                pAlpha->SetPixelOnData(pScanAlpha, x, BitmapColor(nAlpha));
+            }
+        }
+
+        // #i123690# Caution! When nH is 1, y == nH is possible (!)
+        if (y < nH)
+        {
+            // x == 0, y == nH - 1, bottom-left corner
+            pContent->SetPixelOnData(pScanContent, 0, rColorBottomLeft);
+            pAlpha->SetPixelOnData(pScanAlpha, 0, BitmapColor(nAlpha));
+
+            // y == nH - 1, bottom line left to right
             for (x = 1; x < nW - 1; x++)
             {
-                Color aMix(rColorTopLeft);
+                Color aMix(rColorBottomLeft);
 
-                aMix.Merge(rColorTopRight, 255 - sal_uInt8((x * 255) / nW));
+                aMix.Merge(rColorBottomRight, 255 - sal_uInt8(((x - 0) * 255) 
/ nW));
                 pContent->SetPixelOnData(pScanContent, x, aMix);
                 pAlpha->SetPixelOnData(pScanAlpha, x, BitmapColor(nAlpha));
             }
 
-            // x == nW - 1, y == 0, top-right corner
+            // x == nW - 1, y == nH - 1, bottom-right corner
             // #i123690# Caution! When nW is 1, x == nW is possible (!)
             if (x < nW)
             {
-                pContent->SetPixelOnData(pScanContent, x, rColorTopRight);
+                pContent->SetPixelOnData(pScanContent, x, rColorBottomRight);
                 pAlpha->SetPixelOnData(pScanAlpha, x, BitmapColor(nAlpha));
             }
+        }
 
-            // x == 0 and nW - 1, left and right line top-down
-            for (y = 1; y < nH - 1; y++)
-            {
-                pScanContent = pContent->GetScanline(y);
-                pScanAlpha = pContent->GetScanline(y);
-                Color aMixA(rColorTopLeft);
-
-                aMixA.Merge(rColorBottomLeft, 255 - sal_uInt8((y * 255) / nH));
-                pContent->SetPixelOnData(pScanContent, 0, aMixA);
-                pAlpha->SetPixelOnData(pScanAlpha, 0, BitmapColor(nAlpha));
-
-                // #i123690# Caution! When nW is 1, x == nW is possible (!)
-                if (x < nW)
-                {
-                    Color aMixB(rColorTopRight);
-
-                    aMixB.Merge(rColorBottomRight, 255 - sal_uInt8((y * 255) / 
nH));
-                    pContent->SetPixelOnData(pScanContent, x, aMixB);
-                    pAlpha->SetPixelOnData(pScanAlpha, x, BitmapColor(nAlpha));
-                }
-            }
-
-            // #i123690# Caution! When nH is 1, y == nH is possible (!)
-            if (y < nH)
-            {
-                // x == 0, y == nH - 1, bottom-left corner
-                pContent->SetPixelOnData(pScanContent, 0, rColorBottomLeft);
-                pAlpha->SetPixelOnData(pScanAlpha, 0, BitmapColor(nAlpha));
-
-                // y == nH - 1, bottom line left to right
-                for (x = 1; x < nW - 1; x++)
-                {
-                    Color aMix(rColorBottomLeft);
-
-                    aMix.Merge(rColorBottomRight, 255 - sal_uInt8(((x - 0) * 
255) / nW));
-                    pContent->SetPixelOnData(pScanContent, x, aMix);
-                    pAlpha->SetPixelOnData(pScanAlpha, x, BitmapColor(nAlpha));
-                }
-
-                // x == nW - 1, y == nH - 1, bottom-right corner
-                // #i123690# Caution! When nW is 1, x == nW is possible (!)
-                if (x < nW)
-                {
-                    pContent->SetPixelOnData(pScanContent, x, 
rColorBottomRight);
-                    pAlpha->SetPixelOnData(pScanAlpha, x, BitmapColor(nAlpha));
-                }
-            }
-
-            pContent.reset();
-            pAlpha.reset();
+        pContent.reset();
+        pAlpha.reset();
 
-            m_aLastResult = BitmapEx(aContent, aAlpha);
-        }
+        m_aLastResult = BitmapEx(aContent, aAlpha);
     }
 }
 

Reply via email to