[Libreoffice-commits] core.git: drawinglayer/source svx/source

Mike Kaganski (via logerrit) logerrit at kemper.freedesktop.org
Thu May 7 21:13:15 UTC 2020


 drawinglayer/source/processor2d/vclpixelprocessor2d.cxx  |    4 +++-
 svx/source/sdr/primitive2d/sdrcustomshapeprimitive2d.cxx |   13 +++++++------
 svx/source/sdr/primitive2d/sdrgrafprimitive2d.cxx        |   13 +++++++------
 3 files changed, 17 insertions(+), 13 deletions(-)

New commits:
commit 99c337d1d3831ce9d2c7dc1cbff713f4ac49d6ac
Author:     Mike Kaganski <mike.kaganski at collabora.com>
AuthorDate: Thu May 7 08:03:22 2020 +0300
Commit:     Mike Kaganski <mike.kaganski at collabora.com>
CommitDate: Thu May 7 23:12:41 2020 +0200

    tdf#132199: put glow before shadow, to have shadow of the glow
    
    Also take modified color into account when drawing glow.
    
    Change-Id: Iba136d2695cb783d13ff251d087066c2e8803d63
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/93605
    Tested-by: Jenkins
    Reviewed-by: Mike Kaganski <mike.kaganski at collabora.com>

diff --git a/drawinglayer/source/processor2d/vclpixelprocessor2d.cxx b/drawinglayer/source/processor2d/vclpixelprocessor2d.cxx
index 6c14c09c1a19..cb0e3124b19d 100644
--- a/drawinglayer/source/processor2d/vclpixelprocessor2d.cxx
+++ b/drawinglayer/source/processor2d/vclpixelprocessor2d.cxx
@@ -975,7 +975,9 @@ void VclPixelProcessor2D::processGlowPrimitive2D(const primitive2d::GlowPrimitiv
         BitmapFilter::Filter(mask, BitmapFilterStackBlur(fBlurRadius));
 
         // The end result is the bitmap filled with glow color and blurred 8-bit alpha mask
-        bitmap.Erase(rCandidate.getGlowColor());
+        const basegfx::BColor aGlowColor(
+            maBColorModifierStack.getModifiedColor(rCandidate.getGlowColor().getBColor()));
+        bitmap.Erase(Color(aGlowColor));
         // alpha mask will be scaled up automatically to match bitmap
         BitmapEx result(bitmap, AlphaMask(mask.GetBitmap()));
 
diff --git a/svx/source/sdr/primitive2d/sdrcustomshapeprimitive2d.cxx b/svx/source/sdr/primitive2d/sdrcustomshapeprimitive2d.cxx
index 804a653c86b2..378d78f5c6f6 100644
--- a/svx/source/sdr/primitive2d/sdrcustomshapeprimitive2d.cxx
+++ b/svx/source/sdr/primitive2d/sdrcustomshapeprimitive2d.cxx
@@ -52,6 +52,13 @@ namespace drawinglayer::primitive2d
                         getWordWrap()));
             }
 
+            // tdf#132199: put glow before shadow, to have shadow of the glow, not the opposite
+            if (!aRetval.empty() && !getSdrSTAttribute().getGlow().isDefault())
+            {
+                // glow
+                aRetval = createEmbeddedGlowPrimitive(aRetval, getSdrSTAttribute().getGlow());
+            }
+
             // add shadow
             if(!aRetval.empty() && !getSdrSTAttribute().getShadow().isDefault())
             {
@@ -71,12 +78,6 @@ namespace drawinglayer::primitive2d
                 }
             }
 
-            if(!aRetval.empty() && !getSdrSTAttribute().getGlow().isDefault())
-            {
-                    // glow
-                    aRetval = createEmbeddedGlowPrimitive(aRetval, getSdrSTAttribute().getGlow());
-            }
-
             rContainer.insert(rContainer.end(), aRetval.begin(), aRetval.end());
         }
 
diff --git a/svx/source/sdr/primitive2d/sdrgrafprimitive2d.cxx b/svx/source/sdr/primitive2d/sdrgrafprimitive2d.cxx
index 9f15f4d9fc41..2a83e5b6aeed 100644
--- a/svx/source/sdr/primitive2d/sdrgrafprimitive2d.cxx
+++ b/svx/source/sdr/primitive2d/sdrgrafprimitive2d.cxx
@@ -115,6 +115,13 @@ namespace drawinglayer::primitive2d
                         false));
             }
 
+            // tdf#132199: put glow before shadow, to have shadow of the glow, not the opposite
+            if (!aRetval.empty() && !getSdrLFSTAttribute().getGlow().isDefault())
+            {
+                // glow
+                aRetval = createEmbeddedGlowPrimitive(aRetval, getSdrLFSTAttribute().getGlow());
+            }
+
             // add shadow
             if(!getSdrLFSTAttribute().getShadow().isDefault())
             {
@@ -125,12 +132,6 @@ namespace drawinglayer::primitive2d
                     aTranslateGrf.getY());
             }
 
-            if (!aRetval.empty() && !getSdrLFSTAttribute().getGlow().isDefault())
-            {
-                // glow
-                aRetval = createEmbeddedGlowPrimitive(aRetval, getSdrLFSTAttribute().getGlow());
-            }
-
             rContainer.insert(rContainer.end(), aRetval.begin(), aRetval.end());
         }
 


More information about the Libreoffice-commits mailing list