From 81f02f4c8347890ce66d6ec48781589d10098689 Mon Sep 17 00:00:00 2001 From: Dan Sinclair Date: Tue, 26 Sep 2017 12:02:16 -0400 Subject: Move font source into CFGAS_FontMgr This CL moves the font source into the font manager so it doesn't need to be stored by each caller (and removes the platform dependant code). The |EnumFonts| method is exposed on the CFGAS_FontMgr so the caller can clear the manager if the enumeration fails. Change-Id: Iecce3d2e09ff01152b7bb79a34fe2b728320da9c Reviewed-on: https://pdfium-review.googlesource.com/14816 Reviewed-by: Henrique Nakashima Commit-Queue: dsinclair --- xfa/fgas/font/cfgas_fontmgr.h | 16 +++++++--------- 1 file changed, 7 insertions(+), 9 deletions(-) (limited to 'xfa/fgas/font/cfgas_fontmgr.h') diff --git a/xfa/fgas/font/cfgas_fontmgr.h b/xfa/fgas/font/cfgas_fontmgr.h index 9424cd9657..d0d73bb688 100644 --- a/xfa/fgas/font/cfgas_fontmgr.h +++ b/xfa/fgas/font/cfgas_fontmgr.h @@ -83,9 +83,7 @@ FX_LPEnumAllFonts FX_GetDefFontEnumerator(); class CFGAS_FontMgr : public Observable { public: - static std::unique_ptr Create(FX_LPEnumAllFonts pEnumerator); - - explicit CFGAS_FontMgr(FX_LPEnumAllFonts pEnumerator); + CFGAS_FontMgr(); ~CFGAS_FontMgr(); RetainPtr GetFontByCodePage(uint16_t wCodePage, @@ -99,6 +97,8 @@ class CFGAS_FontMgr : public Observable { uint16_t wCodePage); void RemoveFont(const RetainPtr& pFont); + bool EnumFonts() { return true; } + private: RetainPtr LoadFont(const RetainPtr& pSrcFont, uint32_t dwFontStyles, @@ -181,10 +181,7 @@ class CFX_FontSourceEnum_File { class CFGAS_FontMgr : public Observable { public: - static std::unique_ptr Create( - CFX_FontSourceEnum_File* pFontEnum); - - explicit CFGAS_FontMgr(CFX_FontSourceEnum_File* pFontEnum); + CFGAS_FontMgr(); ~CFGAS_FontMgr(); RetainPtr GetFontByCodePage(uint16_t wCodePage, @@ -198,8 +195,9 @@ class CFGAS_FontMgr : public Observable { uint16_t wCodePage); void RemoveFont(const RetainPtr& pFont); - private: bool EnumFonts(); + + private: bool EnumFontsFromFontMapper(); bool EnumFontsFromFiles(); void RegisterFace(FXFT_Face pFace, const WideString* pFaceName); @@ -234,7 +232,7 @@ class CFGAS_FontMgr : public Observable { RetainPtr CreateFontStream( const ByteString& bsFaceName); - CFX_FontSourceEnum_File* const m_pFontSource; + std::unique_ptr m_pFontSource; std::vector> m_InstalledFonts; std::map>> m_Hash2CandidateList; -- cgit v1.2.3