Use qFloor instead of qRound for glyph coordinates
authorJiang Jiang <jiang.jiang@nokia.com>
Wed, 4 Jul 2012 16:49:20 +0000 (18:49 +0200)
committerQt by Nokia <qt-info@nokia.com>
Thu, 5 Jul 2012 08:13:08 +0000 (10:13 +0200)
Like we did in raster paint engine to make sure glyphs are positioned
correctly.

Change-Id: I1327b8727bd2b5085dfb2edc11b4d049403a2fb5
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@nokia.com>
src/quick/scenegraph/qsgdefaultglyphnode_p.cpp

index 33f02a8..4c4f97a 100644 (file)
@@ -50,6 +50,7 @@
 #include <QtQuick/private/qsgtexture_p.h>
 
 #include <private/qrawfont_p.h>
+#include <QtCore/qmath.h>
 
 QT_BEGIN_NAMESPACE
 
@@ -214,8 +215,8 @@ void QSGTextMaskMaterial::populate(const QPointF &p,
          const QTextureGlyphCache::Coord &c = cache->coords.value(glyph);
 
          QPointF glyphPosition = glyphPositions.at(i) + position;
-         int x = qRound(glyphPosition.x()) + c.baseLineX - margin;
-         int y = qRound(glyphPosition.y()) - c.baseLineY - margin;
+         int x = qFloor(glyphPosition.x()) + c.baseLineX - margin;
+         int y = qFloor(glyphPosition.y()) - c.baseLineY - margin;
 
          *boundingRect |= QRectF(x + margin, y + margin, c.w, c.h);