Replace factory generation of TextContexts with persistent objects.

BUG=skia:2018
R=bsalomon@google.com

Author: jvanverth@google.com

Review URL: https://codereview.chromium.org/150743002

git-svn-id: http://skia.googlecode.com/svn/trunk@13249 2bbb7eff-a529-9590-31e7-b0007b416f81
diff --git a/src/gpu/GrDistanceFieldTextContext.h b/src/gpu/GrDistanceFieldTextContext.h
index 8b94038..2129898 100755
--- a/src/gpu/GrDistanceFieldTextContext.h
+++ b/src/gpu/GrDistanceFieldTextContext.h
@@ -17,24 +17,26 @@
  */
 class GrDistanceFieldTextContext : public GrTextContext {
 public:
-    virtual void drawText(const char text[], size_t byteLength, SkScalar x, SkScalar y) SK_OVERRIDE;
-    virtual void drawPosText(const char text[], size_t byteLength,
+    GrDistanceFieldTextContext(GrContext*, const SkDeviceProperties&);
+    virtual ~GrDistanceFieldTextContext();
+
+    virtual void drawText(const GrPaint&, const SkPaint&, const char text[], size_t byteLength, 
+                          SkScalar x, SkScalar y) SK_OVERRIDE;
+    virtual void drawPosText(const GrPaint&, const SkPaint&, 
+                             const char text[], size_t byteLength,
                              const SkScalar pos[], SkScalar constY,
                              int scalarsPerPosition) SK_OVERRIDE;
     
-    static bool CanDraw(const SkPaint& paint, const SkMatrix& ctm);
+    virtual bool canDraw(const SkPaint& paint) SK_OVERRIDE;
 
 private:
-    GrDistanceFieldTextContext(GrContext*, const GrPaint&, const SkPaint&,
-                               const SkDeviceProperties&);
-    virtual ~GrDistanceFieldTextContext();
-    friend class GrTTextContextManager<GrDistanceFieldTextContext>;
-
     GrTextStrike*           fStrike;
     SkScalar                fTextRatio;
 
+    void init(const GrPaint&, const SkPaint&);
     void drawPackedGlyph(GrGlyph::PackedID, GrFixed left, GrFixed top, GrFontScaler*);
     void flushGlyphs();                 // automatically called by destructor
+    void finish();
 
     enum {
         kMinRequestedGlyphs      = 1,