1 /* 2 * Copyright 2013 Google Inc. 3 * 4 * Use of this source code is governed by a BSD-style license that can be 5 * found in the LICENSE file. 6 */ 7 8 #ifndef GrBitmapTextContext_DEFINED 9 #define GrBitmapTextContext_DEFINED 10 11 #include "GrTextContext.h" 12 13 class GrTextStrike; 14 15 /* 16 * This class implements GrTextContext using standard bitmap fonts 17 */ 18 class GrBitmapTextContext : public GrTextContext { 19 public: 20 GrBitmapTextContext(GrContext*, const GrPaint&, SkColor); 21 virtual ~GrBitmapTextContext(); 22 23 virtual void drawPackedGlyph(GrGlyph::PackedID, GrFixed left, GrFixed top, 24 GrFontScaler*) SK_OVERRIDE; 25 26 private: 27 GrContext::AutoMatrix fAutoMatrix; 28 GrTextStrike* fStrike; 29 30 void flushGlyphs(); // automatically called by destructor 31 32 enum { 33 kMinRequestedGlyphs = 1, 34 kDefaultRequestedGlyphs = 64, 35 kMinRequestedVerts = kMinRequestedGlyphs * 4, 36 kDefaultRequestedVerts = kDefaultRequestedGlyphs * 4, 37 }; 38 39 SkColor fSkPaintColor; 40 SkPoint* fVertices; 41 int32_t fMaxVertices; 42 GrTexture* fCurrTexture; 43 int fCurrVertex; 44 }; 45 46 #endif 47