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    float GetHorizontalAdvance(uint32_t glyph_id,
10ecc2d34ac23a497988f21e5f415b53c007b9d8c5Raph Levien        const MinikinPaint &paint) const;
11ecc2d34ac23a497988f21e5f415b53c007b9d8c5Raph Levien
12d133eab2a1a59ce4a5b1b3db04ec00dc0dbdf349Raph Levien    void GetBounds(MinikinRect* bounds, uint32_t glyph_id,
13d133eab2a1a59ce4a5b1b3db04ec00dc0dbdf349Raph Levien        const MinikinPaint& paint) const;
14d133eab2a1a59ce4a5b1b3db04ec00dc0dbdf349Raph Levien
1529abb82198868908ece4600284fa8b7d3ed73f3bRaph Levien    const void* GetTable(uint32_t tag, size_t* size, MinikinDestroyFunc* destroy);
16ecc2d34ac23a497988f21e5f415b53c007b9d8c5Raph Levien
17ecc2d34ac23a497988f21e5f415b53c007b9d8c5Raph Levien    SkTypeface *GetSkTypeface();
18ecc2d34ac23a497988f21e5f415b53c007b9d8c5Raph Levien
19ecc2d34ac23a497988f21e5f415b53c007b9d8c5Raph Levienprivate:
20ecc2d34ac23a497988f21e5f415b53c007b9d8c5Raph Levien    SkTypeface *mTypeface;
21ecc2d34ac23a497988f21e5f415b53c007b9d8c5Raph Levien
22ecc2d34ac23a497988f21e5f415b53c007b9d8c5Raph Levien};
23ecc2d34ac23a497988f21e5f415b53c007b9d8c5Raph Levien
24210dfa01db0defb3c23b60c446e97b1ee6f1287eSeigo Nonaka}  // namespace android
25