55 lines
1.3 KiB
C++
55 lines
1.3 KiB
C++
/**
|
|
@file JCFontManager.cpp
|
|
@brief
|
|
@author James
|
|
@version 1.0
|
|
@date 2016_5_17
|
|
*/
|
|
|
|
#include "JCFontManager.h"
|
|
|
|
namespace laya
|
|
{
|
|
JCFontManager::JCFontManager()
|
|
{
|
|
}
|
|
JCFontManager::~JCFontManager()
|
|
{
|
|
clearAllData();
|
|
}
|
|
void JCFontManager::clearAllData()
|
|
{
|
|
for (MapFontInfoIter iter = m_vMapFontID.begin(); iter != m_vMapFontID.end(); iter++)
|
|
{
|
|
JCFontInfo* pFontInfo = iter->second;
|
|
if (pFontInfo != NULL)
|
|
{
|
|
delete pFontInfo;
|
|
pFontInfo = NULL;
|
|
}
|
|
}
|
|
m_vMapFontID.clear();
|
|
}
|
|
JCFontInfo* JCFontManager::getFontInfoFromText( const std::string& sFontText )
|
|
{
|
|
MapFontInfoIter iter = m_vMapFontID.find(sFontText);
|
|
if( iter != m_vMapFontID.end() )
|
|
{
|
|
return iter->second;
|
|
}
|
|
else
|
|
{
|
|
//这样先复制,看着特别傻,但是我也没有办法,因为不知道为什么ANDROID就是不行
|
|
std::string sTempBuffer = sFontText;
|
|
JCFontInfo* pFontInfo = new JCFontInfo();
|
|
pFontInfo->buildFont(sFontText);
|
|
m_vMapFontID[ sTempBuffer ] = pFontInfo;
|
|
return pFontInfo;
|
|
}
|
|
}
|
|
}
|
|
//------------------------------------------------------------------------------
|
|
|
|
|
|
//-----------------------------END FILE--------------------------------
|