• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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