Krita Source Code Documentation
Loading...
Searching...
No Matches
SvgTextLabel.h
Go to the documentation of this file.
1/*
2 * SPDX-FileCopyrightText: 2024 Wolthera van Hövell tot Westerflier <griffinvalley@gmail.com>
3 *
4 * SPDX-License-Identifier: GPL-2.0-or-later
5 */
6#ifndef SVGTEXTLABEL_H
7#define SVGTEXTLABEL_H
8
9#include <QQuickPaintedItem>
10#include <QFont>
11#include <QScopedPointer>
12
21class SvgTextLabel : public QQuickPaintedItem
22{
23 Q_OBJECT
24 QML_ELEMENT
26 Q_PROPERTY(qreal fontWeight READ fontWeight WRITE setFontWeight NOTIFY fontWeightChanged)
27 Q_PROPERTY(qreal fontWidth READ fontWidth WRITE setFontWidth NOTIFY fontWidthChanged)
28 Q_PROPERTY(QFont::Style fontStyle READ fontStyle WRITE setFontStyle NOTIFY fontStyleChanged)
29 Q_PROPERTY(qreal fontSlant READ fontSlant WRITE setFontSlant NOTIFY fontSlantChanged)
30 Q_PROPERTY(QVariantMap fontAxesValues READ fontAxesValues WRITE setFontAxesValues NOTIFY fontAxesValuesChanged)
31 Q_PROPERTY(qreal fontSize READ fontSize WRITE setFontSize NOTIFY fontSizeChanged)
32 Q_PROPERTY(QColor textColor READ textColor WRITE setTextColor NOTIFY textColorChanged)
34 Q_PROPERTY(QString text READ text WRITE setText NOTIFY textChanged)
35 Q_PROPERTY(int padding READ padding WRITE setPadding NOTIFY paddingChanged)
36 Q_PROPERTY(QString language READ language WRITE setLanguage NOTIFY languageChanged)
37 Q_PROPERTY(QRectF minimumRect READ minimumRect NOTIFY minimumRectChanged)
38
39public:
40 SvgTextLabel(QQuickItem *parent = nullptr);
41 ~SvgTextLabel();
42
43 void paint(QPainter *painter) override;
44
46
47 qreal fontWeight() const;
48
49 qreal fontWidth() const;
50
51 QFont::Style fontStyle() const;
52
53 qreal fontSlant() const;
54
55 QVariantMap fontAxesValues() const;
56
57 qreal fontSize() const;
58
59 QColor textColor() const;
60
61 QVariantMap openTypeFeatures() const;
62
63 QString text() const;
64
65 int padding() const;
66
67 QString language() const;
68
69 QRectF minimumRect() const;
70
71public Q_SLOTS:
73
74 void setFontWeight(qreal fontWeight);
75
76 void setFontWidth(qreal fontWidth);
77
78 void setFontStyle(QFont::Style fontStyle);
79
80 void setFontSlant(qreal fontSlant);
81
82 void setFontAxesValues(QVariantMap fontAxesValues);
83
84 void setFontSize(qreal fontSize);
85
86 void setTextColor(QColor textColor);
87
88 void setOpenTypeFeatures(QVariantMap openTypeFeatures);
89
90 void setText(QString text);
91
92 void setPadding(int padding);
93
94 void setLanguage(QString language);
95
96Q_SIGNALS:
98
100
102
103 void fontStyleChanged(QFont::Style fontStyle);
104
106
108
110
112
114
115 void textChanged(QString text);
116
118
120
122protected:
128 void componentComplete() override;
129private Q_SLOTS:
130 void updateShape();
131private:
132
133
134
135 struct Private;
136 const QScopedPointer<Private> d;
137};
138
139#endif // SVGTEXTLABEL_H
void setFontSize(qreal fontSize)
void setFontStyle(QFont::Style fontStyle)
void fontWidthChanged(qreal fontWidth)
void languageChanged(QString language)
void fontFamiliesChanged(QStringList)
void setFontWeight(qreal fontWeight)
void fontWeightChanged(qreal fontWeight)
void minimumRectChanged()
QColor textColor
QRectF minimumRect
QFont::Style fontStyle
QVariantMap fontAxesValues
void setLanguage(QString language)
void setOpenTypeFeatures(QVariantMap openTypeFeatures)
void setFontFamilies(QStringList fontFamilies)
void setTextColor(QColor textColor)
void fontSlantChanged(qreal fontSlant)
void fontStyleChanged(QFont::Style fontStyle)
void textColorChanged(QColor textColor)
QML_ELEMENTQStringList fontFamilies
void setPadding(int padding)
void setFontAxesValues(QVariantMap fontAxesValues)
const QScopedPointer< Private > d
void fontAxesValuesChanged(QVariantMap fontAxesValues)
void paint(QPainter *painter) override
void setText(QString text)
void fontSizeChanged(qreal fontSize)
void textChanged(QString text)
void componentComplete() override
componentComplete called when all properties have been set. used to avoid relayout being called time ...
void setFontSlant(qreal fontSlant)
QVariantMap openTypeFeatures
void openTypeFeaturesChanged(QVariantMap openTypeFeatures)
void setFontWidth(qreal fontWidth)
void paddingChanged(int padding)
QString language