diff options
author | aavit <qt-info@nokia.com> | 2011-04-01 13:18:33 (GMT) |
---|---|---|
committer | aavit <qt-info@nokia.com> | 2011-04-01 13:18:33 (GMT) |
commit | ab1a46a128e938303f41727e24d5681669ff9680 (patch) | |
tree | 05b1e207e8ae3bdbeb7f40dbb9a131555c0016a6 | |
parent | 248d2c47d6166b7384db40ae0f352de67acd0a86 (diff) | |
parent | bf03b38d2b32a0cfca181398597884e4252466f4 (diff) | |
download | Qt-ab1a46a128e938303f41727e24d5681669ff9680.zip Qt-ab1a46a128e938303f41727e24d5681669ff9680.tar.gz Qt-ab1a46a128e938303f41727e24d5681669ff9680.tar.bz2 |
Merge branch 'master' of scm.dev.nokia.troll.no:qt/qt-fire-team
-rw-r--r-- | src/gui/painting/qpaintengine_raster.cpp | 7 | ||||
-rw-r--r-- | src/gui/painting/qpainter.cpp | 3 | ||||
-rw-r--r-- | src/gui/painting/qtextureglyphcache.cpp | 2 | ||||
-rw-r--r-- | src/gui/text/qfontengine_ft.cpp | 2 |
4 files changed, 6 insertions, 8 deletions
diff --git a/src/gui/painting/qpaintengine_raster.cpp b/src/gui/painting/qpaintengine_raster.cpp index 9f3b9b9..6902543 100644 --- a/src/gui/painting/qpaintengine_raster.cpp +++ b/src/gui/painting/qpaintengine_raster.cpp @@ -3191,15 +3191,10 @@ bool QRasterPaintEngine::drawCachedGlyphs(int numGlyphs, const glyph_t *glyphs, rightShift = 3; // divide by 8 int margin = cache->glyphMargin(); - - bool supportsSubPixelPositions = fontEngine->supportsSubPixelPositions(); - const uchar *bits = image.bits(); for (int i=0; i<numGlyphs; ++i) { - QFixed subPixelPosition; - if (supportsSubPixelPositions) - subPixelPosition = cache->subPixelPositionForX(positions[i].x); + QFixed subPixelPosition = cache->subPixelPositionForX(positions[i].x); QTextureGlyphCache::GlyphAndSubPixelPosition glyph(glyphs[i], subPixelPosition); const QTextureGlyphCache::Coord &c = cache->coords[glyph]; if (c.isNull()) diff --git a/src/gui/painting/qpainter.cpp b/src/gui/painting/qpainter.cpp index 64ef549..50d65e6 100644 --- a/src/gui/painting/qpainter.cpp +++ b/src/gui/painting/qpainter.cpp @@ -6468,7 +6468,8 @@ static void drawTextItemDecoration(QPainter *painter, const QPointF &pos, const const qreal underlineOffset = fe->underlinePosition().toReal(); // deliberately ceil the offset to avoid the underline coming too close to // the text above it. - const qreal underlinePos = pos.y() + qCeil(underlineOffset); + const qreal aliasedCoordinateDelta = 0.5 - 0.015625; + const qreal underlinePos = pos.y() + qCeil(underlineOffset) - aliasedCoordinateDelta; if (underlineStyle == QTextCharFormat::SpellCheckUnderline) { underlineStyle = QTextCharFormat::UnderlineStyle(QApplication::style()->styleHint(QStyle::SH_SpellCheckUnderlineStyle)); diff --git a/src/gui/painting/qtextureglyphcache.cpp b/src/gui/painting/qtextureglyphcache.cpp index f0db805..727852d 100644 --- a/src/gui/painting/qtextureglyphcache.cpp +++ b/src/gui/painting/qtextureglyphcache.cpp @@ -102,7 +102,7 @@ int QTextureGlyphCache::calculateSubPixelPositionCount(glyph_t glyph) const QFixed QTextureGlyphCache::subPixelPositionForX(QFixed x) const { - if (m_subPixelPositionCount == 0) + if (m_subPixelPositionCount <= 1) return QFixed(); QFixed subPixelPosition; diff --git a/src/gui/text/qfontengine_ft.cpp b/src/gui/text/qfontengine_ft.cpp index db0156a..08eb6bb 100644 --- a/src/gui/text/qfontengine_ft.cpp +++ b/src/gui/text/qfontengine_ft.cpp @@ -1430,6 +1430,8 @@ QFontEngineFT::QGlyphSet *QFontEngineFT::loadTransformedGlyphSet(const QTransfor QFixed QFontEngineFT::subPixelPositionForX(QFixed x) { int m_subPixelPositionCount = 4; + if (!supportsSubPixelPositions()) + return 0; QFixed subPixelPosition; if (x != 0) { |