diff options
author | Michael Brasser <michael.brasser@live.com> | 2013-11-08 20:17:00 -0600 |
---|---|---|
committer | The Qt Project <gerrit-noreply@qt-project.org> | 2013-12-03 22:10:50 +0100 |
commit | 3a9b01127054901293b177e538eb8cfa3937e9fe (patch) | |
tree | c03b62b924591ad87598c4b755c93f432606a81d /src/quick/items/qquicktext.cpp | |
parent | 204500b6f5133a56d32799581543fbcdd4095545 (diff) |
Support toggling antialiasing for Text and Rectangle.
Task-number: QTBUG-27968
Task-number: QTBUG-34366
Change-Id: Ic446ff4470abf21696e1764f902bd71e79762697
Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com>
Diffstat (limited to 'src/quick/items/qquicktext.cpp')
-rw-r--r-- | src/quick/items/qquicktext.cpp | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/src/quick/items/qquicktext.cpp b/src/quick/items/qquicktext.cpp index 1d2e70d519..9d11bfb4ea 100644 --- a/src/quick/items/qquicktext.cpp +++ b/src/quick/items/qquicktext.cpp @@ -88,6 +88,7 @@ QQuickTextPrivate::QQuickTextPrivate() , truncated(false), hAlignImplicit(true), rightToLeftText(false) , layoutTextElided(false), textHasChanged(true), needToUpdateLayout(false), formatModifiesFontSize(false) { + implicitAntialiasing = true; } QQuickTextPrivate::ExtraData::ExtraData() @@ -298,6 +299,15 @@ qreal QQuickTextPrivate::getImplicitHeight() const } /*! + \qmlproperty bool QtQuick::Text::antialiasing + + Used to decide if the Text should use antialiasing or not. Only Text + with renderType of Text.NativeRendering can disable antialiasing. + + The default is true. +*/ + +/*! \qmlproperty enumeration QtQuick::Text::renderType Override the default rendering type for this component. @@ -1465,6 +1475,9 @@ void QQuickText::setFont(const QFont &font) QFont oldFont = d->font; d->font = font; + if (!antialiasing()) + d->font.setStyleStrategy(QFont::NoAntialias); + if (d->font.pointSizeF() != -1) { // 0.5pt resolution qreal size = qRound(d->font.pointSizeF()*2.0); @@ -1484,6 +1497,21 @@ void QQuickText::setFont(const QFont &font) emit fontChanged(d->sourceFont); } +void QQuickText::itemChange(ItemChange change, const ItemChangeData &value) +{ + Q_D(QQuickText); + Q_UNUSED(value); + if (change == ItemAntialiasingHasChanged) { + if (!antialiasing()) + d->font.setStyleStrategy(QFont::NoAntialias); + else + d->font.setStyleStrategy(QFont::PreferAntialias); + d->implicitWidthValid = false; + d->implicitHeightValid = false; + d->updateLayout(); + } +} + /*! \qmlproperty string QtQuick::Text::text |