Krita Source Code Documentation
Loading...
Searching...
No Matches
KisCrossChannelFilterConfiguration Class Reference

#include <kis_cross_channel_filter.h>

+ Inheritance diagram for KisCrossChannelFilterConfiguration:

Public Member Functions

KisFilterConfigurationSP clone () const override
 
virtual bool compareTo (const KisPropertiesConfiguration *rhs) const override
 
const QVector< int > driverChannels () const
 
void fromXML (const QDomElement &) override
 
void fromXML (const QDomElement &) override
 
void fromXML (const QDomElement &e) override
 
bool fromXML (const QString &xml, bool clear=true) override
 
KisCubicCurve getDefaultCurve () override
 
 KisCrossChannelFilterConfiguration (const KisCrossChannelFilterConfiguration &rhs)
 
 KisCrossChannelFilterConfiguration (int channelCount, const KoColorSpace *cs, KisResourcesInterfaceSP resourcesInterface)
 
void setDriverChannels (QVector< int > driverChannels)
 
void setProperty (const QString &name, const QVariant &value) override
 
QString toXML () const override
 
void toXML (QDomDocument &, QDomElement &) const override
 
void toXML (QDomDocument &, QDomElement &) const override
 
void toXML (QDomDocument &doc, QDomElement &root) const override
 
 ~KisCrossChannelFilterConfiguration () override
 
- Public Member Functions inherited from KisMultiChannelFilterConfiguration
const QList< KisCubicCurve > & curves () const
 
virtual void fromLegacyXML (const QDomElement &)
 
void fromLegacyXML (const QDomElement &root) override
 
void fromXML (const QDomElement &) override
 
void fromXML (const QDomElement &) override
 
void fromXML (const QDomElement &e) override
 
bool fromXML (const QString &xml, bool clear=true) override
 
bool isCompatible (const KisPaintDeviceSP) const override
 
 KisMultiChannelFilterConfiguration (const KisMultiChannelFilterConfiguration &rhs)
 
 KisMultiChannelFilterConfiguration (int channelCount, const QString &name, qint32 version, KisResourcesInterfaceSP resourcesInterface)
 
void setActiveCurve (int value)
 
void setCurves (QList< KisCubicCurve > &curves)
 
void setProperty (const QString &name, const QVariant &value) override
 
QString toXML () const override
 
void toXML (QDomDocument &, QDomElement &) const override
 
void toXML (QDomDocument &, QDomElement &) const override
 
void toXML (QDomDocument &doc, QDomElement &root) const override
 
const QVector< QVector< quint16 > > & transfers () const
 
 ~KisMultiChannelFilterConfiguration () override
 
- Public Member Functions inherited from KisColorTransformationConfiguration
KoColorTransformationcolorTransformation (const KoColorSpace *cs, const KisColorTransformationFilter *filter) const
 
void destroyCache ()
 
void invalidateColorTransformationCache ()
 Manually invalidate the cache. By default setProperty invalidates the cache but this method can be used in subclasses when setProperty is not used to set options. This forces the regeneration of the color transforms.
 
 KisColorTransformationConfiguration (const KisColorTransformationConfiguration &rhs)
 
 KisColorTransformationConfiguration (const QString &name, qint32 version, KisResourcesInterfaceSP resourcesInterface)
 
 Private ()
 
 ~KisColorTransformationConfiguration () override
 
 ~Private ()
 
- Public Member Functions inherited from Private
 Private (KisCanvas2 *c)
 
- Public Member Functions inherited from KisFilterConfiguration
QBitArray channelFlags () const
 
KisFilterConfigurationSP cloneWithResourcesSnapshot (KisResourcesInterfaceSP globalResourcesInterface=nullptr) const
 
void createLocalResourcesSnapshot (KisResourcesInterfaceSP globalResourcesInterface=nullptr)
 
virtual QList< KoResourceLoadResultembeddedResources (KisResourcesInterfaceSP globalResourcesInterface) const
 
bool hasLocalResourcesSnapshot () const
 
 KisFilterConfiguration (const QString &name, qint32 version, KisResourcesInterfaceSP resourcesInterface)
 
virtual QList< KoResourceLoadResultlinkedResources (KisResourcesInterfaceSP globalResourcesInterface) const
 
const QString & name () const
 
 Private (const Private &rhs)
 
 Private (const QString &_name, qint32 _version, KisResourcesInterfaceSP _resourcesInterface)
 
