19#include "ui_wdg_gaussian_blur.h"
48 config->setProperty(
"horizRadius", 5);
49 config->setProperty(
"vertRadius", 5);
50 config->setProperty(
"lockAspect",
true);
61 Q_ASSERT(device != 0);
67 const qreal horizontalRadius = t.
scale(config->getDouble(
"horizRadius", 5));
68 const qreal verticalRadius = t.
scale(config->getDouble(
"vertRadius", 5));
70 QBitArray channelFlags;
72 channelFlags = config->channelFlags();
74 if (channelFlags.isEmpty() || !config) {
79 horizontalRadius, verticalRadius,
80 channelFlags, progressUpdater);
95 return rect.adjusted(-halfWidth * 2, -halfHeight * 2, halfWidth * 2, halfHeight * 2);
107 return rect.adjusted( -halfWidth, -halfHeight, halfWidth, halfHeight);
114 const float maxRadiusForMask = 100.0;
116 return config->getFloat(
"horizRadius", 5.0) <= maxRadiusForMask &&
117 config->getFloat(
"vertRadius", 5.0) <= maxRadiusForMask;
124 const float maxRadiusForMask = 100.0;
126 if (config->getFloat(
"horizRadius", 5.0) > maxRadiusForMask) {
127 config->setProperty(
"horizRadius", maxRadiusForMask);
130 if (config->getFloat(
"vertRadius", 5.0) > maxRadiusForMask) {
131 config->setProperty(
"vertRadius", maxRadiusForMask);
float value(const T *src, size_t ch)
void setSupportsLevelOfDetail(bool value)
void processImpl(KisPaintDeviceSP device, const QRect &rect, const KisFilterConfigurationSP config, KoUpdater *progressUpdater) const override
bool configurationAllowedForMask(KisFilterConfigurationSP config) const override
void fixLoadedFilterConfigurationForMasks(KisFilterConfigurationSP config) const override
QRect neededRect(const QRect &rect, const KisFilterConfigurationSP _config, int lod) const override
KisFilterConfigurationSP defaultConfiguration(KisResourcesInterfaceSP resourcesInterface) const override
QRect changedRect(const QRect &rect, const KisFilterConfigurationSP _config, int lod) const override
KisConfigWidget * createConfigurationWidget(QWidget *parent, const KisPaintDeviceSP dev, bool useForMasks) const override
static void applyGaussian(KisPaintDeviceSP device, const QRect &rect, qreal xRadius, qreal yRadius, const QBitArray &channelFlags, KoUpdater *updater, bool createTransaction=false, KisConvolutionBorderOp borderOp=BORDER_REPEAT)
static int kernelSizeFromRadius(qreal radius)
const KoColorSpace * colorSpace() const
virtual quint32 channelCount() const =0
#define KIS_SAFE_ASSERT_RECOVER_RETURN(cond)
const KoID FiltersCategoryBlurId("blur_filters", ki18nc("The category of blur filters, like gaussian blur. Verb.", "Blur"))
virtual KisFilterConfigurationSP factoryConfiguration(KisResourcesInterfaceSP resourcesInterface) const
void setSupportsAdjustmentLayers(bool v)
void setSupportsPainting(bool v)
void setColorSpaceIndependence(ColorSpaceIndependence v)