8#ifndef __KIS_COLORIZE_MASK_H
9#define __KIS_COLORIZE_MASK_H
11#include <QScopedPointer>
15#include "kritaimage_export.h"
32 int transparentIndex = -1;
41 void initializeCompositeOp();
61 QIcon
icon()
const override;
70 PositionToFilthy maskPos,
71 KisRenderPassFlags flags)
const override;
79 QRect
extent()
const override;
90 KeyStrokeColors keyStrokesColors()
const;
91 void setKeyStrokesColors(KeyStrokeColors colors);
93 void removeKeyStroke(
const KoColor &color);
98 void setUseEdgeDetection(
bool value);
99 bool useEdgeDetection()
const;
101 void setEdgeDetectionSize(qreal
value);
102 qreal edgeDetectionSize()
const;
104 void setFuzzyRadius(qreal
value);
105 qreal fuzzyRadius()
const;
107 void setCleanUpAmount(qreal
value);
108 qreal cleanUpAmount()
const;
110 void setLimitToDeviceBounds(
bool value);
111 bool limitToDeviceBounds()
const;
116 void forceRegenerateMask();
121 qint32
x()
const override;
122 qint32
y()
const override;
123 void setX(qint32 x)
override;
124 void setY(qint32 y)
override;
128 void regeneratePrefilteredDeviceIfNeeded();
131 void slotUpdateRegenerateFilling(
bool prefilterOnly =
false);
132 void slotRegenerationFinished(
bool prefilterOnly);
133 void slotRegenerationCancelled();
135 void slotUpdateOnDirtyParent();
136 void slotRecalculatePrefilteredImage();
145 bool needsUpdate()
const;
146 void setNeedsUpdate(
bool value);
148 bool showColoring()
const;
149 void setShowColoring(
bool value);
151 bool showKeyStrokes()
const;
152 void setShowKeyStrokes(
bool value);
157 void rerenderFakePaintDevice();
158 void moveAllInternalDevices(
const QPoint &diff);
160 template <
class DeviceMetricPolicy>
161 QRect calculateMaskBounds(DeviceMetricPolicy policy)
const;
169 const QScopedPointer<Private>
m_d;
float value(const T *src, size_t ch)
const QScopedPointer< Private > m_d
void sigUpdateOnDirtyParent() const
void sigKeyStrokesListChanged()
KisNodeSP clone() const override
QIcon icon() const override
KisSharedPtr< KisNode > KisNodeSP
virtual KisPaintDeviceSP colorSampleSourceDevice() const
virtual PropertyList sectionModelProperties() const
virtual void setSectionModelProperties(const PropertyList &properties)
QVector< KoColor > colors
virtual void writeMergeData(KisPainter *painter, KisPaintDeviceSP src, const QRect &rc)
virtual void mergeToLayerThreaded(KisNodeSP layer, KUndo2Command *parentCommand, const KUndo2MagicString &transactionText, int timedID, QVector< KisRunnableStrokeJobData * > *jobs)
virtual void setCurrentColor(const KoColor &color)
virtual bool supportsNonIndirectPainting() const
qint32 x() const override
virtual QRect nonDependentExtent() const
void setImage(KisImageWSP image) override
virtual QRect decorateRect(KisPaintDeviceSP &src, KisPaintDeviceSP &dst, const QRect &rc, PositionToFilthy maskPos, KisRenderPassFlags flags) const
qint32 y() const override
void setY(qint32 y) override
const KoColorSpace * colorSpace() const override
void setX(qint32 x) override
QRect exactBounds() const override
QRect extent() const override
KisPaintDeviceSP paintDevice() const override
virtual KisPaintDeviceList getLodCapableDevices() const
bool accept(KisNodeVisitor &v) override