Warning, file /graphics/krita/libs/psdutils/asl/kis_asl_xml_writer.h was not indexed or was modified since last indexation (in which case cross-reference links may be missing, inaccurate or erroneous).
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_XML_WRITER_H 0008 #define __KIS_ASL_XML_WRITER_H 0009 0010 #include <QScopedPointer> 0011 #include <QVector> 0012 0013 #include <KoPattern.h> 0014 #include <KoSegmentGradient.h> 0015 0016 #include "kritapsdutils_export.h" 0017 0018 class QString; 0019 class QColor; 0020 class QPointF; 0021 class QDomDocument; 0022 0023 class KoStopGradient; 0024 class KoSegmentGradient; 0025 0026 class KRITAPSDUTILS_EXPORT KisAslXmlWriter 0027 { 0028 public: 0029 KisAslXmlWriter(); 0030 ~KisAslXmlWriter(); 0031 0032 QDomDocument document() const; 0033 0034 void enterDescriptor(const QString &key, const QString &name, const QString &classId); 0035 void leaveDescriptor(); 0036 0037 void enterList(const QString &key); 0038 void leaveList(); 0039 0040 void writeDouble(const QString &key, double value); 0041 void writeInteger(const QString &key, int value); 0042 void writeEnum(const QString &key, const QString &typeId, const QString &value); 0043 void writeUnitFloat(const QString &key, const QString &unit, double value); 0044 void writeText(const QString &key, const QString &value); 0045 void writeBoolean(const QString &key, bool value); 0046 void writeColor(const QString &key, const KoColor &value); 0047 void writePoint(const QString &key, const QPointF &value); 0048 void writePhasePoint(const QString &key, const QPointF &value); 0049 void writeOffsetPoint(const QString &key, const QPointF &value); 0050 void writeCurve(const QString &key, const QString &name, const QVector<QPointF> &points); 0051 QString writePattern(const QString &key, const KoPatternSP pattern); 0052 void writePatternRef(const QString &key, const KoPatternSP pattern, const QString &uuid); 0053 void writeSegmentGradient(const QString &key, const KoSegmentGradient &gradient); 0054 void writeStopGradient(const QString &key, const KoStopGradient &gradient); 0055 0056 private: 0057 QString getSegmentEndpointTypeString(KoGradientSegmentEndpointType segtype); 0058 void writeGradientImpl(const QString &key, 0059 const QString &name, 0060 QVector<KoColor> colors, 0061 QVector<qreal> transparencies, 0062 QVector<qreal> positions, 0063 QVector<QString> types, 0064 QVector<qreal> middleOffsets); 0065 0066 private: 0067 struct Private; 0068 const QScopedPointer<Private> m_d; 0069 }; 0070 0071 #endif /* __KIS_ASL_XML_WRITER_H */