Home | History | Annotate | Download | only in android
      1 // Copyright 2014 PDFium Authors. All rights reserved.
      2 // Use of this source code is governed by a BSD-style license that can be
      3 // found in the LICENSE file.
      4 
      5 // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com
      6 
      7 #ifndef CORE_SRC_FXGE_ANDROID_FPF_SKIAFONT_H_
      8 #define CORE_SRC_FXGE_ANDROID_FPF_SKIAFONT_H_
      9 
     10 #if _FX_OS_ == _FX_ANDROID_
     11 
     12 #include "core/include/fxge/fpf.h"
     13 
     14 class CFPF_SkiaFontDescriptor;
     15 class CFPF_SkiaFontMgr;
     16 class SkTypeface;
     17 class CFPF_SkiaFont : public IFPF_Font {
     18  public:
     19   CFPF_SkiaFont();
     20   ~CFPF_SkiaFont() override;
     21 
     22   // IFPF_Font
     23   void Release() override;
     24   IFPF_Font* Retain() override;
     25   FPF_HFONT GetHandle() override;
     26   CFX_ByteString GetFamilyName() override;
     27   CFX_WideString GetPsName() override;
     28   FX_DWORD GetFontStyle() const override { return m_dwStyle; }
     29   uint8_t GetCharset() const override { return m_uCharset; }
     30   int32_t GetGlyphIndex(FX_WCHAR wUnicode) override;
     31   int32_t GetGlyphWidth(int32_t iGlyphIndex) override;
     32   int32_t GetAscent() const override;
     33   int32_t GetDescent() const override;
     34   FX_BOOL GetGlyphBBox(int32_t iGlyphIndex, FX_RECT& rtBBox) override;
     35   FX_BOOL GetBBox(FX_RECT& rtBBox) override;
     36   int32_t GetHeight() const override;
     37   int32_t GetItalicAngle() const override;
     38   FX_DWORD GetFontData(FX_DWORD dwTable,
     39                        uint8_t* pBuffer,
     40                        FX_DWORD dwSize) override;
     41 
     42   FX_BOOL InitFont(CFPF_SkiaFontMgr* pFontMgr,
     43                    CFPF_SkiaFontDescriptor* pFontDes,
     44                    const CFX_ByteStringC& bsFamily,
     45                    FX_DWORD dwStyle,
     46                    uint8_t uCharset);
     47 
     48  protected:
     49   CFPF_SkiaFontMgr* m_pFontMgr;
     50   CFPF_SkiaFontDescriptor* m_pFontDes;
     51   FXFT_Face m_Face;
     52   FX_DWORD m_dwStyle;
     53   uint8_t m_uCharset;
     54   FX_DWORD m_dwRefCount;
     55 };
     56 #endif
     57 
     58 #endif  // CORE_SRC_FXGE_ANDROID_FPF_SKIAFONT_H_
     59