diff -r b72c6db6890b -r 5dc02b23752f src/gui/painting/qtextureglyphcache_p.h --- a/src/gui/painting/qtextureglyphcache_p.h Wed Jun 23 19:07:03 2010 +0300 +++ b/src/gui/painting/qtextureglyphcache_p.h Tue Jul 06 15:10:48 2010 +0300 @@ -76,7 +76,9 @@ { public: QTextureGlyphCache(QFontEngineGlyphCache::Type type, const QTransform &matrix) - : QFontEngineGlyphCache(matrix, type), m_w(0), m_h(0), m_cx(0), m_cy(0) { } + : QFontEngineGlyphCache(matrix, type), m_current_fontengine(0), + m_w(0), m_h(0), m_cx(0), m_cy(0), m_currentRowHeight(0) + { } virtual ~QTextureGlyphCache() { } @@ -90,9 +92,8 @@ int baseLineY; }; - void populate(const QTextItemInt &ti, - const QVarLengthArray &glyphs, - const QVarLengthArray &positions); + void populate(QFontEngine *fontEngine, int numGlyphs, const glyph_t *glyphs, + const QFixedPoint *positions); virtual void createTextureData(int width, int height) = 0; virtual void resizeTextureData(int width, int height) = 0; @@ -114,16 +115,17 @@ QImage textureMapForGlyph(glyph_t g) const; protected: - const QTextItemInt *m_current_textitem; + QFontEngine *m_current_fontengine; int m_w; // image width int m_h; // image height int m_cx; // current x int m_cy; // current y + int m_currentRowHeight; // Height of last row }; -class QImageTextureGlyphCache : public QTextureGlyphCache +class Q_GUI_EXPORT QImageTextureGlyphCache : public QTextureGlyphCache { public: QImageTextureGlyphCache(QFontEngineGlyphCache::Type type, const QTransform &matrix)