9#include <QGlobalStatic>
11#include <klocalizedstring.h>
36 Q_FOREACH (
const QString &
id,
keys()) {
50 if (!s_registryInstance.exists()) {
54 return s_registryInstance;
57#ifdef HAVE_THREADED_TEXT_RENDERING_WORKAROUND
63 f->preinitializePaintOpIfNeeded(preset->settings());
70 warnKrita <<
" KisPaintOpRegistry::paintOp painter is null";
78 KisPaintOp * op = f->createOp(settings, painter, node, image);
83 warnKrita <<
"Could not create paintop for factory" <<
id <<
"with settings" << settings;
89 if (!preset)
return 0;
90 if (!painter)
return 0;
91 return paintOp(preset->paintOp().id(), preset->settings(), painter, node, image);
99 return f->createInterstrokeDataFactory(preset->settings(), preset->resourcesInterface());
112 settings->setProperty(
"paintop",
id.
id());
126 preset->setName(i18n(
"default"));
128 preset->setSettings(s);
129 preset->setPaintOp(
id);
130 Q_ASSERT(!preset->paintOp().id().isEmpty());
131 preset->setValid(
true);
141 QPixmap
p = QPixmap(22, 22);
142 p.fill(Qt::transparent);
152 Q_FOREACH (
const QString & key,
keys()) {
153 answer.append(
KoID(key,
get(key)->name()));
Q_GLOBAL_STATIC(KisStoragePluginRegistry, s_instance)
static KisPaintOpRegistry * instance()
QList< KoID > listKeys() const
KisPaintOpSettingsSP createSettings(const KoID &id, KisResourcesInterfaceSP resourcesInterface) const
~KisPaintOpRegistry() override
KisPaintOp * paintOp(const KisPaintOpPresetSP preset, KisPainter *painter, KisNodeSP node, KisImageSP image) const
KisInterstrokeDataFactory * createInterstrokeDataFactory(KisPaintOpPresetSP preset) const
KisPaintOpPresetSP defaultPreset(const KoID &id, KisResourcesInterfaceSP resourcesInterface) const
QIcon icon(const KoID &id) const
const KisPaintOpFactory * value(const QString &id) const
KisPaintOpFactory * get(const QString &id) const
QList< QString > keys() const
void load(const QString &serviceType, const PluginsConfig &config=PluginsConfig(), QObject *owner=0, bool cache=true)
static KoPluginLoader * instance()
QSharedPointer< KisPaintOpPreset > KisPaintOpPresetSP