| OLD | NEW |
| 1 /* | 1 /* |
| 2 * Copyright 2015 Google Inc. | 2 * Copyright 2015 Google Inc. |
| 3 * | 3 * |
| 4 * Use of this source code is governed by a BSD-style license that can be | 4 * Use of this source code is governed by a BSD-style license that can be |
| 5 * found in the LICENSE file. | 5 * found in the LICENSE file. |
| 6 */ | 6 */ |
| 7 | 7 |
| 8 #ifndef SkRandomScalerContext_DEFINED | 8 #ifndef SkRandomScalerContext_DEFINED |
| 9 #define SkRandomScalerContext_DEFINED | 9 #define SkRandomScalerContext_DEFINED |
| 10 | 10 |
| 11 #include "SkScalerContext.h" | 11 #include "SkScalerContext.h" |
| 12 #include "SkTypeface.h" | 12 #include "SkTypeface.h" |
| 13 | 13 |
| 14 /* | 14 /* |
| 15 * This scaler context is for debug only purposes. It will 'randomly' but deter
ministically return | 15 * This scaler context is for debug only purposes. It will 'randomly' but deter
ministically return |
| 16 * LCD / A8 / BW / RBGA masks based off of the Glyph ID | 16 * LCD / A8 / BW / RBGA masks based off of the Glyph ID |
| 17 */ | 17 */ |
| 18 | 18 |
| 19 class SkRandomTypeface : public SkTypeface { | 19 class SkRandomTypeface : public SkTypeface { |
| 20 public: | 20 public: |
| 21 SkRandomTypeface(sk_sp<SkTypeface> proxy, const SkPaint&, bool fakeit); | 21 SkRandomTypeface(SkTypeface* proxy, const SkPaint&, bool fakeit); |
| 22 virtual ~SkRandomTypeface(); |
| 22 | 23 |
| 23 SkTypeface* proxy() const { return fProxy.get(); } | 24 SkTypeface* proxy() const { return fProxy; } |
| 24 const SkPaint& paint() const { return fPaint; } | 25 const SkPaint& paint() const { return fPaint; } |
| 25 | 26 |
| 26 protected: | 27 protected: |
| 27 SkScalerContext* onCreateScalerContext(const SkScalerContextEffects&, | 28 SkScalerContext* onCreateScalerContext(const SkScalerContextEffects&, |
| 28 const SkDescriptor*) const override; | 29 const SkDescriptor*) const override; |
| 29 void onFilterRec(SkScalerContextRec*) const override; | 30 void onFilterRec(SkScalerContextRec*) const override; |
| 30 SkAdvancedTypefaceMetrics* onGetAdvancedTypefaceMetrics( | 31 SkAdvancedTypefaceMetrics* onGetAdvancedTypefaceMetrics( |
| 31 PerGlyphInfo, | 32 PerGlyphInfo, |
| 32 const uint32_t* glyphIDs, | 33 const uint32_t* glyphIDs, |
| 33 uint32_t glyphIDsCount) const override; | 34 uint32_t glyphIDsCount) const override; |
| 34 SkStreamAsset* onOpenStream(int* ttcIndex) const override; | 35 SkStreamAsset* onOpenStream(int* ttcIndex) const override; |
| 35 void onGetFontDescriptor(SkFontDescriptor*, bool* isLocal) const override; | 36 void onGetFontDescriptor(SkFontDescriptor*, bool* isLocal) const override; |
| 36 | 37 |
| 37 int onCharsToGlyphs(const void* chars, Encoding encoding, | 38 int onCharsToGlyphs(const void* chars, Encoding encoding, |
| 38 uint16_t glyphs[], int glyphCount) const override; | 39 uint16_t glyphs[], int glyphCount) const override; |
| 39 int onCountGlyphs() const override; | 40 int onCountGlyphs() const override; |
| 40 int onGetUPEM() const override; | 41 int onGetUPEM() const override; |
| 41 | 42 |
| 42 void onGetFamilyName(SkString* familyName) const override; | 43 void onGetFamilyName(SkString* familyName) const override; |
| 43 SkTypeface::LocalizedStrings* onCreateFamilyNameIterator() const override; | 44 SkTypeface::LocalizedStrings* onCreateFamilyNameIterator() const override; |
| 44 | 45 |
| 45 int onGetTableTags(SkFontTableTag tags[]) const override; | 46 int onGetTableTags(SkFontTableTag tags[]) const override; |
| 46 size_t onGetTableData(SkFontTableTag, size_t offset, | 47 size_t onGetTableData(SkFontTableTag, size_t offset, |
| 47 size_t length, void* data) const override; | 48 size_t length, void* data) const override; |
| 48 | 49 |
| 49 private: | 50 private: |
| 50 sk_sp<SkTypeface> fProxy; | 51 SkTypeface* fProxy; |
| 51 SkPaint fPaint; | 52 SkPaint fPaint; |
| 52 bool fFakeIt; | 53 bool fFakeIt; |
| 53 }; | 54 }; |
| 54 | 55 |
| 55 #endif | 56 #endif |
| OLD | NEW |