summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChristopher Sherlock <chris.sherlock79@gmail.com>2024-12-23 03:00:36 +1100
committerMichael Weghorn <m.weghorn@posteo.de>2025-01-09 17:11:41 +0100
commit84db299b24992d1dfc2e6c99bad3a67e425c1cb5 (patch)
tree5fbbeaae55e6971015b088e8d9ee9563eb72171a
parent6e29421b78105e4833f9a315f24fabc62e11408d (diff)
vcl: flatten BlendFrameCache.cxx
Change-Id: Iff5dc958c90afc82cd719176c1566413faea677e Reviewed-on: https://gerrit.libreoffice.org/c/core/+/179173 Tested-by: Jenkins Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
-rw-r--r--vcl/source/bitmap/BlendFrameCache.cxx128
1 files changed, 64 insertions, 64 deletions
diff --git a/vcl/source/bitmap/BlendFrameCache.cxx b/vcl/source/bitmap/BlendFrameCache.cxx
index 6a7d308e7666..f233591f0abe 100644
--- a/vcl/source/bitmap/BlendFrameCache.cxx
+++ b/vcl/source/bitmap/BlendFrameCache.cxx
@@ -49,88 +49,88 @@ BlendFrameCache::BlendFrameCache(Size const& rSize, sal_uInt8 nAlpha, Color cons
BitmapScopedWriteAccess pContent(aContent);
BitmapScopedWriteAccess pAlpha(aAlpha);
- if (pContent && pAlpha)
+ if (!pContent || !pAlpha)
+ return;
+
+ tools::Long x(0);
+ tools::Long y(0);
+ Scanline pScanContent = pContent->GetScanline(0);
+ Scanline pScanAlpha = pContent->GetScanline(0);
+
+ // x == 0, y == 0, top-left corner
+ pContent->SetPixelOnData(pScanContent, 0, rColorTopLeft);
+ pAlpha->SetPixelOnData(pScanAlpha, 0, BitmapColor(nAlpha));
+
+ // y == 0, top line left to right
+ for (x = 1; x < nW - 1; x++)
{
- tools::Long x(0);
- tools::Long y(0);
- Scanline pScanContent = pContent->GetScanline(0);
- Scanline pScanAlpha = pContent->GetScanline(0);
+ Color aMix(rColorTopLeft);
- // x == 0, y == 0, top-left corner
- pContent->SetPixelOnData(pScanContent, 0, rColorTopLeft);
- pAlpha->SetPixelOnData(pScanAlpha, 0, BitmapColor(nAlpha));
+ aMix.Merge(rColorTopRight, 255 - sal_uInt8((x * 255) / nW));
+ pContent->SetPixelOnData(pScanContent, x, aMix);
+ pAlpha->SetPixelOnData(pScanAlpha, x, BitmapColor(nAlpha));
+ }
- // y == 0, top line left to right
- for (x = 1; x < nW - 1; x++)
- {
- Color aMix(rColorTopLeft);
+ // x == nW - 1, y == 0, top-right corner
+ // #i123690# Caution! When nW is 1, x == nW is possible (!)
+ if (x < nW)
+ {
+ pContent->SetPixelOnData(pScanContent, x, rColorTopRight);
+ pAlpha->SetPixelOnData(pScanAlpha, x, BitmapColor(nAlpha));
+ }
- aMix.Merge(rColorTopRight, 255 - sal_uInt8((x * 255) / nW));
- pContent->SetPixelOnData(pScanContent, x, aMix);
- 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));
- // x == nW - 1, y == 0, top-right corner
// #i123690# Caution! When nW is 1, x == nW is possible (!)
if (x < nW)
{
- pContent->SetPixelOnData(pScanContent, x, rColorTopRight);
+ 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));
- // x == 0 and nW - 1, left and right line top-down
- for (y = 1; y < nH - 1; y++)
+ // y == nH - 1, bottom line left to right
+ for (x = 1; x < nW - 1; x++)
{
- 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));
- }
+ Color aMix(rColorBottomLeft);
+
+ aMix.Merge(rColorBottomRight, 255 - sal_uInt8(((x - 0) * 255) / nW));
+ pContent->SetPixelOnData(pScanContent, x, aMix);
+ pAlpha->SetPixelOnData(pScanAlpha, x, BitmapColor(nAlpha));
}
- // #i123690# Caution! When nH is 1, y == nH is possible (!)
- if (y < nH)
+ // x == nW - 1, y == nH - 1, bottom-right corner
+ // #i123690# Caution! When nW is 1, x == nW is possible (!)
+ if (x < nW)
{
- // 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->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);
}
/* vim:set shiftwidth=4 softtabstop=4 expandtab cinoptions=b1,g0,N-s cinkeys+=0=break: */