From 5110c4743751145c4ae1934cd1d83bc6c55bb43f Mon Sep 17 00:00:00 2001 From: John Abd-El-Malek Date: Sat, 17 May 2014 22:33:34 -0700 Subject: Initial commit. --- core/src/fxge/ge/fx_ge.cpp | 79 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 79 insertions(+) create mode 100644 core/src/fxge/ge/fx_ge.cpp (limited to 'core/src/fxge/ge/fx_ge.cpp') diff --git a/core/src/fxge/ge/fx_ge.cpp b/core/src/fxge/ge/fx_ge.cpp new file mode 100644 index 0000000000..df200d5b48 --- /dev/null +++ b/core/src/fxge/ge/fx_ge.cpp @@ -0,0 +1,79 @@ +// 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 = FX_NEW CFX_GEModule; + if (!g_pGEModule) { + return; + } + g_pGEModule->m_pFontMgr = FX_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 = FX_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] = (FX_BYTE)(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; +} -- cgit v1.2.3