remove SkFontHost::CreateScalerContext
Review URL: https://codereview.chromium.org/12593013
git-svn-id: http://skia.googlecode.com/svn/trunk@8228 2bbb7eff-a529-9590-31e7-b0007b416f81
diff --git a/src/ports/SkFontHost_FreeType_common.h b/src/ports/SkFontHost_FreeType_common.h
index db32bc8..efc74be 100644
--- a/src/ports/SkFontHost_FreeType_common.h
+++ b/src/ports/SkFontHost_FreeType_common.h
@@ -11,6 +11,8 @@
#include "SkGlyph.h"
#include "SkScalerContext.h"
+#include "SkTypeface.h"
+
#include <ft2build.h>
#include FT_FREETYPE_H
@@ -26,19 +28,34 @@
class SkScalerContext_FreeType_Base : public SkScalerContext {
-public:
+protected:
// See http://freetype.sourceforge.net/freetype2/docs/reference/ft2-bitmap_handling.html#FT_Bitmap_Embolden
// This value was chosen by eyeballing the result in Firefox and trying to match it.
static const FT_Pos kBitmapEmboldenStrength = 1 << 6;
-
- SkScalerContext_FreeType_Base(const SkDescriptor *desc)
- : SkScalerContext(desc)
+
+ SkScalerContext_FreeType_Base(SkTypeface* typeface, const SkDescriptor *desc)
+ : INHERITED(typeface, desc)
{}
-
-protected:
+
void generateGlyphImage(FT_Face face, const SkGlyph& glyph);
void generateGlyphPath(FT_Face face, SkPath* path);
void emboldenOutline(FT_Face face, FT_Outline* outline);
+
+private:
+ typedef SkScalerContext INHERITED;
+};
+
+class SkTypeface_FreeType : public SkTypeface {
+protected:
+ SkTypeface_FreeType(Style style, SkFontID uniqueID, bool isFixedWidth)
+ : INHERITED(style, uniqueID, isFixedWidth) {}
+
+ virtual SkScalerContext* onCreateScalerContext(
+ const SkDescriptor*) const SK_OVERRIDE;
+ virtual void onFilterRec(SkScalerContextRec*) const SK_OVERRIDE;
+
+private:
+ typedef SkTypeface INHERITED;
};
#endif // SKFONTHOST_FREETYPE_COMMON_H_