reed@google.com | 7edec14 | 2013-05-31 20:17:57 +0000 | [diff] [blame] | 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 SkGScalerContext_DEFINED |
| 9 | #define SkGScalerContext_DEFINED |
| 10 | |
| 11 | #include "SkScalerContext.h" |
| 12 | #include "SkTypeface.h" |
| 13 | |
| 14 | class SkGTypeface : public SkTypeface { |
| 15 | public: |
| 16 | SkGTypeface(SkTypeface* proxy, const SkPaint&); |
| 17 | virtual ~SkGTypeface(); |
skia.committer@gmail.com | 26da7f0 | 2013-06-01 07:01:39 +0000 | [diff] [blame] | 18 | |
reed@google.com | 7edec14 | 2013-05-31 20:17:57 +0000 | [diff] [blame] | 19 | SkTypeface* proxy() const { return fProxy; } |
| 20 | const SkPaint& paint() const { return fPaint; } |
| 21 | |
| 22 | protected: |
| 23 | virtual SkScalerContext* onCreateScalerContext(const SkDescriptor*) const SK_OVERRIDE; |
| 24 | virtual void onFilterRec(SkScalerContextRec*) const SK_OVERRIDE; |
| 25 | virtual SkAdvancedTypefaceMetrics* onGetAdvancedTypefaceMetrics( |
| 26 | SkAdvancedTypefaceMetrics::PerGlyphInfo, |
| 27 | const uint32_t* glyphIDs, |
| 28 | uint32_t glyphIDsCount) const SK_OVERRIDE; |
| 29 | virtual SkStream* onOpenStream(int* ttcIndex) const SK_OVERRIDE; |
| 30 | virtual void onGetFontDescriptor(SkFontDescriptor*, bool* isLocal) const SK_OVERRIDE; |
skia.committer@gmail.com | 26da7f0 | 2013-06-01 07:01:39 +0000 | [diff] [blame] | 31 | |
bungeman@google.com | 3c996f8 | 2013-10-24 21:39:35 +0000 | [diff] [blame] | 32 | virtual int onCharsToGlyphs(const void* chars, Encoding encoding, |
| 33 | uint16_t glyphs[], int glyphCount) const SK_OVERRIDE; |
bungeman@google.com | e05e75e | 2013-07-15 19:52:13 +0000 | [diff] [blame] | 34 | virtual int onCountGlyphs() const SK_OVERRIDE; |
reed@google.com | 7edec14 | 2013-05-31 20:17:57 +0000 | [diff] [blame] | 35 | virtual int onGetUPEM() const SK_OVERRIDE; |
skia.committer@gmail.com | 26da7f0 | 2013-06-01 07:01:39 +0000 | [diff] [blame] | 36 | |
bungeman | b374d6a | 2014-09-17 07:48:59 -0700 | [diff] [blame] | 37 | virtual void onGetFamilyName(SkString* familyName) const SK_OVERRIDE; |
bungeman@google.com | 839702b | 2013-08-07 17:09:22 +0000 | [diff] [blame] | 38 | virtual SkTypeface::LocalizedStrings* onCreateFamilyNameIterator() const SK_OVERRIDE; |
bungeman@google.com | a980269 | 2013-08-07 02:45:25 +0000 | [diff] [blame] | 39 | |
reed@google.com | 7edec14 | 2013-05-31 20:17:57 +0000 | [diff] [blame] | 40 | virtual int onGetTableTags(SkFontTableTag tags[]) const SK_OVERRIDE; |
| 41 | virtual size_t onGetTableData(SkFontTableTag, size_t offset, |
| 42 | size_t length, void* data) const SK_OVERRIDE; |
skia.committer@gmail.com | 26da7f0 | 2013-06-01 07:01:39 +0000 | [diff] [blame] | 43 | |
reed@google.com | 7edec14 | 2013-05-31 20:17:57 +0000 | [diff] [blame] | 44 | private: |
| 45 | SkTypeface* fProxy; |
| 46 | SkPaint fPaint; |
| 47 | }; |
| 48 | |
| 49 | #endif |