From 433a82edee901b472b673d5318394a2c1fad0d8c Mon Sep 17 00:00:00 2001 From: jules Date: Mon, 19 Jun 2017 11:31:03 +0100 Subject: [PATCH] Added an offset to GlowEffect --- .../juce_graphics/effects/juce_GlowEffect.cpp | 19 ++++++------------- .../juce_graphics/effects/juce_GlowEffect.h | 11 ++++++----- 2 files changed, 12 insertions(+), 18 deletions(-) diff --git a/modules/juce_graphics/effects/juce_GlowEffect.cpp b/modules/juce_graphics/effects/juce_GlowEffect.cpp index 9586a4598c..e3af9ed032 100644 --- a/modules/juce_graphics/effects/juce_GlowEffect.cpp +++ b/modules/juce_graphics/effects/juce_GlowEffect.cpp @@ -24,21 +24,14 @@ ============================================================================== */ -GlowEffect::GlowEffect() - : radius (2.0f), - colour (Colours::white) -{ -} - -GlowEffect::~GlowEffect() -{ -} +GlowEffect::GlowEffect() {} +GlowEffect::~GlowEffect() {} -void GlowEffect::setGlowProperties (const float newRadius, - Colour newColour) +void GlowEffect::setGlowProperties (float newRadius, Colour newColour, Point pos) { radius = newRadius; colour = newColour; + offset = pos; } void GlowEffect::applyEffect (Image& image, Graphics& g, float scaleFactor, float alpha) @@ -53,8 +46,8 @@ void GlowEffect::applyEffect (Image& image, Graphics& g, float scaleFactor, floa blurKernel.applyToImage (temp, image, image.getBounds()); g.setColour (colour.withMultipliedAlpha (alpha)); - g.drawImageAt (temp, 0, 0, true); + g.drawImageAt (temp, offset.x, offset.y, true); g.setOpacity (alpha); - g.drawImageAt (image, 0, 0, false); + g.drawImageAt (image, offset.x, offset.y, false); } diff --git a/modules/juce_graphics/effects/juce_GlowEffect.h b/modules/juce_graphics/effects/juce_GlowEffect.h index b8ff525939..2489516825 100644 --- a/modules/juce_graphics/effects/juce_GlowEffect.h +++ b/modules/juce_graphics/effects/juce_GlowEffect.h @@ -40,7 +40,6 @@ class JUCE_API GlowEffect : public ImageEffectFilter public: //============================================================================== /** Creates a default 'glow' effect. - To customise its appearance, use the setGlowProperties() method. */ GlowEffect(); @@ -56,17 +55,19 @@ public: opacity). */ void setGlowProperties (float newRadius, - Colour newColour); + Colour newColour, + Point offset = {}); //============================================================================== /** @internal */ - void applyEffect (Image& sourceImage, Graphics& destContext, float scaleFactor, float alpha) override; + void applyEffect (Image&, Graphics&, float scaleFactor, float alpha) override; private: //============================================================================== - float radius; - Colour colour; + float radius = 2.0f; + Colour colour { Colours::white }; + Point offset; JUCE_LEAK_DETECTOR (GlowEffect) };