Krita Source Code Documentation
Loading...
Searching...
No Matches
kis_filter_configuration.h
Go to the documentation of this file.
1/*
2 * SPDX-FileCopyrightText: 2006 Boudewijn Rempt <boud@valdyas.org>
3 *
4 * SPDX-License-Identifier: GPL-2.0-or-later
5 */
6#ifndef _KIS_FILTER_CONFIGURATION_H_
7#define _KIS_FILTER_CONFIGURATION_H_
8
9#include <QMetaType>
10
12
13#include "kis_types.h"
14#include "kritaimage_export.h"
15
16
17class KoResource;
19
22
24
34#define SANITY_CHECK_FILTER_CONFIGURATION_OWNER
35
44class KRITAIMAGE_EXPORT KisFilterConfiguration : public KisPropertiesConfiguration
45{
46public:
47
51 KisFilterConfiguration(const QString & name, qint32 version, KisResourcesInterfaceSP resourcesInterface);
52
57 virtual KisFilterConfigurationSP clone() const;
58
59protected:
64public:
65 ~KisFilterConfiguration() override;
66
67public:
68
72 virtual void fromLegacyXML(const QDomElement&);
73
76
77 void fromXML(const QDomElement&) override;
78 void toXML(QDomDocument&, QDomElement&) const override;
79
83 const QString & name() const;
84
88 qint32 version() const;
89
94 virtual bool isCompatible(const KisPaintDeviceSP) const;
95
96
103 QBitArray channelFlags() const;
104
110 void setChannelFlags(QBitArray channelFlags);
111
117
122 virtual void setResourcesInterface(KisResourcesInterfaceSP resourcesInterface);
123
127 void createLocalResourcesSnapshot(KisResourcesInterfaceSP globalResourcesInterface = nullptr);
128
132 bool hasLocalResourcesSnapshot() const;
133
137 KisFilterConfigurationSP cloneWithResourcesSnapshot(KisResourcesInterfaceSP globalResourcesInterface = nullptr) const;
138
148 QList<KoResourceLoadResult> requiredResources(KisResourcesInterfaceSP globalResourcesInterface) const;
149
156 virtual QList<KoResourceLoadResult> linkedResources(KisResourcesInterfaceSP globalResourcesInterface) const;
157
163 virtual QList<KoResourceLoadResult> embeddedResources(KisResourcesInterfaceSP globalResourcesInterface) const;
164
165 virtual bool compareTo(const KisPropertiesConfiguration *rhs) const override;
166
167#ifdef SANITY_CHECK_FILTER_CONFIGURATION_OWNER
168private:
172
173#endif /* SANITY_CHECK_FILTER_CONFIGURATION_OWNER */
174
175protected:
176 void setVersion(qint32 version);
177private:
178 struct Private;
179 Private* const d;
180};
181
183
184#endif // _KIS_FILTER_CONFIGURATION_H_
a provider-like interface class for accessing resource sources in Krita.
QSharedPointer< KoResource > KoResourceSP
QSharedPointer< KisResourcesInterface > KisResourcesInterfaceSP
Q_DECLARE_METATYPE(KisPaintopLodLimitations)
KisResourcesInterfaceSP resourcesInterface() const
const QString & name() const
qint32 version() const
QBitArray channelFlags() const
bool fromXML(const QString &xml, bool clear=true) override
virtual bool compareTo(const KisPropertiesConfiguration *rhs) const