Index: src/gpu/GrStencilAndCoverTextContext.h |
diff --git a/src/gpu/GrStencilAndCoverTextContext.h b/src/gpu/GrStencilAndCoverTextContext.h |
index 2e79f5c9b7e43f59dcf5234bd780eb81de6e5616..021a84d8760d31d8bebe15c25982cd7e2de3cd56 100644 |
--- a/src/gpu/GrStencilAndCoverTextContext.h |
+++ b/src/gpu/GrStencilAndCoverTextContext.h |
@@ -36,17 +36,23 @@ public: |
virtual bool canDraw(const SkPaint& paint) SK_OVERRIDE; |
private: |
+ class GlyphPathRange; |
+ static const int kGlyphBufferSize = 1024; |
+ |
void init(const GrPaint&, const SkPaint&, size_t textByteLength); |
- void appendGlyph(GrGlyph::PackedID, const SkPoint&, |
- GrTextStrike*, GrFontScaler*); |
+ void initGlyphs(SkGlyphCache* cache); |
+ void appendGlyph(uint16_t glyphID, float x, float y); |
+ void flush(); |
void finish(); |
GrDrawState::AutoRestoreEffects fStateRestore; |
SkScalar fTextRatio; |
SkStrokeRec fStroke; |
- SkTDArray<const GrPath*> fPaths; |
- SkTDArray<SkMatrix> fTransforms; |
- SkPath fTmpPath; |
+ SkGlyphCache* fGlyphCache; |
+ GlyphPathRange* fGlyphs; |
+ uint32_t fIndexBuffer[kGlyphBufferSize]; |
+ float fTransformBuffer[6 * kGlyphBufferSize]; |
+ int fPendingGlyphCount; |
SkMatrix fGlyphTransform; |
bool fNeedsDeviceSpaceGlyphs; |
}; |