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