summaryrefslogtreecommitdiff
path: root/core/fxge/ge/fx_ge.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'core/fxge/ge/fx_ge.cpp')
-rw-r--r--core/fxge/ge/fx_ge.cpp59
1 files changed, 32 insertions, 27 deletions
diff --git a/core/fxge/ge/fx_ge.cpp b/core/fxge/ge/fx_ge.cpp
index 360a4eb417..4ebf812f12 100644
--- a/core/fxge/ge/fx_ge.cpp
+++ b/core/fxge/ge/fx_ge.cpp
@@ -9,52 +9,57 @@
#include "core/fxge/ge/fx_text_int.h"
static CFX_GEModule* g_pGEModule = nullptr;
-CFX_GEModule::CFX_GEModule(const char** pUserFontPaths) {
- m_pFontCache = nullptr;
- m_pFontMgr = nullptr;
- m_FTLibrary = nullptr;
- m_pCodecModule = nullptr;
- m_pPlatformData = nullptr;
- m_pUserFontPaths = pUserFontPaths;
+
+CFX_GEModule::CFX_GEModule(const char** pUserFontPaths,
+ CCodec_ModuleMgr* pCodecModule)
+ : m_FTLibrary(nullptr),
+ m_pFontCache(nullptr),
+ m_pFontMgr(new CFX_FontMgr),
+ m_pCodecModule(pCodecModule),
+ m_pPlatformData(nullptr),
+ m_pUserFontPaths(pUserFontPaths) {
+ InitPlatform();
+ SetTextGamma(2.2f);
}
+
CFX_GEModule::~CFX_GEModule() {
delete m_pFontCache;
- m_pFontCache = nullptr;
- delete m_pFontMgr;
- m_pFontMgr = nullptr;
DestroyPlatform();
}
+
+// 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() {
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;
-}
+
+// static
void CFX_GEModule::Destroy() {
+ ASSERT(g_pGEModule);
delete g_pGEModule;
g_pGEModule = nullptr;
}
+
CFX_FontCache* CFX_GEModule::GetFontCache() {
- if (!m_pFontCache) {
+ if (!m_pFontCache)
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++;
+ for (int i = 0; i < 256; ++i) {
+ m_GammaValue[i] = static_cast<uint8_t>(
+ FXSYS_pow(static_cast<FX_FLOAT>(i) / 255, gammaValue) * 255.0f + 0.5f);
}
}
-const uint8_t* CFX_GEModule::GetTextGammaTable() {
+
+const uint8_t* CFX_GEModule::GetTextGammaTable() const {
return m_GammaValue;
}