QList< KoResourceLoadResultrequiredResources (KisResourcesInterfaceSP globalResourcesInterface) const
 
KisResourcesInterfaceSP resourcesInterface () const
 
void setChannelFlags (QBitArray channelFlags)
 
virtual void setResourcesInterface (KisResourcesInterfaceSP resourcesInterface)
 
qint32 version () const
 
 ~KisFilterConfiguration () override
 
- Public Member Functions inherited from KisPropertiesConfiguration
void clearProperties ()
 Clear the map of properties.
 
virtual void dump () const
 
void fromXML (const QDomElement &) override
 
bool fromXML (const QString &xml, bool clear=true) override
 
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.
 
KisCubicCurve getCubicCurve (const QString &name, const KisCubicCurve &curve=KisCubicCurve()) const
 
double getDouble (const QString &name, double def=0.0) const
 
float getFloat (const QString &name, float def=0.0) const
 
int getInt (const QString &name, int def=0) const
 
void getPrefixedProperties (const QString &prefix, KisPropertiesConfiguration *config) const
 
void getPrefixedProperties (const QString &prefix, KisPropertiesConfigurationSP config) const
 
virtual QMap< QString, QVariant > getProperties () const
 
virtual QList< QString > getPropertiesKeys () const
 
virtual QVariant getProperty (const QString &name) const
 
virtual bool getProperty (const QString &name, QVariant &value) const
 
QString getPropertyLazy (const QString &name, const char *defaultValue) const
 
QStringList getPropertyLazy (const QString &name, const QStringList &defaultValue) const
 
template<typename T >
getPropertyLazy (const QString &name, const T &defaultValue) const
 
QString getString (const QString &name, const QString &def=QString()) const
 
QStringList getStringList (const QString &name, const QStringList &defaultValue=QStringList()) const
 
virtual bool hasProperty (const QString &name) const
 
 KisPropertiesConfiguration ()
 
 KisPropertiesConfiguration (const KisPropertiesConfiguration &rhs)
 
KisPropertiesConfigurationoperator= (const KisPropertiesConfiguration &rhs)
 
void removeProperty (const QString &name)
 
void setPrefixedProperties (const QString &prefix, const KisPropertiesConfiguration *config)
 
void setPrefixedProperties (const QString &prefix, const KisPropertiesConfigurationSP config)
 
void setProperty (const QString &name, const QStringList &value)
 
void setPropertyNotSaved (const QString &name)
 Marks a property that should not be saved by toXML.
 
QString toXML () const override
 
void toXML (QDomDocument &, QDomElement &) const override
 
 ~KisPropertiesConfiguration () override
 
- Public Member Functions inherited from KisSerializableConfiguration
 KisSerializableConfiguration ()
 
 KisSerializableConfiguration (const KisSerializableConfiguration &rhs)
 
virtual ~KisSerializableConfiguration ()
 
- Public Member Functions inherited from KisShared
bool deref ()
 
bool ref ()
 
int refCount ()
 
QAtomicInt * sharedWeakReference ()
 

Private Member Functions

bool channelIndexFromDriverPropertyName (const QString &name, int &channelIndex) const
 Takes a driver property name with format "driver#", where # is the index of the channel and puts the index on the "channelIndex" parameter.
 

Private Attributes

const KoColorSpacem_colorSpace {nullptr}
 
QVector< int > m_driverChannels
 

Additional Inherited Members

- Static Public Member Functions inherited from KisPropertiesConfiguration
static QString escapeString (const QString &string)
 
static QString extractedPrefixKey ()
 
static QString unescapeString (const QString &string)
 
- Public Attributes inherited from KisColorTransformationConfiguration
QMap< QThread *, KoColorTransformation * > colorTransformation
 
QMutex mutex
 
- Public Attributes inherited from Private
KisCanvas2canvas
 
int displayedFrame
 
int intendedFrame
 
- Public Attributes inherited from KisFilterConfiguration
QBitArray channelFlags
 
QString name
 
KisResourcesInterfaceSP resourcesInterface = 0
 
qint32 version
 
- Public Attributes inherited from KisPropertiesConfiguration
QSet< QString > notSavedProperties
 
QMap< QString, QVariant > properties
 
- Protected Member Functions inherited from KisMultiChannelFilterConfiguration
bool curveIndexFromCurvePropertyName (const QString &name, int &curveIndex) const
 Takes a curve property name with format "curve#", where # is the index of the channel and puts the index on the "curveIndex" parameter.
 
