aboutsummaryrefslogtreecommitdiffstats
path: root/src/quick/scenegraph/qsgdistancefieldglyphnode_p.h
diff options
context:
space:
mode:
authorYoann Lopes <yoann.lopes@nokia.com>2011-12-13 14:42:00 +0100
committerQt by Nokia <qt-info@nokia.com>2011-12-14 12:50:39 +0100
commit62e985fee601d526fe384b2b18db58eac777009f (patch)
tree65aeaa8d6607f0217882900062a1802e745287d3 /src/quick/scenegraph/qsgdistancefieldglyphnode_p.h
parent85328b975027c6e26bcaf2dd660acd3118049fd2 (diff)
Support for multiple textures in the distance field glyph node.
Distance field glyph nodes can now have their glyphs in different textures. Change-Id: Ia4cdf12f8791246779c890e4ff224927bdfa1156 Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@nokia.com>
Diffstat (limited to 'src/quick/scenegraph/qsgdistancefieldglyphnode_p.h')
-rw-r--r--src/quick/scenegraph/qsgdistancefieldglyphnode_p.h13
1 files changed, 10 insertions, 3 deletions
diff --git a/src/quick/scenegraph/qsgdistancefieldglyphnode_p.h b/src/quick/scenegraph/qsgdistancefieldglyphnode_p.h
index 0669fd4a80..79b40ddf3e 100644
--- a/src/quick/scenegraph/qsgdistancefieldglyphnode_p.h
+++ b/src/quick/scenegraph/qsgdistancefieldglyphnode_p.h
@@ -82,6 +82,7 @@ private:
QColor m_color;
QPointF m_baseLine;
QSGDistanceFieldTextMaterial *m_material;
+ QPointF m_originalPosition;
QPointF m_position;
QGlyphRun m_glyphs;
QSGDistanceFieldGlyphCacheManager *m_glyph_cacheManager;
@@ -91,10 +92,16 @@ private:
QColor m_styleColor;
AntialiasingMode m_antialiasingMode;
QRectF m_boundingRect;
-
- QVector<quint32> m_allGlyphIndexes;
+ const QSGDistanceFieldGlyphCache::Texture *m_texture;
+ QHash<const QSGDistanceFieldGlyphCache::Texture *, QSGDistanceFieldGlyphNode *> m_subNodes;
+ QList<QSGDistanceFieldGlyphNode *> m_nodesToDelete;
+
+ struct GlyphInfo {
+ quint32 glyphIndex;
+ QPointF position;
+ };
QSet<quint32> m_allGlyphIndexesLookup;
- QVector<QPointF> m_allGlyphPositions;
+ QList<GlyphInfo> m_allGlyphs;
uint m_dirtyGeometry: 1;
uint m_dirtyMaterial: 1;