Krita Source Code Documentation
Loading...
Searching...
No Matches
kis_paintop_factory.h
Go to the documentation of this file.
1/*
2 * SPDX-FileCopyrightText: 2008 Boudewijn Rempt <boud@valdyas.org>
3 * SPDX-FileCopyrightText: 2010 Lukáš Tvrdý <lukast.dev@gmail.com>
4 * SPDX-License-Identifier: GPL-2.0-or-later
5 */
6
7#ifndef KIS_PAINTOP_FACTORY_H_
8#define KIS_PAINTOP_FACTORY_H_
9
10#include "kis_types.h"
11#include "kritaimage_export.h"
12#include <QObject>
13#include <QString>
14#include <QIcon>
15#include <QStringList>
18
19class KisPainter;
20class KisPaintOp;
21class QWidget;
24
25class KoResource;
27
30
32
38class KRITAIMAGE_EXPORT KisPaintOpFactory : public QObject
39{
40 Q_OBJECT
41
42public:
43
49
53 KisPaintOpFactory(const QStringList & whiteListedCompositeOps = QStringList());
54 ~KisPaintOpFactory() override {}
55
56 static QString categoryStable();
57
58#ifdef HAVE_THREADED_TEXT_RENDERING_WORKAROUND
59 virtual void preinitializePaintOpIfNeeded(const KisPaintOpSettingsSP settings);
60#endif /* HAVE_THREADED_TEXT_RENDERING_WORKAROUND */
61
69 virtual KisPaintOp * createOp(const KisPaintOpSettingsSP settings, KisPainter * painter, KisNodeSP node, KisImageSP image) = 0;
70 virtual QString id() const = 0;
71 virtual QString name() const = 0;
72 virtual QString category() const = 0;
73 virtual bool lodSizeThresholdSupported() const = 0;
74
79
85
86 virtual KisInterstrokeDataFactory* createInterstrokeDataFactory(const KisPaintOpSettingsSP settings, KisResourcesInterfaceSP resourcesInterface) const;
87
91 QStringList whiteListedCompositeOps() const;
92
97 virtual QIcon icon();
98
103
107 virtual KisPaintOpConfigWidget* createConfigWidget(QWidget* parent, KisResourcesInterfaceSP resourcesInterface, KoCanvasResourcesInterfaceSP canvasResourcesInterface) = 0;
108
114 void setPriority(int newPriority);
115
116 int priority() const;
117
118private:
122};
123
124#endif
QList< QString > QStringList
QStringList m_whiteListedCompositeOps
virtual KisPaintOp * createOp(const KisPaintOpSettingsSP settings, KisPainter *painter, KisNodeSP node, KisImageSP image)=0
virtual KisPaintOpConfigWidget * createConfigWidget(QWidget *parent, KisResourcesInterfaceSP resourcesInterface, KoCanvasResourcesInterfaceSP canvasResourcesInterface)=0
virtual QList< KoResourceLoadResult > prepareEmbeddedResources(const KisPaintOpSettingsSP settings, KisResourcesInterfaceSP resourcesInterface)=0
virtual QList< KoResourceLoadResult > prepareLinkedResources(const KisPaintOpSettingsSP settings, KisResourcesInterfaceSP resourcesInterface)=0
virtual QString name() const =0
virtual KisPaintOpSettingsSP createSettings(KisResourcesInterfaceSP resourcesInterface)=0
PaintopVisibility m_visibility
virtual QString category() const =0
virtual QString id() const =0
virtual bool lodSizeThresholdSupported() const =0
a provider-like interface class for accessing resource sources in Krita.