Home | History | Annotate | Download | only in fxfa
      1 // Copyright 2014 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 XFA_FXFA_CXFA_FONTMGR_H_
      8 #define XFA_FXFA_CXFA_FONTMGR_H_
      9 
     10 #include <map>
     11 #include <memory>
     12 #include <vector>
     13 
     14 #include "core/fxcrt/fx_extension.h"
     15 #include "core/fxcrt/fx_system.h"
     16 #include "core/fxcrt/retain_ptr.h"
     17 #include "xfa/fgas/font/cfgas_defaultfontmanager.h"
     18 #include "xfa/fgas/font/cfgas_fontmgr.h"
     19 #include "xfa/fgas/font/cfgas_pdffontmgr.h"
     20 #include "xfa/fxfa/fxfa.h"
     21 
     22 class CPDF_Font;
     23 
     24 class CXFA_FontMgr {
     25  public:
     26   CXFA_FontMgr();
     27   ~CXFA_FontMgr();
     28 
     29   RetainPtr<CFGAS_GEFont> GetFont(CXFA_FFDoc* hDoc,
     30                                   const WideStringView& wsFontFamily,
     31                                   uint32_t dwFontStyles);
     32   void SetDefFontMgr(std::unique_ptr<CFGAS_DefaultFontManager> pFontMgr);
     33 
     34  private:
     35   std::unique_ptr<CFGAS_DefaultFontManager> m_pDefFontMgr;
     36   std::map<ByteString, RetainPtr<CFGAS_GEFont>> m_FontMap;
     37 };
     38 
     39 #endif  //  XFA_FXFA_CXFA_FONTMGR_H_
     40