42 const quint8*
colorAt(qreal t,
int x,
int y)
const;
49 : m_cachedGradient(cachedGradient)
65 const quint8*
colorAt(qreal t,
int x,
int y)
const;
72 : m_cachedGradient(cachedGradient)
88 const quint8*
colorAt(qreal t,
int x,
int y)
const;
96 : m_cachedGradient(cachedGradient)
97 , m_ditherUtil(ditherUtil)
112 const QRect& applyRect,
116 Q_ASSERT(!device.
isNull());
124 const int colorMode = filterConfig->
colorMode();
126 const int cachedGradientSize = device->
extent().width() + device->
extent().height();
131 processImpl(device, applyRect, config, progressUpdater, colorModePolicy);
136 processImpl(device, applyRect, config, progressUpdater, colorModePolicy);
143 processImpl(device, applyRect, config, progressUpdater, colorModePolicy);
147template <
typename ColorModeStrategy>
149 const QRect& applyRect,
152 const ColorModeStrategy &colorModeStrategy)
const
156 Q_ASSERT(!device.
isNull());
159 const int pixelSize = colorSpace->
pixelSize();
166 const quint8 *color = colorModeStrategy.colorAt(t, it.
x(), it.
y());
167 memcpy(it.
rawData(), color, pixelSize);
180 config->setDefaults();
const KoCachedGradient * m_cachedGradient
const quint8 * colorAt(qreal t, int x, int y) const
BlendColorModePolicy(const KoCachedGradient *cachedGradient)
const KisGradientMapFilterDitherCachedGradient * m_cachedGradient
KisDitherUtil * m_ditherUtil
DitherColorModePolicy(const KisGradientMapFilterDitherCachedGradient *cachedGradient, KisDitherUtil *ditherUtil)
const quint8 * colorAt(qreal t, int x, int y) const
qreal threshold(const QPoint &pos)
void setConfiguration(const KisFilterConfiguration &config, const QString &prefix="")
KoAbstractGradientSP gradient(KoAbstractGradientSP fallbackGradient=nullptr) const
const CachedEntry & cachedAt(qreal t) const
gets the color data at position 0 <= t <= 1
const quint8 * cachedAt(qreal t) const
gets the color data at position 0 <= t <= 1
KisConfigWidget * createConfigurationWidget(QWidget *parent, const KisPaintDeviceSP dev, bool useForMasks) const override
KisFilterConfigurationSP factoryConfiguration(KisResourcesInterfaceSP resourcesInterface) const override
void processImpl(KisPaintDeviceSP device, const QRect &applyRect, const KisFilterConfigurationSP config, KoUpdater *progressUpdater) const override
KisFilterConfigurationSP defaultConfiguration(KisResourcesInterfaceSP resourcesInterface) const override
const KoColorSpace * colorSpace() const
ALWAYS_INLINE quint8 * rawData()
ALWAYS_INLINE int x() const
ALWAYS_INLINE const quint8 * oldRawData() const
ALWAYS_INLINE int y() const
const quint8 * cachedAt(qreal t) const
gets the color data at position 0 <= t <= 1
virtual qreal intensityF(const quint8 *src) const =0
virtual quint32 pixelSize() const =0
virtual qreal opacityF(const quint8 *pixel) const =0
virtual void setOpacity(quint8 *pixels, quint8 alpha, qint32 nPixels) const =0
const quint8 * colorAt(qreal t, int x, int y) const
const KisGradientMapFilterNearestCachedGradient * m_cachedGradient
NearestColorModePolicy(const KisGradientMapFilterNearestCachedGradient *cachedGradient)
#define KIS_SAFE_ASSERT_RECOVER_RETURN(cond)
const KoID FiltersCategoryMapId("map_filters", ki18nc("The category of mapping filters, like bump map or gradient filter map. Verb.", "Map"))
void setSupportsPainting(bool v)