Home | History | Annotate | Download | only in fxge
      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 class CFX_FontCache;
     13 class CFX_FontMgr;
     14 
     15 class CFX_GEModule {
     16  public:
     17   static CFX_GEModule* Get();
     18   static void Destroy();
     19 
     20   void Init(const char** pUserFontPaths);
     21   CFX_FontCache* GetFontCache();
     22   CFX_FontMgr* GetFontMgr() { return m_pFontMgr.get(); }
     23 
     24   void* GetPlatformData() { return m_pPlatformData; }
     25 
     26  private:
     27   CFX_GEModule();
     28   ~CFX_GEModule();
     29 
     30   void InitPlatform();
     31   void DestroyPlatform();
     32 
     33   std::unique_ptr<CFX_FontCache> m_pFontCache;
     34   std::unique_ptr<CFX_FontMgr> m_pFontMgr;
     35   void* m_pPlatformData;
     36   const char** m_pUserFontPaths;
     37 };
     38 
     39 #endif  // CORE_FXGE_CFX_GEMODULE_H_
     40