diff options
Diffstat (limited to 'include/gpu/GrFontScaler.h')
-rw-r--r-- | include/gpu/GrFontScaler.h | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/include/gpu/GrFontScaler.h b/include/gpu/GrFontScaler.h new file mode 100644 index 0000000..657647d --- /dev/null +++ b/include/gpu/GrFontScaler.h @@ -0,0 +1,37 @@ + +/* + * 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 GrFontScaler_DEFINED +#define GrFontScaler_DEFINED + +#include "GrGlyph.h" +#include "GrKey.h" + +class SkPath; + +/** + * This is a virtual base class which Gr's interface to the host platform's + * font scaler. + * + * The client is responsible for subclassing, and instantiating this. The + * instance is create for a specific font+size+matrix. + */ +class GrFontScaler : public GrRefCnt { +public: + virtual const GrKey* getKey() = 0; + virtual GrMaskFormat getMaskFormat() = 0; + virtual bool getPackedGlyphBounds(GrGlyph::PackedID, GrIRect* bounds) = 0; + virtual bool getPackedGlyphImage(GrGlyph::PackedID, int width, int height, + int rowBytes, void* image) = 0; + virtual bool getGlyphPath(uint16_t glyphID, SkPath*) = 0; +}; + +#endif + |