void init ()
 
void updateTransfer (int index)
 
void updateTransfers ()
 
- Protected Member Functions inherited from KisFilterConfiguration
 KisFilterConfiguration (const KisFilterConfiguration &rhs)
 
void setVersion (qint32 version)
 
- Protected Member Functions inherited from KisShared
 KisShared ()
 
 ~KisShared ()
 
- Protected Attributes inherited from KisMultiChannelFilterConfiguration
int m_activeCurve {-1}
 
int m_channelCount {0}
 
QList< KisCubicCurvem_curves
 
QVector< QVector< quint16 > > m_transfers
 

Detailed Description

Definition at line 45 of file kis_cross_channel_filter.h.

Constructor & Destructor Documentation

◆ KisCrossChannelFilterConfiguration() [1/2]

KisCrossChannelFilterConfiguration::KisCrossChannelFilterConfiguration ( int channelCount,
const KoColorSpace * cs,
KisResourcesInterfaceSP resourcesInterface )

Definition at line 47 of file kis_cross_channel_filter.cpp.

48 : KisMultiChannelFilterConfiguration(channelCount, "crosschannel", 1, resourcesInterface)
49 , m_colorSpace(cs)
50{
51 init();
52
53 int defaultDriver = 0;
54
55 if (cs) {
57 defaultDriver = qMax(0, KisMultiChannelFilter::findChannel(virtualChannels, VirtualChannelInfo::LIGHTNESS));
58 }
59
60 m_driverChannels.fill(defaultDriver, channelCount);
61}
KisMultiChannelFilterConfiguration(int channelCount, const QString &name, qint32 version, KisResourcesInterfaceSP resourcesInterface)
static QVector< VirtualChannelInfo > getVirtualChannels(const KoColorSpace *cs, int maxChannels=-1)
static int findChannel(const QVector< VirtualChannelInfo > &virtualChannels, const VirtualChannelInfo::Type &channelType)
KisResourcesInterfaceSP resourcesInterface

References KisMultiChannelFilter::findChannel(), KisMultiChannelFilter::getVirtualChannels(), KisMultiChannelFilterConfiguration::init(), VirtualChannelInfo::LIGHTNESS, and m_driverChannels.

◆ KisCrossChannelFilterConfiguration() [2/2]

KisCrossChannelFilterConfiguration::KisCrossChannelFilterConfiguration ( const KisCrossChannelFilterConfiguration & rhs)

◆ ~KisCrossChannelFilterConfiguration()

KisCrossChannelFilterConfiguration::~KisCrossChannelFilterConfiguration ( )
override

Definition at line 69 of file kis_cross_channel_filter.cpp.

70{}

Member Function Documentation

◆ channelIndexFromDriverPropertyName()

bool KisCrossChannelFilterConfiguration::channelIndexFromDriverPropertyName ( const QString & name,
int & channelIndex ) const
private

Takes a driver property name with format "driver#", where # is the index of the channel and puts the index on the "channelIndex" parameter.

Parameters
nameA string with format "driver#"
channelIndexAn int where the decoded channel index is stored
Returns
true if "name" had a valid format
false if "name" had an invalid format

Definition at line 218 of file kis_cross_channel_filter.cpp.

219{
220 QRegExp rx("driver(\\d+)");
221 if (rx.indexIn(name, 0) == -1) {
222 return false;
223 }
224
225 driverIndex = rx.cap(1).toUShort();
226 return true;
227}

References KisFilterConfiguration::name.

◆ clone()

KisFilterConfigurationSP KisCrossChannelFilterConfiguration::clone ( ) const
overridevirtual
Returns
an exact copy of the filter configuration. Resources interface is becomes shared between two configuration objects.

Reimplemented from KisColorTransformationConfiguration.

Definition at line 72 of file kis_cross_channel_filter.cpp.

73{
74 return new KisCrossChannelFilterConfiguration(*this);
75}
KisCrossChannelFilterConfiguration(int channelCount, const KoColorSpace *cs, KisResourcesInterfaceSP resourcesInterface)

References KisCrossChannelFilterConfiguration().

◆ compareTo()

bool KisCrossChannelFilterConfiguration::compareTo ( const KisPropertiesConfiguration * rhs) const
overridevirtual

Structural comparison between two instances.

