Move GrTextContext to private interface

NOTRY=true
R=bsalomon@google.com, reed@google.com

Author: jvanverth@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@13239 2bbb7eff-a529-9590-31e7-b0007b416f81
diff --git a/include/gpu/GrBitmapTextContext.h b/include/gpu/GrBitmapTextContext.h
deleted file mode 100755
index 6550e3c..0000000
--- a/include/gpu/GrBitmapTextContext.h
+++ /dev/null
@@ -1,49 +0,0 @@
-/*
- * Copyright 2013 Google Inc.
- *
- * Use of this source code is governed by a BSD-style license that can be
- * found in the LICENSE file.
- */
-
-#ifndef GrBitmapTextContext_DEFINED
-#define GrBitmapTextContext_DEFINED
-
-#include "GrTextContext.h"
-
-class GrTextStrike;
-
-/*
- * This class implements GrTextContext using standard bitmap fonts
- */
-class GrBitmapTextContext : public GrTextContext {
-public:
-    GrBitmapTextContext(GrContext*, const GrPaint&, const SkPaint&, const SkDeviceProperties&);
-    virtual ~GrBitmapTextContext();
-
-    virtual void drawText(const char text[], size_t byteLength, SkScalar x, SkScalar y) SK_OVERRIDE;
-    virtual void drawPosText(const char text[], size_t byteLength,
-                             const SkScalar pos[], SkScalar constY,
-                             int scalarsPerPosition) SK_OVERRIDE;
-
-    static bool CanDraw(const SkPaint& paint, const SkMatrix& ctm);
-    
-private:
-    GrTextStrike*          fStrike;
-
-    void drawPackedGlyph(GrGlyph::PackedID, GrFixed left, GrFixed top, GrFontScaler*);
-    void flushGlyphs();                 // automatically called by destructor
-
-    enum {
-        kMinRequestedGlyphs      = 1,
-        kDefaultRequestedGlyphs  = 64,
-        kMinRequestedVerts       = kMinRequestedGlyphs * 4,
-        kDefaultRequestedVerts   = kDefaultRequestedGlyphs * 4,
-    };
-
-    SkPoint*                fVertices;
-    int32_t                 fMaxVertices;
-    GrTexture*              fCurrTexture;
-    int                     fCurrVertex;
-};
-
-#endif
diff --git a/include/gpu/GrDistanceFieldTextContext.h b/include/gpu/GrDistanceFieldTextContext.h
deleted file mode 100755
index 8b94038..0000000
--- a/include/gpu/GrDistanceFieldTextContext.h
+++ /dev/null
@@ -1,52 +0,0 @@
-/*
- * Copyright 2013 Google Inc.
- *
- * Use of this source code is governed by a BSD-style license that can be
- * found in the LICENSE file.
- */
-
-#ifndef GrDistanceFieldTextContext_DEFINED
-#define GrDistanceFieldTextContext_DEFINED
-
-#include "GrTextContext.h"
-
-class GrTextStrike;
-
-/*
- * This class implements GrTextContext using distance field fonts
- */
-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,
-                             const SkScalar pos[], SkScalar constY,
-                             int scalarsPerPosition) SK_OVERRIDE;
-    
-    static bool CanDraw(const SkPaint& paint, const SkMatrix& ctm);
-
-private:
-    GrDistanceFieldTextContext(GrContext*, const GrPaint&, const SkPaint&,
-                               const SkDeviceProperties&);
-    virtual ~GrDistanceFieldTextContext();
-    friend class GrTTextContextManager<GrDistanceFieldTextContext>;
-
-    GrTextStrike*           fStrike;
-    SkScalar                fTextRatio;
-
-    void drawPackedGlyph(GrGlyph::PackedID, GrFixed left, GrFixed top, GrFontScaler*);
-    void flushGlyphs();                 // automatically called by destructor
-
-    enum {
-        kMinRequestedGlyphs      = 1,
-        kDefaultRequestedGlyphs  = 64,
-        kMinRequestedVerts       = kMinRequestedGlyphs * 4,
-        kDefaultRequestedVerts   = kDefaultRequestedGlyphs * 4,
-    };
-
-    SkPoint*                fVertices;
-    int32_t                 fMaxVertices;
-    GrTexture*              fCurrTexture;
-    int                     fCurrVertex;
-};
-
-#endif
diff --git a/include/gpu/GrTextContext.h b/include/gpu/GrTextContext.h
deleted file mode 100644
index c572d0d..0000000
--- a/include/gpu/GrTextContext.h
+++ /dev/null
@@ -1,129 +0,0 @@
-/*
- * Copyright 2010 Google Inc.
- *
- * Use of this source code is governed by a BSD-style license that can be
- * found in the LICENSE file.
- */
-
-#ifndef GrTextContext_DEFINED
-#define GrTextContext_DEFINED
-
-#include "GrPoint.h"
-#include "GrGlyph.h"
-#include "GrPaint.h"
-#include "SkDeviceProperties.h"
-
-#include "SkPostConfig.h"
-
-class GrContext;
-class GrDrawTarget;
-class GrFontScaler;
-
-/*
- * This class wraps the state for a single text render
- */
-class GrTextContext {
-public:
-    virtual ~GrTextContext() {}
-    virtual void drawText(const char text[], size_t byteLength, SkScalar x, SkScalar y) = 0;
-    virtual void drawPosText(const char text[], size_t byteLength,
-                             const SkScalar pos[], SkScalar constY,
-                             int scalarsPerPosition) = 0;
-    
-protected:
-    GrTextContext(GrContext*, const GrPaint&, const SkPaint&, const SkDeviceProperties&);
-
-    static GrFontScaler* GetGrFontScaler(SkGlyphCache* cache);
-    static void MeasureText(SkGlyphCache* cache, SkDrawCacheProc glyphCacheProc,
-                            const char text[], size_t byteLength, SkVector* stopVector);
-
-    GrContext*         fContext;
-    GrPaint            fPaint;
-    SkPaint            fSkPaint;
-    SkDeviceProperties fDeviceProperties;
-    GrDrawTarget*      fDrawTarget;
-
-    SkIRect            fClipRect;
-};
-
-/*
- * These classes wrap the creation of a single text context for a given GPU device. The
- * assumption is that we'll only be using one text context at a time for that device.
- */
-class GrTextContextManager {
-public:
-    virtual ~GrTextContextManager() {}
-    virtual GrTextContext* create(GrContext* grContext, const GrPaint& grPaint,
-                                  const SkPaint& skPaint, const SkDeviceProperties& props) = 0;
-    virtual bool canDraw(const SkPaint& paint, const SkMatrix& ctm) = 0;
-};
-
-template <class TextContextClass>
-class GrTTextContextManager : public GrTextContextManager {
-private:
-    class ManagedTextContext : public TextContextClass {
-    public:
-        virtual ~ManagedTextContext() {}
-
-        ManagedTextContext(GrContext* grContext,
-                           const GrPaint& grPaint,
-                           const SkPaint& skPaint,
-                           const SkDeviceProperties& properties,
-                           GrTTextContextManager<TextContextClass>* manager) :
-                          TextContextClass(grContext, grPaint, skPaint, properties) {
-            fManager = manager;
-        }
-
-        static void operator delete(void* ptr) {
-            if (ptr == NULL) {
-                return;
-            }
-            ManagedTextContext* context = reinterpret_cast<ManagedTextContext*>(ptr);
-            context->fManager->recycle(context);
-        }
-
-        static void operator delete(void*, void*) {
-        }
-
-        GrTTextContextManager<TextContextClass>* fManager;
-    };
-
-public:
-    GrTTextContextManager() {
-        fAllocation = sk_malloc_throw(sizeof(ManagedTextContext));
-        fUsed = false;
-    }
-
-    virtual ~GrTTextContextManager() {
-        SkASSERT(!fUsed);
-        sk_free(fAllocation);
-    }
-
-    virtual GrTextContext* create(GrContext* grContext, const GrPaint& grPaint,
-                                  const SkPaint& skPaint, const SkDeviceProperties& properties)
-                                 SK_OVERRIDE {
-        // add check for usePath here?
-        SkASSERT(!fUsed);
-        ManagedTextContext* obj = SkNEW_PLACEMENT_ARGS(fAllocation, ManagedTextContext,
-                                                       (grContext, grPaint, skPaint, properties,
-                                                        this));
-        fUsed = true;
-        return obj;
-    }
-
-    virtual bool canDraw(const SkPaint& paint, const SkMatrix& ctm) SK_OVERRIDE {
-        return TextContextClass::CanDraw(paint, ctm);
-    }
-
-private:
-    void recycle(GrTextContext* textContext) {
-        SkASSERT((void*)textContext == fAllocation);
-        SkASSERT(fUsed);
-        fUsed = false;
-    }
-
-    void* fAllocation;
-    bool  fUsed;
-};
-
-#endif
diff --git a/include/gpu/SkGpuDevice.h b/include/gpu/SkGpuDevice.h
index addf678..bfcdba3 100644
--- a/include/gpu/SkGpuDevice.h
+++ b/include/gpu/SkGpuDevice.h
@@ -16,11 +16,12 @@
 #include "SkBitmapDevice.h"
 #include "SkRegion.h"
 #include "GrContext.h"
-#include "GrTextContext.h"
 
 struct SkDrawProcs;
 struct GrSkDrawProcs;
 
+class GrTextContextManager;
+
 /**
  *  Subclass of SkBitmapDevice, which directs all drawing to the GrGpu owned by the
  *  canvas.
@@ -208,11 +209,6 @@
                          int tileSize,
                          bool bicubic);
 
-    /**
-     * Returns non-initialized instance.
-     */
-    GrTextContext* getTextContext();
-
     typedef SkBitmapDevice INHERITED;
 };