| Index: core/fxge/include/fx_font.h
|
| diff --git a/core/fxge/include/fx_font.h b/core/fxge/include/fx_font.h
|
| index fc207a60b2b0ee86e47d669307804f72dffd90d1..58d12bbb2afc5ebb44b1e7a5cf83db5710b8fed2 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;
|
|
|
| @@ -115,13 +115,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;
|
| @@ -148,7 +159,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];
|
| @@ -165,10 +176,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;
|
| @@ -198,12 +219,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;
|
|
|