16#include <kpluginfactory.h>
18#include <klocalizedstring.h>
34#include "ui_wdgwaveoptions.h"
107 config->setProperty(
"horizontalwavelength", 50);
108 config->setProperty(
"horizontalshift", 50);
109 config->setProperty(
"horizontalamplitude", 4);
110 config->setProperty(
"horizontalshape", 0);
111 config->setProperty(
"verticalwavelength", 50);
112 config->setProperty(
"verticalshift", 50);
113 config->setProperty(
"verticalamplitude", 4);
114 config->setProperty(
"verticalshape", 0);
124 const QRect& applyRect,
129 Q_ASSERT(device.
data() != 0);
132 int horizontalwavelength = (config && config->getProperty(
"horizontalwavelength",
value)) ?
value.toInt() : 50;
133 int horizontalshift = (config && config->getProperty(
"horizontalshift",
value)) ?
value.toInt() : 50;
134 int horizontalamplitude = (config && config->getProperty(
"horizontalamplitude",
value)) ?
value.toInt() : 4;
135 int horizontalshape = (config && config->getProperty(
"horizontalshape",
value)) ?
value.toInt() : 0;
136 int verticalwavelength = (config && config->getProperty(
"verticalwavelength",
value)) ?
value.toInt() : 50;
137 int verticalshift = (config && config->getProperty(
"verticalshift",
value)) ?
value.toInt() : 50;
138 int verticalamplitude = (config && config->getProperty(
"verticalamplitude",
value)) ?
value.toInt() : 4;
139 int verticalshape = (config && config->getProperty(
"verticalshape",
value)) ?
value.toInt() : 0;
142 if (verticalshape == 1)
148 if (horizontalshape == 1)
149 horizontalWave =
new KisTriangleWaveCurve(horizontalamplitude, horizontalwavelength, horizontalshift);
157 double xv = horizontalWave->
valueAt(destination.
y(), destination.
x());
158 double yv = verticalWave->
valueAt(destination.
x(), destination.
y());
159 source->moveTo(QPointF(xv, yv));
164 delete horizontalWave;
172 int horizontalamplitude = (config && config->getProperty(
"horizontalamplitude",
value)) ?
value.toInt() : 4;
173 int verticalamplitude = (config && config->getProperty(
"verticalamplitude",
value)) ?
value.toInt() : 4;
174 return rect.adjusted(-horizontalamplitude, -verticalamplitude, horizontalamplitude, verticalamplitude);
182#include "wavefilter.moc"
float value(const T *src, size_t ch)
KisMagneticGraph::vertex_descriptor source(typename KisMagneticGraph::edge_descriptor e, KisMagneticGraph g)
void add(KisFilterSP item)
static KisFilterRegistry * instance()
KisConfigWidget * createConfigurationWidget(QWidget *parent, const KisPaintDeviceSP dev, bool useForMasks) const override
QRect neededRect(const QRect &rect, const KisFilterConfigurationSP config=0, int lod=0) const override
QRect changedRect(const QRect &rect, const KisFilterConfigurationSP config=0, int lod=0) const override
KisFilterConfigurationSP defaultConfiguration(KisResourcesInterfaceSP resourcesInterface) const override
void processImpl(KisPaintDeviceSP device, const QRect &applyRect, const KisFilterConfigurationSP config, KoUpdater *progressUpdater) const override
KisRandomSubAccessorSP createRandomSubAccessor() const
ALWAYS_INLINE quint8 * rawData()
ALWAYS_INLINE int x() const
ALWAYS_INLINE int y() const
KisSinusoidalWaveCurve(int amplitude, int wavelength, int shift)
double valueAt(int x, int y) override
~KisSinusoidalWaveCurve() override
KisTriangleWaveCurve(int amplitude, int wavelength, int shift)
double valueAt(int x, int y) override
~KisTriangleWaveCurve() override
virtual double valueAt(int x, int y)=0
~KritaWaveFilter() override
KritaWaveFilter(QObject *parent, const QVariantList &)
K_PLUGIN_FACTORY_WITH_JSON(KritaASCCDLFactory, "kritaasccdl.json", registerPlugin< KritaASCCDL >();) KritaASCCDL
const KoID FiltersCategoryOtherId("other_filters", ki18nc("The category of filters that do not fit in a category. Noun.", "Other"))
virtual KisFilterConfigurationSP factoryConfiguration(KisResourcesInterfaceSP resourcesInterface) const
void setSupportsAdjustmentLayers(bool v)
void setSupportsPainting(bool v)
void setColorSpaceIndependence(ColorSpaceIndependence v)