30 :
values ((size_t) (sizeToUse * sizeToUse)),
70 double currentTotal = 0.0;
87 const double radiusFactor = -1.0 / (radius * radius * 2);
88 const int centre =
size >> 1;
90 for (
int y =
size; --
y >= 0;)
92 for (
int x =
size; --
x >= 0;)
97 values [
x +
y *
size] = (float) std::exp (radiusFactor * (cx * cx + cy * cy));
106 const Image& sourceImage,
109 if (sourceImage == destImage)
129 auto right = area.getRight();
130 auto bottom = area.getBottom();
140 for (
int y = area.getY();
y < bottom; ++
y)
145 for (
int x = area.getX();
x <
right; ++
x)
152 for (
int yy = 0; yy <
size; ++yy)
154 const int sy =
y + yy - (
size >> 1);
161 int sx =
x - (
size >> 1);
164 for (
int xx = 0; xx <
size; ++xx)
166 if (sx >= srcData.
width)
171 const float kernelMult =
values [xx + yy *
size];
172 c1 += kernelMult * *src++;
173 c2 += kernelMult * *src++;
174 c3 += kernelMult * *src++;
175 c4 += kernelMult * *src++;
196 for (
int y = area.getY();
y < bottom; ++
y)
201 for (
int x = area.getX();
x <
right; ++
x)
207 for (
int yy = 0; yy <
size; ++yy)
209 const int sy =
y + yy - (
size >> 1);
216 int sx =
x - (
size >> 1);
219 for (
int xx = 0; xx <
size; ++xx)
221 if (sx >= srcData.
width)
226 const float kernelMult =
values [xx + yy *
size];
227 c1 += kernelMult * *src++;
228 c2 += kernelMult * *src++;
229 c3 += kernelMult * *src++;
249 for (
int y = area.getY();
y < bottom; ++
y)
254 for (
int x = area.getX();
x <
right; ++
x)
258 for (
int yy = 0; yy <
size; ++yy)
260 const int sy =
y + yy - (
size >> 1);
267 int sx =
x - (
size >> 1);
270 for (
int xx = 0; xx <
size; ++xx)
272 if (sx >= srcData.
width)
277 const float kernelMult =
values [xx + yy *
size];
278 c1 += kernelMult * *src++;
Definition juce_Image.h:310
int pixelStride
Definition juce_Image.h:355
int height
Definition juce_Image.h:356
@ writeOnly
Definition juce_Image.h:315
@ readOnly
Definition juce_Image.h:314
uint8 * getPixelPointer(int x, int y) const noexcept
Definition juce_Image.h:334
int lineStride
Definition juce_Image.h:354
int width
Definition juce_Image.h:356
uint8 * data
Definition juce_Image.h:351
void clear()
Definition juce_ImageConvolutionKernel.cpp:62
const int size
Definition juce_ImageConvolutionKernel.h:107
void setKernelValue(int x, int y, float value) noexcept
Definition juce_ImageConvolutionKernel.cpp:50
void createGaussianBlur(float blurRadius)
Definition juce_ImageConvolutionKernel.cpp:85
void setOverallSum(float desiredTotalSum)
Definition juce_ImageConvolutionKernel.cpp:68
float getKernelValue(int x, int y) const noexcept
Definition juce_ImageConvolutionKernel.cpp:41
void rescaleAllValues(float multiplier)
Definition juce_ImageConvolutionKernel.cpp:78
ImageConvolutionKernel(int size)
Definition juce_ImageConvolutionKernel.cpp:29
~ImageConvolutionKernel()
Definition juce_ImageConvolutionKernel.cpp:36
void applyToImage(Image &destImage, const Image &sourceImage, const Rectangle< int > &destinationArea) const
Definition juce_ImageConvolutionKernel.cpp:105
HeapBlock< float > values
Definition juce_ImageConvolutionKernel.h:106
Definition juce_Image.h:58
int getWidth() const noexcept
Definition juce_Image.cpp:271
PixelFormat getFormat() const noexcept
Definition juce_Image.cpp:274
int getHeight() const noexcept
Definition juce_Image.cpp:272
Rectangle< int > getBounds() const noexcept
Definition juce_Image.cpp:273
void duplicateIfShared()
Definition juce_Image.cpp:288
Definition juce_Rectangle.h:67
Rectangle getIntersection(Rectangle other) const noexcept
Definition juce_Rectangle.h:664
int y
Definition inflate.c:1588
register unsigned i
Definition inflate.c:1575
unsigned x[BMAX+1]
Definition inflate.c:1586
struct @113205115357366127300225113341150224053346037032::@137033172036070230260373056156374243321245367362 right
static void c2(register WDL_FFT_COMPLEX *a)
Definition fft.c:270
static void c4(register WDL_FFT_COMPLEX *a)
Definition fft.c:283
static PuglViewHint int value
Definition pugl.h:1708
Definition carla_juce.cpp:31
constexpr Type jmin(Type a, Type b)
Definition juce_MathsFunctions.h:106
bool isPositiveAndBelow(Type1 valueToTest, Type2 upperLimit) noexcept
Definition juce_MathsFunctions.h:279
unsigned char uint8
Definition juce_MathsFunctions.h:37
int roundToInt(const FloatType value) noexcept
Definition juce_MathsFunctions.h:465