src/gui/painting/qtextureglyphcache_p.h
changeset 30 5dc02b23752f
parent 29 b72c6db6890b
--- 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<glyph_t> &glyphs,
-                  const QVarLengthArray<QFixedPoint> &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)