32 d[0] = (
uint8) ((
d[0] +
d[delta] + 1) / 3);
40 d[0] = (
uint8) ((last +
d[0] +
d[delta] + 1) / 3);
46 d[0] = (
uint8) ((last +
d[0] + 1) / 3);
50 const int lineStride,
const int repetitions)
noexcept
55 for (
int i = repetitions; --
i >= 0;)
59 for (
int i = repetitions; --
i >= 0;)
98 .getIntersection (
g.getClipBounds().expanded (
radius + 1));
100 if (area.getWidth() > 2 && area.getHeight() > 2)
108 (
float) (
offset.y - area.getY())));
114 g.drawImageAt (renderedPath, area.getX(), area.getY(),
true);
119 bool isCorner,
float centreX,
float centreY,
float edgeX,
float edgeY)
125 g.setGradientFill (cg);
133 for (
float i = 0.05f;
i < 1.0f;
i += 0.1f)
136 const float radiusInset = (float)
radius / 2.0f;
137 const float expandedRadius = (float)
radius + radiusInset;
141 auto r = area.expanded (expandedRadius);
142 auto top =
r.removeFromTop (expandedRadius);
143 auto bottom =
r.removeFromBottom (expandedRadius);
145 drawShadowSection (
g, cg, top.removeFromLeft (expandedRadius),
true, 1.0f, 1.0f, 0, 1.0f);
146 drawShadowSection (
g, cg, top.removeFromRight (expandedRadius),
true, 0, 1.0f, 1.0f, 1.0f);
149 drawShadowSection (
g, cg, bottom.removeFromLeft (expandedRadius),
true, 1.0f, 0, 0, 0);
150 drawShadowSection (
g, cg, bottom.removeFromRight (expandedRadius),
true, 0, 0, 1.0f, 0);
173 s.colour =
s.colour.withMultipliedAlpha (alpha);
174 s.offset.x =
roundToInt ((
float)
s.offset.x * scaleFactor);
175 s.offset.y =
roundToInt ((
float)
s.offset.y * scaleFactor);
179 g.setOpacity (alpha);
180 g.drawImageAt (
image, 0, 0);
#define noexcept
Definition DistrhoDefines.h:72
Definition juce_ColourGradient.h:38
Point< float > point2
Definition juce_ColourGradient.h:195
bool isRadial
Definition juce_ColourGradient.h:202
Point< float > point1
Definition juce_ColourGradient.h:195
int addColour(double proportionAlongGradient, Colour colour)
Definition juce_ColourGradient.cpp:113
Definition juce_Colour.h:38
DropShadowEffect()
Definition juce_DropShadowEffect.cpp:161
void setShadowProperties(const DropShadow &newShadow)
Definition juce_DropShadowEffect.cpp:164
void applyEffect(Image &sourceImage, Graphics &destContext, float scaleFactor, float alpha) override
Definition juce_DropShadowEffect.cpp:169
DropShadow shadow
Definition juce_DropShadowEffect.h:108
~DropShadowEffect() override
Definition juce_DropShadowEffect.cpp:162
Definition juce_GraphicsContext.h:45
void fillPath(const Path &path) const
Definition juce_GraphicsContext.cpp:561
void setColour(Colour newColour)
Definition juce_GraphicsContext.cpp:278
Definition juce_Image.h:310
int height
Definition juce_Image.h:356
@ readWrite
Definition juce_Image.h:316
int lineStride
Definition juce_Image.h:354
int width
Definition juce_Image.h:356
uint8 * data
Definition juce_Image.h:351
Definition juce_Image.h:58
Image convertedToFormat(PixelFormat newFormat) const
Definition juce_Image.cpp:317
void duplicateIfShared()
Definition juce_Image.cpp:288
bool isValid() const noexcept
Definition juce_Image.h:147
@ SingleChannel
Definition juce_Image.h:68
Definition juce_Path.h:65
Rectangle< float > getBounds() const noexcept
Definition juce_Path.cpp:200
Definition juce_Point.h:42
Definition juce_Rectangle.h:67
Rectangle< float > toFloat() const noexcept
Definition juce_Rectangle.h:873
Rectangle reduced(ValueType deltaX, ValueType deltaY) const noexcept
Definition juce_Rectangle.h:485
Point< ValueType > getRelativePoint(FloatType relativeX, FloatType relativeY) const noexcept
Definition juce_Rectangle.h:581
int y
Definition inflate.c:1588
unsigned d
Definition inflate.c:940
int g
Definition inflate.c:1573
register unsigned i
Definition inflate.c:1575
unsigned s
Definition inflate.c:1555
unsigned x[BMAX+1]
Definition inflate.c:1586
static int int height
Definition pugl.h:1594
static int width
Definition pugl.h:1593
JSAMPIMAGE data
Definition jpeglib.h:945
const Colour white
Definition juce_Colours.h:180
Definition carla_juce.cpp:31
static void blurSingleChannelImage(uint8 *const data, const int width, const int height, const int lineStride, const int repetitions) noexcept
Definition juce_DropShadowEffect.cpp:49
unsigned int uint32
Definition juce_MathsFunctions.h:45
static void drawShadowSection(Graphics &g, ColourGradient &cg, Rectangle< float > area, bool isCorner, float centreX, float centreY, float edgeX, float edgeY)
Definition juce_DropShadowEffect.cpp:118
static void blurDataTriplets(uint8 *d, int num, const int delta) noexcept
Definition juce_DropShadowEffect.cpp:29
unsigned char uint8
Definition juce_MathsFunctions.h:37
int roundToInt(const FloatType value) noexcept
Definition juce_MathsFunctions.h:465
@ image
Definition juce_AccessibilityRole.h:42
Definition juce_DropShadowEffect.h:36
Point< int > offset
Definition juce_DropShadowEffect.h:64
void drawForPath(Graphics &g, const Path &path) const
Definition juce_DropShadowEffect.cpp:92
void drawForImage(Graphics &g, const Image &srcImage) const
Definition juce_DropShadowEffect.cpp:76
int radius
Definition juce_DropShadowEffect.h:61
void drawForRectangle(Graphics &g, const Rectangle< int > &area) const
Definition juce_DropShadowEffect.cpp:129
Colour colour
Definition juce_DropShadowEffect.h:58
int r
Definition crypt.c:458