11#include <QDomDocument>
34 resourcesInterface(_resourcesInterface)
41 channelFlags(rhs.channelFlags),
42 resourcesInterface(rhs.resourcesInterface)
46#ifdef SANITY_CHECK_FILTER_CONFIGURATION_OWNER
47 QAtomicInt sanityUsageCounter;
52 : d(new
Private(name, version, resourcesInterface))
75 d->name = root.attribute(
"name");
76 d->version = root.attribute(
"version").toInt();
79 for (e = root.firstChildElement(
"property"); !e.isNull(); e = e.nextSiblingElement()) {
80 QString
name = e.attribute(
"name");
81 QString type = e.attribute(
"type");
82 QString
value = e.text();
91 d->version = elt.attribute(
"version").toInt();
97 elt.setAttribute(
"version",
d->version);
119 return d->resourcesInterface;
139 return KisRequiredResourcesOperators::cloneWithResourcesSnapshot<KisFilterConfigurationSP>(
this, globalResourcesInterface);
149 Q_UNUSED(globalResourcesInterface);
155 Q_UNUSED(globalResourcesInterface);
177 return d->channelFlags;
185#ifdef SANITY_CHECK_FILTER_CONFIGURATION_OWNER
189 return d->sanityUsageCounter.ref();
194 return d->sanityUsageCounter.deref();
float value(const T *src, size_t ch)
void createLocalResourcesSnapshot(T *object, KisResourcesInterfaceSP globalResourcesInterface=nullptr)
bool hasLocalResourcesSnapshot(const T *object)
void setChannelFlags(QBitArray channelFlags)
QList< KoResourceLoadResult > requiredResources(KisResourcesInterfaceSP globalResourcesInterface) const
int sanityDerefUsageCounter()
KisFilterConfiguration(const QString &name, qint32 version, KisResourcesInterfaceSP resourcesInterface)
KisFilterConfigurationSP cloneWithResourcesSnapshot(KisResourcesInterfaceSP globalResourcesInterface=nullptr) const
virtual void setResourcesInterface(KisResourcesInterfaceSP resourcesInterface)
Private(const QString &_name, qint32 _version, KisResourcesInterfaceSP _resourcesInterface)
int sanityRefUsageCounter()
virtual bool isCompatible(const KisPaintDeviceSP) const
virtual QList< KoResourceLoadResult > linkedResources(KisResourcesInterfaceSP globalResourcesInterface) const
bool hasLocalResourcesSnapshot() const
virtual QList< KoResourceLoadResult > embeddedResources(KisResourcesInterfaceSP globalResourcesInterface) const
void createLocalResourcesSnapshot(KisResourcesInterfaceSP globalResourcesInterface=nullptr)
QString toXML() const override
void setVersion(qint32 version)
virtual KisFilterConfigurationSP clone() const
virtual bool compareTo(const KisPropertiesConfiguration *rhs) const override
void fromXML(const QDomElement &) override
~KisFilterConfiguration() override
Private(const Private &rhs)
virtual void fromLegacyXML(const QDomElement &)
KisResourcesInterfaceSP resourcesInterface
bool fromXML(const QString &xml, bool clear=true) override
void clearProperties()
Clear the map of properties.
virtual void setProperty(const QString &name, const QVariant &value)
QString toXML() const override
virtual bool compareTo(const KisPropertiesConfiguration *rhs) const