2 * Copyright 2013 Google Inc.
4 * Use of this source code is governed by a BSD-style license that can be
5 * found in the LICENSE file.
8 #ifndef SkGScalerContext_DEFINED
9 #define SkGScalerContext_DEFINED
11 #include "SkScalerContext.h"
12 #include "SkTypeface.h"
14 class SkGTypeface : public SkTypeface {
16 SkGTypeface(SkTypeface* proxy, const SkPaint&);
17 virtual ~SkGTypeface();
19 SkTypeface* proxy() const { return fProxy; }
20 const SkPaint& paint() const { return fPaint; }
23 SkScalerContext* onCreateScalerContext(const SkDescriptor*) const override;
24 void onFilterRec(SkScalerContextRec*) const override;
25 virtual SkAdvancedTypefaceMetrics* onGetAdvancedTypefaceMetrics(
26 SkAdvancedTypefaceMetrics::PerGlyphInfo,
27 const uint32_t* glyphIDs,
28 uint32_t glyphIDsCount) const override;
29 SkStreamAsset* onOpenStream(int* ttcIndex) const override;
30 void onGetFontDescriptor(SkFontDescriptor*, bool* isLocal) const override;
32 virtual int onCharsToGlyphs(const void* chars, Encoding encoding,
33 uint16_t glyphs[], int glyphCount) const override;
34 int onCountGlyphs() const override;
35 int onGetUPEM() const override;
37 void onGetFamilyName(SkString* familyName) const override;
38 SkTypeface::LocalizedStrings* onCreateFamilyNameIterator() const override;
40 int onGetTableTags(SkFontTableTag tags[]) const override;
41 virtual size_t onGetTableData(SkFontTableTag, size_t offset,
42 size_t length, void* data) const override;