Reimplemented from KisMultiChannelFilterConfiguration.

Definition at line 149 of file kis_cross_channel_filter.cpp.

150{
151 const KisCrossChannelFilterConfiguration *otherConfig = dynamic_cast<const KisCrossChannelFilterConfiguration *>(rhs);
152
153 return otherConfig
155 && m_driverChannels == otherConfig->m_driverChannels;
156}
virtual bool compareTo(const KisPropertiesConfiguration *rhs) const override

References KisMultiChannelFilterConfiguration::compareTo(), and m_driverChannels.

◆ driverChannels()

const QVector< int > KisCrossChannelFilterConfiguration::driverChannels ( ) const

Definition at line 77 of file kis_cross_channel_filter.cpp.

78{
79 return m_driverChannels;
80}

References m_driverChannels.

◆ fromXML() [1/4]

void KisFilterConfiguration::fromXML ( const QDomElement & )
overridevirtual

Fill the object from the XML encoded representation in s.

Implements KisSerializableConfiguration.

Definition at line 77 of file kis_filter_configuration.cc.

90{
91 d->version = elt.attribute("version").toInt();
93}
bool fromXML(const QString &xml, bool clear=true) override

◆ fromXML() [2/4]

void KisPropertiesConfiguration::fromXML ( const QDomElement & root)
overridevirtual

Fill the properties configuration object from the XML encoded representation in s. This function use the "Legacy" style XML of the 1.x .kra file format.

Note: the existing properties will not be cleared

Implements KisSerializableConfiguration.

Definition at line 74 of file kis_properties_configuration.cc.

71{
72 QDomElement e;
73 for (e = root.firstChildElement("param"); !e.isNull(); e = e.nextSiblingElement("param")) {
74 QString name = e.attribute("name");
75 QString value = e.text();
76
77 // Older versions didn't have a "type" parameter,
78 // so fall back to the old behavior if it's missing.
79 if (!e.hasAttribute("type")) {
80 d->properties[name] = QVariant(value);
81 } else if (e.attribute("type") == "bytearray") {
82 d->properties[name] = QVariant(QByteArray::fromBase64(value.toLatin1()));
83 } else {
84 d->properties[name] = value;
85 }
86 }
87}
float value(const T *src, size_t ch)

◆ fromXML() [3/4]

void KisCrossChannelFilterConfiguration::fromXML ( const QDomElement & )
overridevirtual

Fill the object from the XML encoded representation in s.

Implements KisSerializableConfiguration.

Definition at line 104 of file kis_cross_channel_filter.cpp.

105{
107
109 driverChannels.resize(m_curves.size());
110
111 QRegExp rx("driver(\\d+)");
112 for (QDomElement e = root.firstChildElement(); !e.isNull(); e = e.nextSiblingElement()) {
113 const QString attributeName = e.attribute("name");
114
115 if (rx.exactMatch(attributeName)) {
116 int channel = rx.cap(1).toUShort();
117 int driver = KisDomUtils::toInt(e.text());
118
119 if (0 <= channel && channel < driverChannels.size()) {
120 driverChannels[channel] = driver;
121 }
122 }
123 }
124
126}
const QVector< int > driverChannels() const
void setDriverChannels(QVector< int > driverChannels)
void fromXML(const QDomElement &e) override
int toInt(const QString &str, bool *ok=nullptr)

References driverChannels(), KisMultiChannelFilterConfiguration::fromXML(), KisMultiChannelFilterConfiguration::m_curves, setDriverChannels(), and KisDomUtils::toInt().

◆ fromXML() [4/4]

bool KisPropertiesConfiguration::fromXML ( const QString & xml,
bool clear = true )
overridevirtual

Fill the properties configuration object from the XML encoded representation in s. This function use the "Legacy" style XML of the 1.x .kra file format.

Parameters
xmlthe string that will be parsed as xml
clearif true, the properties map will be emptied.
Returns
true is the xml document could be parsed

Reimplemented from KisSerializableConfiguration.

Definition at line 74 of file kis_properties_configuration.cc.

56{
57 if (clear) {
59 }
60
61 QDomDocument doc;
62 bool retval = bool(doc.setContent(xml));
63 if (retval) {
64 QDomElement e = doc.documentElement();
65 fromXML(e);
66 }
67 return retval;
68}
void fromXML(const QDomElement &e) override
void clearProperties()
Clear the map of properties.

