Remove IPDFSDK_AnnotHandler interface.
[pdfium.git] / fpdfsdk / src / fpdfview.cpp
index 9ad3384..3603af6 100644 (file)
@@ -61,19 +61,16 @@ FPDF_BOOL FSDK_IsSandBoxPolicyEnabled(FPDF_DWORD policy) {
   }
 }
 
-#ifndef _T
-#define _T(x) x
-#endif
-
 CCodec_ModuleMgr* g_pCodecModule = nullptr;
 
 #if _FX_OS_ == _FX_LINUX_EMBEDDED_
 class CFontMapper : public IPDF_FontMapper {
  public:
   CFontMapper();
-  virtual ~CFontMapper();
+  ~CFontMapper() override;
 
-  virtual FT_Face FindSubstFont(
+  // IPDF_FontMapper
+  FT_Face FindSubstFont(
       CPDF_Document* pDoc,              // [IN] The PDF document
       const CFX_ByteString& face_name,  // [IN] Original name
       FX_BOOL bTrueType,                // [IN] TrueType or Type1
@@ -82,7 +79,7 @@ class CFontMapper : public IPDF_FontMapper {
       int CharsetCP,    // [IN] code page for charset (see Win32 GetACP())
       FX_BOOL bVertical,
       CPDF_SubstFont* pSubstFont  // [OUT] Subst font data
-      );
+      ) override;
 
   FT_Face m_SysFace;
 };
@@ -91,9 +88,14 @@ CFontMapper* g_pFontMapper = NULL;
 #endif  // #if _FX_OS_ == _FX_LINUX_EMBEDDED_
 
 DLLEXPORT void STDCALL FPDF_InitLibrary() {
+  FPDF_InitLibraryWithConfig(nullptr);
+}
+
+DLLEXPORT void STDCALL FPDF_InitLibraryWithConfig(
+    const FPDF_LIBRARY_CONFIG* cfg) {
   g_pCodecModule = new CCodec_ModuleMgr();
 
-  CFX_GEModule::Create();
+  CFX_GEModule::Create(cfg ? cfg->m_pUserFontPaths : nullptr);
   CFX_GEModule::Get()->SetCodecModule(g_pCodecModule);
 
   CPDF_ModuleMgr::Create();
@@ -176,8 +178,6 @@ DLLEXPORT FPDF_DOCUMENT STDCALL FPDF_LoadDocument(FPDF_STRING file_path,
   return pParser->GetDocument();
 }
 
-extern void CheckUnSupportError(CPDF_Document* pDoc, FX_DWORD err_code);
-
 class CMemFile final : public IFX_FileRead {
  public:
   CMemFile(uint8_t* pBuf, FX_FILESIZE size) : m_pBuf(pBuf), m_size(size) {}
@@ -199,6 +199,8 @@ class CMemFile final : public IFX_FileRead {
   }
 
  private:
+  ~CMemFile() {}
+
   uint8_t* m_pBuf;
   FX_FILESIZE m_size;
 };