1ecc2d34ac23a497988f21e5f415b53c007b9d8c5Raph Leviennamespace android { 2ecc2d34ac23a497988f21e5f415b53c007b9d8c5Raph Levien 3ecc2d34ac23a497988f21e5f415b53c007b9d8c5Raph Levienclass MinikinFontSkia : public MinikinFont { 4ecc2d34ac23a497988f21e5f415b53c007b9d8c5Raph Levienpublic: 5ecc2d34ac23a497988f21e5f415b53c007b9d8c5Raph Levien explicit MinikinFontSkia(SkTypeface *typeface); 6ecc2d34ac23a497988f21e5f415b53c007b9d8c5Raph Levien 7ecc2d34ac23a497988f21e5f415b53c007b9d8c5Raph Levien ~MinikinFontSkia(); 8ecc2d34ac23a497988f21e5f415b53c007b9d8c5Raph Levien 9ecc2d34ac23a497988f21e5f415b53c007b9d8c5Raph Levien bool GetGlyph(uint32_t codepoint, uint32_t *glyph) const; 10ecc2d34ac23a497988f21e5f415b53c007b9d8c5Raph Levien 11ecc2d34ac23a497988f21e5f415b53c007b9d8c5Raph Levien float GetHorizontalAdvance(uint32_t glyph_id, 12ecc2d34ac23a497988f21e5f415b53c007b9d8c5Raph Levien const MinikinPaint &paint) const; 13ecc2d34ac23a497988f21e5f415b53c007b9d8c5Raph Levien 14d133eab2a1a59ce4a5b1b3db04ec00dc0dbdf349Raph Levien void GetBounds(MinikinRect* bounds, uint32_t glyph_id, 15d133eab2a1a59ce4a5b1b3db04ec00dc0dbdf349Raph Levien const MinikinPaint& paint) const; 16d133eab2a1a59ce4a5b1b3db04ec00dc0dbdf349Raph Levien 17ecc2d34ac23a497988f21e5f415b53c007b9d8c5Raph Levien // If buf is NULL, just update size 18ecc2d34ac23a497988f21e5f415b53c007b9d8c5Raph Levien bool GetTable(uint32_t tag, uint8_t *buf, size_t *size); 19ecc2d34ac23a497988f21e5f415b53c007b9d8c5Raph Levien 20ecc2d34ac23a497988f21e5f415b53c007b9d8c5Raph Levien int32_t GetUniqueId() const; 21ecc2d34ac23a497988f21e5f415b53c007b9d8c5Raph Levien 22ecc2d34ac23a497988f21e5f415b53c007b9d8c5Raph Levien SkTypeface *GetSkTypeface(); 23ecc2d34ac23a497988f21e5f415b53c007b9d8c5Raph Levien 24ecc2d34ac23a497988f21e5f415b53c007b9d8c5Raph Levienprivate: 25ecc2d34ac23a497988f21e5f415b53c007b9d8c5Raph Levien SkTypeface *mTypeface; 26ecc2d34ac23a497988f21e5f415b53c007b9d8c5Raph Levien 27ecc2d34ac23a497988f21e5f415b53c007b9d8c5Raph Levien}; 28ecc2d34ac23a497988f21e5f415b53c007b9d8c5Raph Levien 29ecc2d34ac23a497988f21e5f415b53c007b9d8c5Raph Levien} // namespace android