Krita Source Code Documentation
Loading...
Searching...
No Matches
psd_text_data_converter.h
Go to the documentation of this file.
1/*
2 * SPDX-FileCopyrightText: 2025 Wolthera van Hövell tot Westerflier <griffinvalley@gmail.com>
3 *
4 * SPDX-License-Identifier: GPL-2.0-or-later
5 */
6#ifndef PSDTEXTDATAPARSER_H
7#define PSDTEXTDATAPARSER_H
8
9#include <QScopedPointer>
10#include <QStringList>
11#include <QRect>
12#include <QVariantHash>
13#include <QTransform>
14#include "kritapsdutils_export.h"
15
16class KoSvgTextShape;
17class KoColorSpace;
18class KoShape;
19class KoCSSFontInfo;
21class QDomElement;
22
28class KRITAPSDUTILS_EXPORT PsdTextDataConverter
29{
30public:
33
34 bool convertPSDTextEngineDataToSVG(const QVariantHash tySh,
35 const QVariantHash txt2,
36 const KoColorSpace *imageCs,
37 const int textIndex,
38 QString *svgText,
39 QString *svgStyles,
40 QPointF &offset,
41 bool &offsetByAscent,
42 bool &isHorizontal,
43 QTransform scaleToPt = QTransform());
44 bool convertToPSDTextEngineData(const QString &svgText,
45 QRectF &boundingBox,
46 const QList<KoShape *> &shapesInside,
47 QVariantHash &txt2,
48 int &textIndex,
49 QString &textTotal,
50 bool &isHorizontal,
51 QTransform scaleToPx = QTransform());
52
56 QStringList errors() const;
60 QStringList warnings() const;
61private:
62
63 QColor colorFromPSDStyleSheet(QVariantHash color, const KoColorSpace *imageCs);
64 QString stylesForPSDStyleSheet(QString &lang, QVariantHash PSDStyleSheet, QMap<int, KoCSSFontInfo> fontNames, QTransform scale, const KoColorSpace *imageCs);
65 QString stylesForPSDParagraphSheet(QVariantHash PSDParagraphSheet, QString &lang, QMap<int, KoCSSFontInfo> fontNames, QTransform scaleToPt, const KoColorSpace *imageCs);
66
67 QVariantHash styleToPSDStylesheet(const QMap<QString, QString> cssStyles, QVariantHash parentStyle, QTransform scaleToPx);
68 QVariantHash gatherParagraphStyle(QDomElement el, QVariantHash defaultProperties, bool &isHorizontal, QString *inlineSize, QTransform scaleToPx);
69 void gatherFonts(const QMap<QString, QString> cssStyles, const QString text, QVariantList &fontSet,
70 QVector<int> &lengths, QVector<int> &fontIndices);
71 void gatherStyles(QDomElement el, QString &text, QVariantHash parentStyle, QMap<QString, QString> parentCssStyles, QVariantList &styles, QVariantList &fontSet, QTransform scaleToPx);
72 struct Private;
73 const QScopedPointer<Private> d;
74};
75
76#endif // PSDTEXTDATAPARSER_H
The PsdTextDataConverter class.
const QScopedPointer< Private > d
The KoCSSFontInfo class Convenience struct to make it easier to use KoFontRegistry....