Krita Source Code Documentation
Loading...
Searching...
No Matches
KoFilterEffectRegistry.cpp
Go to the documentation of this file.
1/* This file is part of the KDE project
2 * SPDX-FileCopyrightText: 2009 Jan Hambrecht <jaham@gmx.net>
3 *
4 * SPDX-License-Identifier: LGPL-2.1-or-later
5 */
6
8
9#include <QGlobalStatic>
10
11#include "KoFilterEffect.h"
13#include <KoPluginLoader.h>
14
15#include <FlakeDebug.h>
16
18
23
25{
27 config.group = "krita";
28 config.blacklist = "FilterEffectPluginsDisabled";
29 KoPluginLoader::instance()->load(QString::fromLatin1("Krita/FilterEffect"),
30 config);
31}
32
33
35{
36 qDeleteAll(doubleEntries());
37 qDeleteAll(values());
38}
39
41{
42 if (!s_instance.exists()) {
43 s_instance->init();
44 }
45 return s_instance;
46}
47
49{
50 KoFilterEffectFactoryBase * factory = get(element.tagName());
51 if (!factory)
52 return 0;
53
54 KoFilterEffect * filterEffect = factory->createFilterEffect();
55 if (filterEffect->load(element, context))
56 return filterEffect;
57
58 delete filterEffect;
59 return 0;
60}
Q_GLOBAL_STATIC(KisStoragePluginRegistry, s_instance)
virtual KoFilterEffect * createFilterEffect() const =0
This class provides a loading context for filter effects.
KoFilterEffect * createFilterEffectFromXml(const QDomElement &element, const KoFilterEffectLoadingContext &context)
static KoFilterEffectRegistry * instance()
virtual bool load(const QDomElement &element, const KoFilterEffectLoadingContext &context)=0
QList< KoFilterEffectFactoryBase * > doubleEntries() const
QList< KoFilterEffectFactoryBase * > values() const
KoFilterEffectFactoryBase * get(const QString &id) const
void load(const QString &serviceType, const PluginsConfig &config=PluginsConfig(), QObject *owner=0, bool cache=true)
static KoPluginLoader * instance()
const char * blacklist
This contains the variable name for the list of plugins (by library name) that will not be loaded.