File indexing completed on 2024-06-16 04:13:48

0001 /*
0002  *  SPDX-FileCopyrightText: 2015 Dmitry Kazakov <dimula73@gmail.com>
0003  *
0004  *  SPDX-License-Identifier: GPL-2.0-or-later
0005  */
0006 
0007 #ifndef __KIS_ASL_OBJECT_CATCHER_H
0008 #define __KIS_ASL_OBJECT_CATCHER_H
0009 
0010 #include <QVector>
0011 
0012 #include <KoPattern.h>
0013 
0014 class QString;
0015 class KoColor;
0016 class QPointF;
0017 class KoAbstractGradient;
0018 
0019 #include "kritapsdutils_export.h"
0020 
0021 template<class T>
0022 class QSharedPointer;
0023 typedef QSharedPointer<KoAbstractGradient> KoAbstractGradientSP;
0024 
0025 class KRITAPSDUTILS_EXPORT KisAslObjectCatcher
0026 {
0027 public:
0028     KisAslObjectCatcher();
0029     virtual ~KisAslObjectCatcher();
0030 
0031     virtual void addDouble(const QString &path, double value);
0032     virtual void addInteger(const QString &path, int value);
0033     virtual void addEnum(const QString &path, const QString &typeId, const QString &value);
0034     virtual void addUnitFloat(const QString &path, const QString &unit, double value);
0035     virtual void addText(const QString &path, const QString &value);
0036     virtual void addBoolean(const QString &path, bool value);
0037     virtual void addColor(const QString &path, const KoColor &value);
0038     virtual void addPoint(const QString &path, const QPointF &value);
0039     virtual void addCurve(const QString &path, const QString &name, const QVector<QPointF> &points);
0040     virtual void addPattern(const QString &path, const KoPatternSP pattern, const QString &patternUuid);
0041     virtual void addPatternRef(const QString &path, const QString &patternUuid, const QString &patternName);
0042     virtual void addGradient(const QString &path, KoAbstractGradientSP gradient);
0043 
0044     virtual void newStyleStarted();
0045 
0046     void setArrayMode(bool value);
0047 
0048 protected:
0049     bool m_arrayMode;
0050 };
0051 
0052 #endif /* __KIS_ASL_OBJECT_CATCHER_H */