aboutsummaryrefslogtreecommitdiffstats
path: root/src/quick/items/qquicktext_p.h
diff options
context:
space:
mode:
authorEskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>2020-08-12 09:27:03 +0200
committerEskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>2020-08-17 07:09:31 +0200
commitcbbbfe3bff29d8db84771e07ac6f16209b0969d1 (patch)
treea37c1a23cadc6ae6a0d8e367d0b582768e943e6a /src/quick/items/qquicktext_p.h
parent0cb02b7ee0f72674640ffe5a0fabc1dacc259de0 (diff)
Add renderTypeQuality property to Text element
For large scale text, the default distance field size gives artifacts on certain font features. We already have an environment variable which overrides this on an application level, but this will cause all distance fields to be rendered at the high resolution, whereas you may just want it for one particular text field. Since this becomes an especially important use case now that we can embed the text fields in a 3D scene, we add a property which can be used to tweak the base font size used for generating the distance fields. [ChangeLog][QtQuick][Text] Added "renderTypeQuality" property, which can be used in cases of very large fonts, where Qt's font rasterization may show some rendering artifacts when using the default quality. Fixes: QTBUG-84696 Change-Id: Ie4205e82cf441562dcc65a8e432a941a3baeddf3 Reviewed-by: Andy Nichols <andy.nichols@qt.io>
Diffstat (limited to 'src/quick/items/qquicktext_p.h')
-rw-r--r--src/quick/items/qquicktext_p.h13
1 files changed, 13 insertions, 0 deletions
diff --git a/src/quick/items/qquicktext_p.h b/src/quick/items/qquicktext_p.h
index 30e64f7185..304b82b914 100644
--- a/src/quick/items/qquicktext_p.h
+++ b/src/quick/items/qquicktext_p.h
@@ -91,6 +91,7 @@ class Q_QUICK_PRIVATE_EXPORT QQuickText : public QQuickImplicitSizeItem
Q_PROPERTY(FontSizeMode fontSizeMode READ fontSizeMode WRITE setFontSizeMode NOTIFY fontSizeModeChanged)
Q_PROPERTY(RenderType renderType READ renderType WRITE setRenderType NOTIFY renderTypeChanged)
Q_PROPERTY(QString hoveredLink READ hoveredLink NOTIFY linkHovered REVISION(2, 2))
+ Q_PROPERTY(int renderTypeQuality READ renderTypeQuality WRITE setRenderTypeQuality NOTIFY renderTypeQualityChanged REVISION(6, 0))
Q_PROPERTY(qreal padding READ padding WRITE setPadding RESET resetPadding NOTIFY paddingChanged REVISION(2, 6))
Q_PROPERTY(qreal topPadding READ topPadding WRITE setTopPadding RESET resetTopPadding NOTIFY topPaddingChanged REVISION(2, 6))
@@ -146,6 +147,14 @@ public:
};
Q_ENUM(RenderType)
+ enum RenderTypeQuality { DefaultRenderTypeQuality = -1,
+ LowRenderTypeQuality = 26,
+ NormalRenderTypeQuality = 52,
+ HighRenderTypeQuality = 104,
+ VeryHighRenderTypeQuality = 208
+ };
+ Q_ENUM(RenderTypeQuality)
+
enum LineHeightMode { ProportionalHeight, FixedHeight };
Q_ENUM(LineHeightMode)
@@ -235,6 +244,9 @@ public:
RenderType renderType() const;
void setRenderType(RenderType renderType);
+ int renderTypeQuality() const;
+ void setRenderTypeQuality(int renderTypeQuality);
+
QString hoveredLink() const;
Q_REVISION(2, 3) Q_INVOKABLE QString linkAt(qreal x, qreal y) const;
@@ -299,6 +311,7 @@ Q_SIGNALS:
Q_REVISION(2, 6) void rightPaddingChanged();
Q_REVISION(2, 6) void bottomPaddingChanged();
Q_REVISION(2, 9) void fontInfoChanged();
+ Q_REVISION(6, 0) void renderTypeQualityChanged();
protected:
QQuickText(QQuickTextPrivate &dd, QQuickItem *parent = nullptr);