From 01fa1efb228acdcf5250804c670107133668e4b2 Mon Sep 17 00:00:00 2001 From: Tom Sepez Date: Fri, 31 Jul 2015 14:00:39 -0700 Subject: Kill IFX_FontMapper The design envisioned two kinds of font mappers: internal (of type CFX_FontMapper), and external, both of which implement a common interface. But there isn't any means of making an external one, so the interface is redundant. IFX_FontMapper also appears in an apple-specific struct, but was never non-null or used in any way. The CFX_FontMapper class provides its own mechanism to include platform-specific features, as it turns out. R=thestig@chromium.org Review URL: https://codereview.chromium.org/1259123005 . --- core/include/fxge/fx_font.h | 25 +++++++------------------ core/include/fxge/fx_ge.h | 1 - core/src/fxge/apple/apple_int.h | 12 +++--------- core/src/fxge/ge/fx_ge.cpp | 5 ----- core/src/fxge/ge/fx_ge_fontmap.cpp | 28 +++++++++------------------- 5 files changed, 19 insertions(+), 52 deletions(-) diff --git a/core/include/fxge/fx_font.h b/core/include/fxge/fx_font.h index 2832fbfcbc..5797ecb246 100644 --- a/core/include/fxge/fx_font.h +++ b/core/include/fxge/fx_font.h @@ -18,7 +18,6 @@ class IFX_FontEncoding; class CFX_PathData; class CFX_SubstFont; class CFX_FaceCache; -class IFX_FontMapper; class CFX_FontMapper; class IFX_SystemFontInfo; class CFontFileFaceInfo; @@ -224,22 +223,10 @@ public: FX_BOOL GetStandardFont(const uint8_t*& pFontData, FX_DWORD& size, int index); CFX_FontMapper* m_pBuiltinMapper; - IFX_FontMapper* m_pExtMapper; CFX_MapByteStringToPtr m_FaceMap; FXFT_Library m_FTLibrary; FoxitFonts m_ExternalFonts[16]; }; -class IFX_FontMapper -{ -public: - - virtual ~IFX_FontMapper() {} - - virtual FXFT_Face FindSubstFont(const CFX_ByteString& face_name, FX_BOOL bTrueType, FX_DWORD flags, - int weight, int italic_angle, int CharsetCP, CFX_SubstFont* pSubstFont) = 0; - - CFX_FontMgr* m_pFontMgr; -}; class IFX_FontEnumerator { public: @@ -256,11 +243,12 @@ public: virtual int CountFiles() = 0; virtual IFX_FileStream* GetFontFile(int index) = 0; }; -class CFX_FontMapper : public IFX_FontMapper +class CFX_FontMapper { public: - CFX_FontMapper(); - virtual ~CFX_FontMapper(); + CFX_FontMapper(CFX_FontMgr* mgr); + ~CFX_FontMapper(); + void SetSystemFontInfo(IFX_SystemFontInfo* pFontInfo); IFX_SystemFontInfo* GetSystemFontInfo() { @@ -277,8 +265,8 @@ public: { return m_pFontEnumerator; } - virtual FXFT_Face FindSubstFont(const CFX_ByteString& face_name, FX_BOOL bTrueType, FX_DWORD flags, - int weight, int italic_angle, int CharsetCP, CFX_SubstFont* pSubstFont); + FXFT_Face FindSubstFont(const CFX_ByteString& face_name, FX_BOOL bTrueType, FX_DWORD flags, + int weight, int italic_angle, int CharsetCP, CFX_SubstFont* pSubstFont); private: CFX_ByteString GetPSNameFromTT(void* hFont); CFX_ByteString MatchInstalledFonts(const CFX_ByteString& norm_name); @@ -292,6 +280,7 @@ private: IFX_SystemFontInfo* m_pFontInfo; FXFT_Face m_FoxitFaces[14]; IFX_FontEnumerator* m_pFontEnumerator; + CFX_FontMgr* const m_pFontMgr; }; class IFX_SystemFontInfo { diff --git a/core/include/fxge/fx_ge.h b/core/include/fxge/fx_ge.h index fd9c148b62..dd349adb29 100644 --- a/core/include/fxge/fx_ge.h +++ b/core/include/fxge/fx_ge.h @@ -42,7 +42,6 @@ public: } void SetTextGamma(FX_FLOAT gammaValue); const uint8_t* GetTextGammaTable(); - void SetExtFontMapper(IFX_FontMapper* pFontMapper); void SetCodecModule(CCodec_ModuleMgr* pCodecModule) { diff --git a/core/src/fxge/apple/apple_int.h b/core/src/fxge/apple/apple_int.h index 715e48d6c2..090ac0924a 100644 --- a/core/src/fxge/apple/apple_int.h +++ b/core/src/fxge/apple/apple_int.h @@ -65,16 +65,10 @@ public: class CApplePlatform { public: - CApplePlatform() - { - m_pFontMapper = NULL; - } - ~CApplePlatform() - { - delete m_pFontMapper; - } + CApplePlatform() {} + ~CApplePlatform() {} + CQuartz2D _quartz2d; - IFX_FontMapper* m_pFontMapper; }; class CFX_QuartzDeviceDriver : public IFX_RenderDeviceDriver { diff --git a/core/src/fxge/ge/fx_ge.cpp b/core/src/fxge/ge/fx_ge.cpp index 4b34a079e5..6ba6cf5979 100644 --- a/core/src/fxge/ge/fx_ge.cpp +++ b/core/src/fxge/ge/fx_ge.cpp @@ -63,8 +63,3 @@ const uint8_t* CFX_GEModule::GetTextGammaTable() { return m_GammaValue; } -void CFX_GEModule::SetExtFontMapper(IFX_FontMapper* pFontMapper) -{ - GetFontMgr()->m_pExtMapper = pFontMapper; - pFontMapper->m_pFontMgr = m_pFontMgr; -} diff --git a/core/src/fxge/ge/fx_ge_fontmap.cpp b/core/src/fxge/ge/fx_ge_fontmap.cpp index 9bbebd9917..495d95c8d7 100644 --- a/core/src/fxge/ge/fx_ge_fontmap.cpp +++ b/core/src/fxge/ge/fx_ge_fontmap.cpp @@ -61,12 +61,9 @@ FX_BOOL CTTFontDesc::ReleaseFace(FXFT_Face face) delete this; return TRUE; } -CFX_FontMgr::CFX_FontMgr() +CFX_FontMgr::CFX_FontMgr() : m_FTLibrary(nullptr) { - m_pBuiltinMapper = new CFX_FontMapper; - m_pBuiltinMapper->m_pFontMgr = this; - m_pExtMapper = NULL; - m_FTLibrary = NULL; + m_pBuiltinMapper = new CFX_FontMapper(this); FXSYS_memset(m_ExternalFonts, 0, sizeof m_ExternalFonts); } CFX_FontMgr::~CFX_FontMgr() @@ -101,18 +98,10 @@ void CFX_FontMgr::SetSystemFontInfo(IFX_SystemFontInfo* pFontInfo) FXFT_Face CFX_FontMgr::FindSubstFont(const CFX_ByteString& face_name, FX_BOOL bTrueType, FX_DWORD flags, int weight, int italic_angle, int CharsetCP, CFX_SubstFont* pSubstFont) { - if (m_FTLibrary == NULL) { + if (!m_FTLibrary) { FXFT_Init_FreeType(&m_FTLibrary); } - if (m_pExtMapper) { - FXFT_Face face = m_pExtMapper->FindSubstFont(face_name, bTrueType, flags, weight, italic_angle, - CharsetCP, pSubstFont); - if (face) { - return face; - } - } - return m_pBuiltinMapper->FindSubstFont(face_name, bTrueType, flags, weight, italic_angle, - CharsetCP, pSubstFont); + return m_pBuiltinMapper->FindSubstFont(face_name, bTrueType, flags, weight, italic_angle, CharsetCP, pSubstFont); } FXFT_Face CFX_FontMgr::GetCachedFace(const CFX_ByteString& face_name, int weight, FX_BOOL bItalic, uint8_t*& pFontData) @@ -454,13 +443,14 @@ FX_BOOL CFX_FontMgr::GetStandardFont(const uint8_t*& pFontData, FX_DWORD& size, } return TRUE; } -CFX_FontMapper::CFX_FontMapper() +CFX_FontMapper::CFX_FontMapper(CFX_FontMgr* mgr) + : m_pFontInfo(nullptr), + m_bListLoaded(FALSE), + m_pFontEnumerator(nullptr), + m_pFontMgr(mgr) { FXSYS_memset(m_FoxitFaces, 0, sizeof m_FoxitFaces); m_MMFaces[0] = m_MMFaces[1] = NULL; - m_pFontInfo = NULL; - m_bListLoaded = FALSE; - m_pFontEnumerator = NULL; } CFX_FontMapper::~CFX_FontMapper() { -- cgit v1.2.3