Allow external font-path configuration from pdfium_test.
[pdfium.git] / core / src / fxge / ge / fx_ge.cpp
index dffc989..6dfed88 100644 (file)
@@ -1,76 +1,58 @@
 // Copyright 2014 PDFium Authors. All rights reserved.
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
+
 // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com
 
 #include "../../../include/fxge/fx_ge.h"
 #include "text_int.h"
 static CFX_GEModule* g_pGEModule = NULL;
-CFX_GEModule::CFX_GEModule()
-{
-    m_pFontCache = NULL;
-    m_pFontMgr = NULL;
-    m_FTLibrary = NULL;
-    m_pCodecModule = NULL;
-    m_pPlatformData = NULL;
-}
-CFX_GEModule::~CFX_GEModule()
-{
-    if (m_pFontCache) {
-        delete m_pFontCache;
-    }
-    m_pFontCache = NULL;
-    if (m_pFontMgr) {
-        delete m_pFontMgr;
-    }
-    m_pFontMgr = NULL;
-    DestroyPlatform();
-}
-CFX_GEModule* CFX_GEModule::Get()
-{
-    return g_pGEModule;
-}
-void CFX_GEModule::Create()
-{
-    g_pGEModule = new CFX_GEModule;
-    g_pGEModule->m_pFontMgr = new CFX_FontMgr;
-    g_pGEModule->InitPlatform();
-    g_pGEModule->SetTextGamma(2.2f);
-}
-void CFX_GEModule::Use(CFX_GEModule* pModule)
-{
-    g_pGEModule = pModule;
-}
-void CFX_GEModule::Destroy()
-{
-    if (g_pGEModule) {
-        delete g_pGEModule;
-    }
-    g_pGEModule = NULL;
-}
-CFX_FontCache* CFX_GEModule::GetFontCache()
-{
-    if (m_pFontCache == NULL) {
-        m_pFontCache = new CFX_FontCache();
-    }
-    return m_pFontCache;
-}
-void CFX_GEModule::SetTextGamma(FX_FLOAT gammaValue)
-{
-    gammaValue /= 2.2f;
-    int i = 0;
-    while (i < 256) {
-        m_GammaValue[i] = (uint8_t)(FXSYS_pow((FX_FLOAT)i / 255, gammaValue) * 255.0f + 0.5f);
-        i++;
-    }
-}
-FX_LPCBYTE CFX_GEModule::GetTextGammaTable()
-{
-    return m_GammaValue;
-}
-void CFX_GEModule::SetExtFontMapper(IFX_FontMapper* pFontMapper)
-{
-    GetFontMgr()->m_pExtMapper = pFontMapper;
-    pFontMapper->m_pFontMgr = m_pFontMgr;
+CFX_GEModule::CFX_GEModule(const char** pUserFontPaths) {
+  m_pFontCache = NULL;
+  m_pFontMgr = NULL;
+  m_FTLibrary = NULL;
+  m_pCodecModule = NULL;
+  m_pPlatformData = NULL;
+  m_pUserFontPaths = pUserFontPaths;
+}
+CFX_GEModule::~CFX_GEModule() {
+  delete m_pFontCache;
+  m_pFontCache = NULL;
+  delete m_pFontMgr;
+  m_pFontMgr = NULL;
+  DestroyPlatform();
+}
+CFX_GEModule* CFX_GEModule::Get() {
+  return g_pGEModule;
+}
+void CFX_GEModule::Create(const char** userFontPaths) {
+  g_pGEModule = new CFX_GEModule(userFontPaths);
+  g_pGEModule->m_pFontMgr = new CFX_FontMgr;
+  g_pGEModule->InitPlatform();
+  g_pGEModule->SetTextGamma(2.2f);
+}
+void CFX_GEModule::Use(CFX_GEModule* pModule) {
+  g_pGEModule = pModule;
+}
+void CFX_GEModule::Destroy() {
+  delete g_pGEModule;
+  g_pGEModule = NULL;
+}
+CFX_FontCache* CFX_GEModule::GetFontCache() {
+  if (m_pFontCache == NULL) {
+    m_pFontCache = new CFX_FontCache();
+  }
+  return m_pFontCache;
+}
+void CFX_GEModule::SetTextGamma(FX_FLOAT gammaValue) {
+  gammaValue /= 2.2f;
+  int i = 0;
+  while (i < 256) {
+    m_GammaValue[i] =
+        (uint8_t)(FXSYS_pow((FX_FLOAT)i / 255, gammaValue) * 255.0f + 0.5f);
+    i++;
+  }
+}
+const uint8_t* CFX_GEModule::GetTextGammaTable() {
+  return m_GammaValue;
 }