diff options
Diffstat (limited to 'core/fxge/ge/fx_ge.cpp')
-rw-r--r-- | core/fxge/ge/fx_ge.cpp | 59 |
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; } |