◆ getDefaultCurve()

KisCubicCurve KisCrossChannelFilterConfiguration::getDefaultCurve ( )
overridevirtual

Implements KisMultiChannelFilterConfiguration.

Definition at line 143 of file kis_cross_channel_filter.cpp.

144{
145 const QList<QPointF> points { QPointF(0.0f, 0.5f), QPointF(1.0f, 0.5f) };
146 return KisCubicCurve(points);
147}

◆ setDriverChannels()

void KisCrossChannelFilterConfiguration::setDriverChannels ( QVector< int > driverChannels)

Definition at line 82 of file kis_cross_channel_filter.cpp.

83{
85
86 // Clean unused properties
87 if (driverChannels.size() < m_driverChannels.size()) {
88 for (int i = driverChannels.size(); i < m_driverChannels.size(); ++i) {
89 const QString name = QLatin1String("driver") + QString::number(i);
91 }
92 }
93
95
96 // Update properties for python
97 for (int i = 0; i < m_driverChannels.size(); ++i) {
98 const QString name = QLatin1String("driver") + QString::number(i);
99 const int value = m_driverChannels[i];
101 }
102}
#define KIS_SAFE_ASSERT_RECOVER_RETURN(cond)
Definition kis_assert.h:128
void setProperty(const QString &name, const QVariant &value) override

References driverChannels(), KIS_SAFE_ASSERT_RECOVER_RETURN, KisMultiChannelFilterConfiguration::m_curves, m_driverChannels, KisFilterConfiguration::name, KisPropertiesConfiguration::removeProperty(), KisColorTransformationConfiguration::setProperty(), and value().

◆ setProperty()

void KisCrossChannelFilterConfiguration::setProperty ( const QString & name,
const QVariant & value )
overridevirtual

Invalidate the cache by default when setProperty is called. This forces regenerating the color transforms also when a property of this object changes, not only when the object is copied

Reimplemented from KisColorTransformationConfiguration.

Definition at line 158 of file kis_cross_channel_filter.cpp.

159{
160 if (name == "nTransfers") {
161 KIS_SAFE_ASSERT_RECOVER_RETURN(value.canConvert<int>());
162
163 const qint32 newChannelCount = value.toInt();
164 const qint32 prevChannelCount = m_channelCount;
165
166 if (newChannelCount == prevChannelCount) {
167 return;
168 }
169
171
172 m_driverChannels.resize(newChannelCount);
173
174 if (newChannelCount > prevChannelCount) {
175 int defaultDriver = 0;
176
177 if (m_colorSpace) {
179 defaultDriver = qMax(0, KisMultiChannelFilter::findChannel(virtualChannels, VirtualChannelInfo::LIGHTNESS));
180 }
181
182 for (qint32 i = prevChannelCount; i < newChannelCount; ++i) {
183 m_driverChannels[i] = defaultDriver;
184
185 const QString name = QLatin1String("driver") + QString::number(i);
187 }
188 } else {
189 for (qint32 i = newChannelCount; i < prevChannelCount; ++i) {
190 const QString name = QLatin1String("driver") + QString::number(i);
192 }
193 }
194
195 return;
196 }
197
198 if (name == "activeCurve") {
199 setActiveCurve(qBound(0, value.toInt(), m_channelCount));
200 }
201
202 int channelIndex;
203 if (!channelIndexFromDriverPropertyName(name, channelIndex)) {
205 return;
206 }
207 if (channelIndex < 0 || channelIndex >= m_channelCount) {
208 return;
209 }
210
211 KIS_SAFE_ASSERT_RECOVER_RETURN(value.canConvert<int>());
212
213 const int driver = value.toInt();
214 m_driverChannels[channelIndex] = driver;
216}
bool channelIndexFromDriverPropertyName(const QString &name, int &channelIndex) const
Takes a driver property name with format "driver#", where # is the index of the channel and puts the ...
void setProperty(const QString &name, const QVariant &value) override

References channelIndexFromDriverPropertyName(), KisMultiChannelFilter::findChannel(), KisMultiChannelFilter::getVirtualChannels(), KIS_SAFE_ASSERT_RECOVER_RETURN, VirtualChannelInfo::LIGHTNESS, KisMultiChannelFilterConfiguration::m_channelCount, m_colorSpace, m_driverChannels, KisFilterConfiguration::name, KisPropertiesConfiguration::removeProperty(), KisMultiChannelFilterConfiguration::setActiveCurve(), KisColorTransformationConfiguration::setProperty(), KisMultiChannelFilterConfiguration::setProperty(), and value().

