aboutsummaryrefslogtreecommitdiffstats
path: root/src/declarative/scenegraph/qsgdistancefieldglyphnode.cpp
diff options
context:
space:
mode:
authorYoann Lopes <yoann.lopes@nokia.com>2011-08-11 13:37:23 +0200
committerQt by Nokia <qt-info@nokia.com>2011-08-11 13:43:31 +0200
commitb3c391608c8a8abcc811adf85bf77c5b3d471cf2 (patch)
tree6a7865ed408078ef66fc4dcb7d3abe058ec27aa8 /src/declarative/scenegraph/qsgdistancefieldglyphnode.cpp
parent89b694ea15e46461aef5e1695e820582152c67c5 (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.cpp14
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) {