17edec140391ce06933cc1506d96bb70093b63c7breed@google.com/* 27edec140391ce06933cc1506d96bb70093b63c7breed@google.com * Copyright 2013 Google Inc. 37edec140391ce06933cc1506d96bb70093b63c7breed@google.com * 47edec140391ce06933cc1506d96bb70093b63c7breed@google.com * Use of this source code is governed by a BSD-style license that can be 57edec140391ce06933cc1506d96bb70093b63c7breed@google.com * found in the LICENSE file. 67edec140391ce06933cc1506d96bb70093b63c7breed@google.com */ 77edec140391ce06933cc1506d96bb70093b63c7breed@google.com 87edec140391ce06933cc1506d96bb70093b63c7breed@google.com#ifndef SkGScalerContext_DEFINED 97edec140391ce06933cc1506d96bb70093b63c7breed@google.com#define SkGScalerContext_DEFINED 107edec140391ce06933cc1506d96bb70093b63c7breed@google.com 117edec140391ce06933cc1506d96bb70093b63c7breed@google.com#include "SkScalerContext.h" 127edec140391ce06933cc1506d96bb70093b63c7breed@google.com#include "SkTypeface.h" 137edec140391ce06933cc1506d96bb70093b63c7breed@google.com 147edec140391ce06933cc1506d96bb70093b63c7breed@google.comclass SkGTypeface : public SkTypeface { 157edec140391ce06933cc1506d96bb70093b63c7breed@google.compublic: 167edec140391ce06933cc1506d96bb70093b63c7breed@google.com SkGTypeface(SkTypeface* proxy, const SkPaint&); 177edec140391ce06933cc1506d96bb70093b63c7breed@google.com virtual ~SkGTypeface(); 1826da7f00aedba107d4b3e382283034e265db09b6skia.committer@gmail.com 197edec140391ce06933cc1506d96bb70093b63c7breed@google.com SkTypeface* proxy() const { return fProxy; } 207edec140391ce06933cc1506d96bb70093b63c7breed@google.com const SkPaint& paint() const { return fPaint; } 217edec140391ce06933cc1506d96bb70093b63c7breed@google.com 227edec140391ce06933cc1506d96bb70093b63c7breed@google.comprotected: 237edec140391ce06933cc1506d96bb70093b63c7breed@google.com virtual SkScalerContext* onCreateScalerContext(const SkDescriptor*) const SK_OVERRIDE; 247edec140391ce06933cc1506d96bb70093b63c7breed@google.com virtual void onFilterRec(SkScalerContextRec*) const SK_OVERRIDE; 257edec140391ce06933cc1506d96bb70093b63c7breed@google.com virtual SkAdvancedTypefaceMetrics* onGetAdvancedTypefaceMetrics( 267edec140391ce06933cc1506d96bb70093b63c7breed@google.com SkAdvancedTypefaceMetrics::PerGlyphInfo, 277edec140391ce06933cc1506d96bb70093b63c7breed@google.com const uint32_t* glyphIDs, 287edec140391ce06933cc1506d96bb70093b63c7breed@google.com uint32_t glyphIDsCount) const SK_OVERRIDE; 297edec140391ce06933cc1506d96bb70093b63c7breed@google.com virtual SkStream* onOpenStream(int* ttcIndex) const SK_OVERRIDE; 307edec140391ce06933cc1506d96bb70093b63c7breed@google.com virtual void onGetFontDescriptor(SkFontDescriptor*, bool* isLocal) const SK_OVERRIDE; 3126da7f00aedba107d4b3e382283034e265db09b6skia.committer@gmail.com 323c996f8a15e5d8fada9550d978e9b5344b81d276bungeman@google.com virtual int onCharsToGlyphs(const void* chars, Encoding encoding, 333c996f8a15e5d8fada9550d978e9b5344b81d276bungeman@google.com uint16_t glyphs[], int glyphCount) const SK_OVERRIDE; 34e05e75eda103cad9e6727202997ed6e0d88ab183bungeman@google.com virtual int onCountGlyphs() const SK_OVERRIDE; 357edec140391ce06933cc1506d96bb70093b63c7breed@google.com virtual int onGetUPEM() const SK_OVERRIDE; 3626da7f00aedba107d4b3e382283034e265db09b6skia.committer@gmail.com 37b374d6a62c0259387d90cad74753d8bad9ee1beabungeman virtual void onGetFamilyName(SkString* familyName) const SK_OVERRIDE; 38839702b61934914118ec557dd641be322eba3b5fbungeman@google.com virtual SkTypeface::LocalizedStrings* onCreateFamilyNameIterator() const SK_OVERRIDE; 39a980269c2498836101146adc729ef780fb89824ebungeman@google.com 407edec140391ce06933cc1506d96bb70093b63c7breed@google.com virtual int onGetTableTags(SkFontTableTag tags[]) const SK_OVERRIDE; 417edec140391ce06933cc1506d96bb70093b63c7breed@google.com virtual size_t onGetTableData(SkFontTableTag, size_t offset, 427edec140391ce06933cc1506d96bb70093b63c7breed@google.com size_t length, void* data) const SK_OVERRIDE; 4326da7f00aedba107d4b3e382283034e265db09b6skia.committer@gmail.com 447edec140391ce06933cc1506d96bb70093b63c7breed@google.comprivate: 457edec140391ce06933cc1506d96bb70093b63c7breed@google.com SkTypeface* fProxy; 467edec140391ce06933cc1506d96bb70093b63c7breed@google.com SkPaint fPaint; 477edec140391ce06933cc1506d96bb70093b63c7breed@google.com}; 487edec140391ce06933cc1506d96bb70093b63c7breed@google.com 497edec140391ce06933cc1506d96bb70093b63c7breed@google.com#endif 50