11#include <QMutexLocker>
13#include <klocalizedstring.h>
21 << i18nc(
"Screentone Pattern Type - Dots",
"Dots")
22 << i18nc(
"Screentone Pattern Type - Lines",
"Lines");
29 << i18nc(
"Screentone Pattern - Round Dots",
"Round")
30 << i18nc(
"Screentone Pattern - Ellipse Dots (Krita 4 legacy version)",
"Ellipse (Legacy)")
31 << i18nc(
"Screentone Pattern - Ellipse Dots",
"Ellipse")
32 << i18nc(
"Screentone Pattern - Diamond Dots",
"Diamond")
33 << i18nc(
"Screentone Pattern - Square Dots",
"Square");
36 << i18nc(
"Screentone Pattern - Straight Lines",
"Straight")
37 << i18nc(
"Screentone Pattern - Sine Wave Lines",
"Sine Wave")
38 << i18nc(
"Screentone Pattern - Triangular Wave Lines",
"Triangular Wave")
39 << i18nc(
"Screentone Pattern - Sawtooth Wave Lines",
"Sawtooth Wave")
40 << i18nc(
"Screentone Pattern - Curtains Lines",
"Curtains");
53 << i18nc(
"Screentone Interpolation Method - Linear",
"Linear")
54 << i18nc(
"Screentone Interpolation Method - Sinusoidal",
"Sinusoidal");
58 << i18nc(
"Screentone Interpolation Method - Linear",
"Linear")
59 << i18nc(
"Screentone Interpolation Method - Sinusoidal",
"Sinusoidal");
89 QMutexLocker ml(&m_templateMutex);
90 if (!m_cachedTemplate) {
93 return *m_cachedTemplate;
98 QMutexLocker ml(&m_templateMutex);
99 m_cachedTemplate.reset();
116 m_d->m_cachedTemplate = rhs.
m_d->m_cachedTemplate;
269 return m_d->getTemplate();
275 m_d->invalidateTemplate();
281 m_d->invalidateTemplate();
287 m_d->invalidateTemplate();
292 setProperty(
"equalization_mode", newEqualizationMode);
298 v.setValue(newForegroundColor);
305 v.setValue(newBackgroundColor);
311 setProperty(
"foreground_opacity", newForegroundOpacity);
316 setProperty(
"background_opacity", newBackgroundOpacity);
337 m_d->invalidateTemplate();
348 m_d->invalidateTemplate();
354 m_d->invalidateTemplate();
360 m_d->invalidateTemplate();
365 setProperty(
"constrain_frequency", newConstrainFrequency);
366 m_d->invalidateTemplate();
372 m_d->invalidateTemplate();
378 m_d->invalidateTemplate();
384 m_d->invalidateTemplate();
390 m_d->invalidateTemplate();
396 m_d->invalidateTemplate();
402 m_d->invalidateTemplate();
408 m_d->invalidateTemplate();
414 m_d->invalidateTemplate();
419 setProperty(
"align_to_pixel_grid", newAlignToPixelGrid);
420 m_d->invalidateTemplate();
425 setProperty(
"align_to_pixel_grid_x", newAlignToPixelGridX);
426 m_d->invalidateTemplate();
431 setProperty(
"align_to_pixel_grid_y", newAlignToPixelGridY);
432 m_d->invalidateTemplate();
QList< QString > QStringList
QStringList screentoneInterpolationNames(int pattern, int shape)
QStringList screentonePatternNames()
QStringList screentoneShapeNames(int pattern)
@ KisScreentoneShapeType_EllipseDots
@ KisScreentoneShapeType_EllipseDotsLegacy
@ KisScreentoneShapeType_RoundDots
@ KisScreentoneSizeMode_PixelBased
@ KisScreentoneEqualizationMode_None
@ KisScreentonePatternType_Lines
@ KisScreentonePatternType_Dots
const KisScreentoneGeneratorTemplate & getTemplate() const
void invalidateTemplate()
QSharedPointer< KisScreentoneGeneratorTemplate > m_cachedTemplate
Private(KisScreentoneGeneratorConfiguration *q)
KisScreentoneGeneratorConfiguration * m_q
void setForegroundColor(const KoColor &newForegroundColor)
static const KoColor & defaultForegroundColor()
void setRotation(qreal newRotation)
virtual KisFilterConfigurationSP clone() const override
int interpolation() const
static const KoColor & defaultBackgroundColor()
static constexpr int defaultAlignToPixelGridX()
void setSizeX(qreal newSizeX)
static constexpr int defaultUnits()
static constexpr bool defaultInvert()
void setPattern(int newPattern)
int foregroundOpacity() const
static constexpr qreal defaultPositionX()
void setBackgroundColor(const KoColor &newBackgroundColor)
void setForegroundOpacity(int newForegroundOpacity)
static constexpr qreal defaultBrightness()
static constexpr qreal defaultFrequencyY()
void setInvert(bool newInvert)
int backgroundOpacity() const
void setBrightness(qreal newBrightness)
static constexpr int defaultForegroundOpacity()
void setConstrainSize(bool newConstrainSize)
static constexpr int defaultShape()
static constexpr bool defaultConstrainFrequency()
static constexpr qreal defaultSizeY()
KoColor foregroundColor() const
static constexpr int defaultPattern()
static QString defaultName()
static constexpr qreal defaultResolution()
void setContrast(qreal newContrast)
static constexpr int defaultAlignToPixelGridY()
static constexpr bool defaultAlignToPixelGrid()
void setPositionX(qreal newPositionX)
void setSizeMode(int newSizeMode)
static constexpr int defaultInterpolation()
static constexpr qreal defaultRotation()
static constexpr int defaultBackgroundOpacity()
bool alignToPixelGrid() const
void setAlignToPixelGrid(bool newAlignToPixelGrid)
void setShape(int newShape)
void setSizeY(qreal newSizeY)
static constexpr bool defaultConstrainSize()
int equalizationMode() const
void setShearY(qreal newShearY)
bool constrainFrequency() const
static constexpr qreal defaultContrast()
static constexpr qreal defaultSizeX()
void setShearX(qreal newShearX)
bool constrainSize() const
int alignToPixelGridX() const
void setUnits(int newUnits)
static constexpr qreal defaultShearX()
void setEqualizationMode(int newEqualizationMode)
const KisScreentoneGeneratorTemplate & getTemplate() const
void setAlignToPixelGridX(int newAlignToPixelGridX)
KisScreentoneGeneratorConfiguration(qint32 version, KisResourcesInterfaceSP resourcesInterface)
void setResolution(qreal newResolution)
void setConstrainFrequency(bool newConstrainFrequency)
void setBackgroundOpacity(int newBackgroundOpacity)
void setInterpolation(int newInterpolation)
void setAlignToPixelGridY(int newAlignToPixelGridY)
~KisScreentoneGeneratorConfiguration()
int alignToPixelGridY() const
void setFrequencyY(qreal newFrequencyY)
QScopedPointer< Private > m_d
KoColor backgroundColor() const
void setFrequencyX(qreal newFrequencyX)
static constexpr qreal defaultPositionY()
static constexpr qreal defaultFrequencyX()
void setPositionY(qreal newPositionY)
static constexpr int defaultEqualizationMode()
static constexpr int defaultSizeMode()
static constexpr qreal defaultShearY()
KisResourcesInterfaceSP resourcesInterface
virtual void setProperty(const QString &name, const QVariant &value)
bool getBool(const QString &name, bool def=false) const
KoColor getColor(const QString &name, const KoColor &color=KoColor()) const
getColor fetch the given property as a KoColor.
int getInt(const QString &name, int def=0) const
double getDouble(const QString &name, double def=0.0) const