Add fallback code for TextContexts that don't support all features

BUG=skia:2018

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

Author: jvanverth@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@13236 2bbb7eff-a529-9590-31e7-b0007b416f81
diff --git a/include/gpu/GrBitmapTextContext.h b/include/gpu/GrBitmapTextContext.h
index c66f8a8..6550e3c 100755
--- a/include/gpu/GrBitmapTextContext.h
+++ b/include/gpu/GrBitmapTextContext.h
@@ -17,16 +17,17 @@
  */
 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:
-    GrBitmapTextContext(GrContext*, const GrPaint&, const SkPaint&, const SkDeviceProperties&);
-    virtual ~GrBitmapTextContext();
-    friend class GrTTextContextManager<GrBitmapTextContext>;
-
     GrTextStrike*          fStrike;
 
     void drawPackedGlyph(GrGlyph::PackedID, GrFixed left, GrFixed top, GrFontScaler*);