◆ toXML() [1/4]

QString KisPropertiesConfiguration::toXML ( ) const
overridevirtual

Create a serialized version of this properties config This function use the "Legacy" style XML of the 1.x .kra file format.

Reimplemented from KisSerializableConfiguration.

Definition at line 75 of file kis_properties_configuration.cc.

128{
129 QDomDocument doc = QDomDocument("params");
130 QDomElement root = doc.createElement("params");
131 doc.appendChild(root);
132 toXML(doc, root);
133 return doc.toString();
134}

◆ toXML() [2/4]

void KisFilterConfiguration::toXML ( QDomDocument & ,
QDomElement &  ) const
overridevirtual

Create a serialized version of this object

Implements KisSerializableConfiguration.

Definition at line 78 of file kis_filter_configuration.cc.

96{
97 elt.setAttribute("version", d->version);
99}

◆ toXML() [3/4]

void KisPropertiesConfiguration::toXML ( QDomDocument & doc,
QDomElement & root ) const
overridevirtual

Create a serialized version of this properties config This function use the "Legacy" style XML of the 1.x .kra file format.

Implements KisSerializableConfiguration.

Definition at line 75 of file kis_properties_configuration.cc.

90{
91 QMap<QString, QVariant>::ConstIterator it;
92 for (it = d->properties.constBegin(); it != d->properties.constEnd(); ++it) {
93 if (d->notSavedProperties.contains(it.key())) {
94 continue;
95 }
96
97 QDomElement e = doc.createElement("param");
98 e.setAttribute("name", QString(it.key().toLatin1()));
99 QString type = "string";
100 QVariant v = it.value();
101 QDomText text;
102 if (v.type() == QVariant::UserType && v.userType() == qMetaTypeId<KisCubicCurve>()) {
103 text = doc.createCDATASection(v.value<KisCubicCurve>().toString());
104 } else if (v.type() == QVariant::UserType && v.userType() == qMetaTypeId<KoColor>()) {
105 QDomDocument cdataDoc = QDomDocument("color");
106 QDomElement cdataRoot = cdataDoc.createElement("color");
107 cdataDoc.appendChild(cdataRoot);
108 v.value<KoColor>().toXML(cdataDoc, cdataRoot);
109 text = cdataDoc.createCDATASection(cdataDoc.toString());
110 type = "color";
111 } else if(v.type() == QVariant::String ) {
112 text = doc.createCDATASection(v.toString()); // XXX: Unittest this!
113 type = "string";
114 } else if(v.type() == QVariant::ByteArray ) {
115 text = doc.createTextNode(QString::fromLatin1(v.toByteArray().toBase64())); // Arbitrary Data
116 type = "bytearray";
117 } else {
118 text = doc.createTextNode(v.toString());
119 type = "internal";
120 }
121 e.setAttribute("type", type);
122 e.appendChild(text);
123 root.appendChild(e);
124 }
125}
qreal v
QString toString() const

◆ toXML() [4/4]

void KisCrossChannelFilterConfiguration::toXML ( QDomDocument & ,
QDomElement &  ) const
overridevirtual

Create a serialized version of this object

Implements KisSerializableConfiguration.

Definition at line 128 of file kis_cross_channel_filter.cpp.

129{
131
132 for (int i = 0; i < m_driverChannels.size(); i++) {
133 QDomElement param = doc.createElement("param");
134 param.setAttribute("name", QString("driver%1").arg(i));
135
136 QDomText text = doc.createTextNode(KisDomUtils::toString(m_driverChannels[i]));
137 param.appendChild(text);
138
139 root.appendChild(param);
140 }
141}
QString toString(const QString &value)

References m_driverChannels, KisDomUtils::toString(), and KisMultiChannelFilterConfiguration::toXML().

Member Data Documentation

◆ m_colorSpace

const KoColorSpace* KisCrossChannelFilterConfiguration::m_colorSpace {nullptr}
private

Definition at line 71 of file kis_cross_channel_filter.h.

71{nullptr};

◆ m_driverChannels

QVector<int> KisCrossChannelFilterConfiguration::m_driverChannels
private

Definition at line 72 of file kis_cross_channel_filter.h.


The documentation for this class was generated from the following files: