summaryrefslogtreecommitdiff
path: root/core/fxge/ge/fx_ge.cpp
diff options
context:
space:
mode:
authorweili <weili@chromium.org>2016-07-20 10:35:31 -0700
committerCommit bot <commit-bot@chromium.org>2016-07-20 10:35:31 -0700
commit47228aceb86744f858ab8bfa98f3f8b62054dfae (patch)
treed5d8abbc5eaeb23b291cf604bf33c77cf648b0bb /core/fxge/ge/fx_ge.cpp
parent31f8740fe51ceca8e973a2efe40d4d440d7a5cb7 (diff)
downloadpdfium-47228aceb86744f858ab8bfa98f3f8b62054dfae.tar.xz
Clean up singleton implementation
Move the singleton instances into their namespaces, and use get()/getInstance() for uniform accesses. Review-Url: https://codereview.chromium.org/2154843002
Diffstat (limited to 'core/fxge/ge/fx_ge.cpp')
-rw-r--r--core/fxge/ge/fx_ge.cpp34
1 files changed, 19 insertions, 15 deletions
diff --git a/core/fxge/ge/fx_ge.cpp b/core/fxge/ge/fx_ge.cpp
index 4ebf812f12..fe0cc2c3eb 100644
--- a/core/fxge/ge/fx_ge.cpp
+++ b/core/fxge/ge/fx_ge.cpp
@@ -8,19 +8,19 @@
#include "core/fxge/ge/fx_text_int.h"
-static CFX_GEModule* g_pGEModule = nullptr;
+namespace {
-CFX_GEModule::CFX_GEModule(const char** pUserFontPaths,
- CCodec_ModuleMgr* pCodecModule)
+CFX_GEModule* g_pGEModule = nullptr;
+
+} // namespace
+
+CFX_GEModule::CFX_GEModule()
: m_FTLibrary(nullptr),
m_pFontCache(nullptr),
m_pFontMgr(new CFX_FontMgr),
- m_pCodecModule(pCodecModule),
+ m_pCodecModule(nullptr),
m_pPlatformData(nullptr),
- m_pUserFontPaths(pUserFontPaths) {
- InitPlatform();
- SetTextGamma(2.2f);
-}
+ m_pUserFontPaths(nullptr) {}
CFX_GEModule::~CFX_GEModule() {
delete m_pFontCache;
@@ -28,14 +28,9 @@ CFX_GEModule::~CFX_GEModule() {
}
// static
-void CFX_GEModule::Create(const char** userFontPaths,
- CCodec_ModuleMgr* pCodecModule) {
- ASSERT(!g_pGEModule);
- g_pGEModule = new CFX_GEModule(userFontPaths, pCodecModule);
-}
-
-// static
CFX_GEModule* CFX_GEModule::Get() {
+ if (!g_pGEModule)
+ g_pGEModule = new CFX_GEModule();
return g_pGEModule;
}
@@ -46,6 +41,15 @@ void CFX_GEModule::Destroy() {
g_pGEModule = nullptr;
}
+void CFX_GEModule::Init(const char** userFontPaths,
+ CCodec_ModuleMgr* pCodecModule) {
+ ASSERT(g_pGEModule);
+ m_pCodecModule = pCodecModule;
+ m_pUserFontPaths = userFontPaths;
+ InitPlatform();
+ SetTextGamma(2.2f);
+}
+
CFX_FontCache* CFX_GEModule::GetFontCache() {
if (!m_pFontCache)
m_pFontCache = new CFX_FontCache();