diff options
author | Yoann Lopes <yoann.lopes@nokia.com> | 2011-08-11 13:37:23 +0200 |
---|---|---|
committer | Qt by Nokia <qt-info@nokia.com> | 2011-08-11 13:43:31 +0200 |
commit | b3c391608c8a8abcc811adf85bf77c5b3d471cf2 (patch) | |
tree | 6a7865ed408078ef66fc4dcb7d3abe058ec27aa8 /src/declarative/scenegraph/qsgdistancefieldglyphnode.cpp | |
parent | 89b694ea15e46461aef5e1695e820582152c67c5 (diff) |
Added a faster subpixel antialiasing material for distance field text.
Based on two texture samples instead of five.
Can be enabled with qmlscene --text-subpixel-antialiasing-lowq
Change-Id: I726f73d812b93aa9ca38ce142d1e97b9a40d200a
Reviewed-on: http://codereview.qt.nokia.com/2861
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Yoann Lopes <yoann.lopes@nokia.com>
Diffstat (limited to 'src/declarative/scenegraph/qsgdistancefieldglyphnode.cpp')
-rw-r--r-- | src/declarative/scenegraph/qsgdistancefieldglyphnode.cpp | 14 |
1 files changed, 11 insertions, 3 deletions
diff --git a/src/declarative/scenegraph/qsgdistancefieldglyphnode.cpp b/src/declarative/scenegraph/qsgdistancefieldglyphnode.cpp index c087a09835..beeda1e476 100644 --- a/src/declarative/scenegraph/qsgdistancefieldglyphnode.cpp +++ b/src/declarative/scenegraph/qsgdistancefieldglyphnode.cpp @@ -252,10 +252,18 @@ void QSGDistanceFieldGlyphNode::updateMaterial() delete m_material; if (m_style == QSGText::Normal) { - if (m_antialiasingMode == SubPixelAntialiasing) - m_material = new QSGSubPixelDistanceFieldTextMaterial; - else + switch (m_antialiasingMode) { + case HighQualitySubPixelAntialiasing: + m_material = new QSGHiQSubPixelDistanceFieldTextMaterial; + break; + case LowQualitySubPixelAntialiasing: + m_material = new QSGLoQSubPixelDistanceFieldTextMaterial; + break; + case GrayAntialiasing: + default: m_material = new QSGDistanceFieldTextMaterial; + break; + } } else { QSGDistanceFieldStyledTextMaterial *material; if (m_style == QSGText::Outline) { |