Index: core/fxge/include/fx_font.h |
diff --git a/core/fxge/include/fx_font.h b/core/fxge/include/fx_font.h |
index 9a976c44b77bd10ebde7156fdee4f77a107e3cc1..00c9d6f55970cd233461e0a08068a54fe964e7b8 100644 |
--- a/core/fxge/include/fx_font.h |
+++ b/core/fxge/include/fx_font.h |
@@ -19,7 +19,7 @@ typedef struct FT_FaceRec_* FXFT_Face; |
typedef void* FXFT_Library; |
class CFX_FaceCache; |
-class CFX_FontCache; |
+class CFX_GlyphBitmap; |
class CFX_PathData; |
class CFX_SizeGlyphCache; |
@@ -106,13 +106,24 @@ class CFX_Font { |
int* pFaceCount = nullptr); |
FX_BOOL LoadClone(const CFX_Font* pFont); |
- void SetFace(FXFT_Face face) { m_Face = face; } |
+ void SetFace(FXFT_Face face); |
void SetSubstFont(std::unique_ptr<CFX_SubstFont> subst) { |
m_pSubstFont = std::move(subst); |
} |
#endif // PDF_ENABLE_XFA |
- CFX_PathData* LoadGlyphPath(uint32_t glyph_index, int dest_width = 0); |
+ const CFX_GlyphBitmap* LoadGlyphBitmap(uint32_t glyph_index, |
+ FX_BOOL bFontStyle, |
+ const CFX_Matrix* pMatrix, |
+ int dest_width, |
+ int anti_alias, |
+ int& text_flags) const; |
+ const CFX_PathData* LoadGlyphPath(uint32_t glyph_index, int dest_width) const; |
+ |
+#ifdef _SKIA_SUPPORT_ |
+ CFX_TypeFace* GetDeviceCache() const; |
+#endif |
+ |
int GetGlyphWidth(uint32_t glyph_index); |
int GetAscent() const; |
int GetDescent() const; |
@@ -139,7 +150,7 @@ class CFX_Font { |
#endif |
uint8_t* GetFontData() const { return m_pFontData; } |
uint32_t GetSize() const { return m_dwSize; } |
- void AdjustMMParams(int glyph_index, int width, int weight); |
+ void AdjustMMParams(int glyph_index, int width, int weight) const; |
static const size_t kAngleSkewArraySize = 30; |
static const char s_AngleSkew[kAngleSkewArraySize]; |
@@ -156,10 +167,20 @@ class CFX_Font { |
#endif // PDF_ENABLE_XFA |
private: |
+ friend class CFX_FaceCache; |
+ CFX_PathData* LoadGlyphPathImpl(uint32_t glyph_index, |
+ int dest_width = 0) const; |
+ |
+ private: |
+ CFX_FaceCache* GetFaceCache() const; |
+ |
void ReleasePlatformResource(); |
void DeleteFace(); |
+ void ClearFaceCache(); |
+ |
FXFT_Face m_Face; |
+ mutable CFX_FaceCache* m_FaceCache; // not owned. |
std::unique_ptr<CFX_SubstFont> m_pSubstFont; |
std::vector<uint8_t> m_pFontDataAllocation; |
uint8_t* m_pFontData; |
@@ -189,12 +210,6 @@ class CFX_FontFaceInfo { |
uint32_t m_Charsets; |
}; |
-class CFX_CountedFaceCache { |
- public: |
- CFX_FaceCache* m_Obj; |
- uint32_t m_nCount; |
-}; |
- |
class CFX_GlyphBitmap { |
public: |
int m_Top; |