1 // Copyright 2016 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_FXGE_CFX_GEMODULE_H_ 8 #define CORE_FXGE_CFX_GEMODULE_H_ 9 10 #include <memory> 11 12 #include "core/fxge/cfx_fontmgr.h" 13 #include "core/fxge/fx_font.h" 14 15 class CCodec_ModuleMgr; 16 class CFX_FontCache; 17 class CFX_FontMgr; 18 19 class CFX_GEModule { 20 public: 21 static CFX_GEModule* Get(); 22 static void Destroy(); 23 24 void Init(const char** pUserFontPaths, CCodec_ModuleMgr* pCodecModule); 25 CFX_FontCache* GetFontCache(); GetFontMgr()26 CFX_FontMgr* GetFontMgr() { return m_pFontMgr.get(); } 27 void SetTextGamma(FX_FLOAT gammaValue); 28 const uint8_t* GetTextGammaTable() const; 29 GetCodecModule()30 CCodec_ModuleMgr* GetCodecModule() { return m_pCodecModule; } GetPlatformData()31 void* GetPlatformData() { return m_pPlatformData; } 32 33 FXFT_Library m_FTLibrary; 34 35 private: 36 CFX_GEModule(); 37 ~CFX_GEModule(); 38 39 void InitPlatform(); 40 void DestroyPlatform(); 41 42 uint8_t m_GammaValue[256]; 43 CFX_FontCache* m_pFontCache; 44 std::unique_ptr<CFX_FontMgr> m_pFontMgr; 45 CCodec_ModuleMgr* m_pCodecModule; 46 void* m_pPlatformData; 47 const char** m_pUserFontPaths; 48 }; 49 50 #endif // CORE_FXGE_CFX_GEMODULE_H_ 51