diff options
author | Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@nokia.com> | 2010-09-07 11:57:07 (GMT) |
---|---|---|
committer | Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@nokia.com> | 2010-09-09 15:12:04 (GMT) |
commit | b7ef9d49a969f512ecbc7ad940642f3a74e348ad (patch) | |
tree | a73e4b3fd5a8ffd6b2055f83618f56dfd6ef129a /src/gui/text/qfontengine_ft_p.h | |
parent | de1b1cd7a6a15755bd5f049533791554c933686c (diff) | |
download | Qt-b7ef9d49a969f512ecbc7ad940642f3a74e348ad.zip Qt-b7ef9d49a969f512ecbc7ad940642f3a74e348ad.tar.gz Qt-b7ef9d49a969f512ecbc7ad940642f3a74e348ad.tar.bz2 |
Support sub pixel positioning of glyphs in raster engine
For the raster engine to provide the same quality of text rendering
as the native engine on Mac Cocoa, we need to support rendering to
different sub pixel positions for each glyph. The number of
subpixel positions is arbitrary and has to be detected, but it's
usually three or four.
Each position will give slightly different coverages inside the
pixel and thus different rasterizations. Other font engines which
support sub pixel positioning of glyphs can provide the same
functionality by implementing supportsSubPixelPositions() to return
true, and then adding the subPixelPosition argument to the x
coordinate used in alphaRGBMapForGlyph().
Task-number: QTBUG-5053
Reviewed-by: Jiang Jiang
Diffstat (limited to 'src/gui/text/qfontengine_ft_p.h')
-rw-r--r-- | src/gui/text/qfontengine_ft_p.h | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/src/gui/text/qfontengine_ft_p.h b/src/gui/text/qfontengine_ft_p.h index 2f05a8b..72f7d9f 100644 --- a/src/gui/text/qfontengine_ft_p.h +++ b/src/gui/text/qfontengine_ft_p.h @@ -241,7 +241,7 @@ private: virtual void recalcAdvances(QGlyphLayout *glyphs, QTextEngine::ShaperFlags flags) const; virtual QImage alphaMapForGlyph(glyph_t); - virtual QImage alphaRGBMapForGlyph(glyph_t, int margin, const QTransform &t); + virtual QImage alphaRGBMapForGlyph(glyph_t, QFixed subPixelPosition, int margin, const QTransform &t); virtual void removeGlyphFromCache(glyph_t glyph); virtual int glyphCount() const; |