Krita Source Code Documentation
Loading...
Searching...
No Matches
kis_asl_callback_object_catcher.h
Go to the documentation of this file.
1/*
2 * SPDX-FileCopyrightText: 2015 Dmitry Kazakov <dimula73@gmail.com>
3 *
4 * SPDX-License-Identifier: GPL-2.0-or-later
5 */
6
7#ifndef __KIS_ASL_CALLBACK_OBJECT_CATCHER_H
8#define __KIS_ASL_CALLBACK_OBJECT_CATCHER_H
9
11
12#include <QScopedPointer>
13#include <functional>
14
16
17#include "kritapsdutils_export.h"
18
19class KoPattern;
20
21using ASLCallbackDouble = std::function<void(double)>;
22using ASLCallbackInteger = std::function<void(int)>;
23using ASLCallbackString = std::function<void(const QString &)>;
24using ASLCallbackBoolean = std::function<void(bool)>;
25using ASLCallbackColor = std::function<void(const KoColor &)>;
26using ASLCallbackPoint = std::function<void(const QPointF &)>;
27using ASLCallbackCurve = std::function<void(const QString &, const QVector<QPointF> &)>;
28using ASLCallbackPattern = std::function<void(const KoPatternSP, const QString &)>;
29using ASLCallbackPatternRef = std::function<void(const QString &, const QString &)>;
31using ASLCallbackNewStyle = std::function<void()>;
32using ASLCallbackRawData = std::function<void(QByteArray)>;
33using ASLCallbackTransform = std::function<void(QTransform)>;
34using ASLCallbackRect = std::function<void(QRectF)>;
35
36class KRITAPSDUTILS_EXPORT KisAslCallbackObjectCatcher : public KisAslObjectCatcher
37{
38public:
41
42 void addDouble(const QString &path, double value) override;
43 void addInteger(const QString &path, int value) override;
44 void addEnum(const QString &path, const QString &typeId, const QString &value) override;
45 void addUnitFloat(const QString &path, const QString &unit, double value) override;
46 void addText(const QString &path, const QString &value) override;
47 void addBoolean(const QString &path, bool value) override;
48 void addColor(const QString &path, const KoColor &value) override;
49 void addPoint(const QString &path, const QPointF &value) override;
50 void addCurve(const QString &path, const QString &name, const QVector<QPointF> &points) override;
51 void addPattern(const QString &path, const KoPatternSP pattern, const QString &patternUuid) override;
52 void addPatternRef(const QString &path, const QString &patternUuid, const QString &patternName) override;
53 void addGradient(const QString &path, KoAbstractGradientSP gradient) override;
54 void newStyleStarted() override;
55 void addRawData(const QString &path, QByteArray ba) override;
56 void addTransform(const QString &path, const QTransform &transform) override;
57 void addRect(const QString &path, const QRectF &rect) override;
58 void addUnitRect(const QString &path, const QString &unit, const QRectF &rect) override;
59
60
61 void subscribeDouble(const QString &path, ASLCallbackDouble callback);
62 void subscribeInteger(const QString &path, ASLCallbackInteger callback);
63 void subscribeEnum(const QString &path, const QString &typeId, ASLCallbackString callback);
64 void subscribeUnitFloat(const QString &path, const QString &unit, ASLCallbackDouble callback);
65 void subscribeText(const QString &path, ASLCallbackString callback);
66 void subscribeBoolean(const QString &path, ASLCallbackBoolean callback);
67 void subscribeColor(const QString &path, ASLCallbackColor callback);
68 void subscribePoint(const QString &path, ASLCallbackPoint callback);
69 void subscribeCurve(const QString &path, ASLCallbackCurve callback);
70 void subscribePattern(const QString &path, ASLCallbackPattern callback);
71 void subscribePatternRef(const QString &path, ASLCallbackPatternRef callback);
72 void subscribeGradient(const QString &path, ASLCallbackGradient callback);
73 void subscribeNewStyleStarted(ASLCallbackNewStyle callback);
74 void subscribeRawData(const QString &path, ASLCallbackRawData callback);
75 void subscribeTransform(const QString &path, ASLCallbackTransform callback);
76 void subscribeRect(const QString &path, ASLCallbackRect callback);
77 void subscribeUnitRect(const QString &path, const QString &unit, ASLCallbackRect callback);
78
79private:
80 struct Private;
81 const QScopedPointer<Private> m_d;
82};
83
84#endif /* __KIS_ASL_CALLBACK_OBJECT_CATCHER_H */
float value(const T *src, size_t ch)
const QScopedPointer< Private > m_d
virtual void addPoint(const QString &path, const QPointF &value)
virtual void addColor(const QString &path, const KoColor &value)
virtual void addUnitFloat(const QString &path, const QString &unit, double value)
virtual void addCurve(const QString &path, const QString &name, const QVector< QPointF > &points)
virtual void addTransform(const QString &path, const QTransform &transform)
virtual void addPattern(const QString &path, const KoPatternSP pattern, const QString &patternUuid)
virtual void addGradient(const QString &path, KoAbstractGradientSP gradient)
virtual void addEnum(const QString &path, const QString &typeId, const QString &value)
virtual void addBoolean(const QString &path, bool value)
virtual void addInteger(const QString &path, int value)
virtual void addRect(const QString &path, const QRectF &rect)
virtual void addDouble(const QString &path, double value)
virtual void addUnitRect(const QString &path, const QString &unit, const QRectF &rect)
virtual void addPatternRef(const QString &path, const QString &patternUuid, const QString &patternName)
virtual void addText(const QString &path, const QString &value)
virtual void addRawData(const QString &path, QByteArray ba)
Write API docs here.
Definition KoPattern.h:21
std::function< void(bool)> ASLCallbackBoolean
std::function< void()> ASLCallbackNewStyle
std::function< void(const KoPatternSP, const QString &)> ASLCallbackPattern
std::function< void(const QString &, const QString &)> ASLCallbackPatternRef
std::function< void(QRectF)> ASLCallbackRect
std::function< void(KoAbstractGradientSP)> ASLCallbackGradient
std::function< void(QByteArray)> ASLCallbackRawData
std::function< void(const QString &)> ASLCallbackString
std::function< void(int)> ASLCallbackInteger
std::function< void(QTransform)> ASLCallbackTransform
std::function< void(const QPointF &)> ASLCallbackPoint
std::function< void(const KoColor &)> ASLCallbackColor
std::function< void(double)> ASLCallbackDouble
std::function< void(const QString &, const QVector< QPointF > &)> ASLCallbackCurve
typedef void(QOPENGLF_APIENTRYP PFNGLINVALIDATEBUFFERDATAPROC)(GLuint buffer)