本文整理汇总了C++中CClassMemoryPool类的典型用法代码示例。如果您正苦于以下问题:C++ CClassMemoryPool类的具体用法?C++ CClassMemoryPool怎么用?C++ CClassMemoryPool使用的例子?那么, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了CClassMemoryPool类的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: sizeof
//-----------------------------------------------------------------------------
// Purpose:
//-----------------------------------------------------------------------------
CHudTexture *CHud::AddUnsearchableHudIconToList(CHudTexture& texture)
{
// These names are composed based on the texture file name
char composedName[512];
if (texture.bRenderUsingFont)
{
Q_snprintf(composedName, sizeof(composedName), "%s_c%i",
texture.szTextureFile, texture.cCharacterInFont);
}
else
{
Q_snprintf(composedName, sizeof(composedName), "%s_%i_%i_%i_%i",
texture.szTextureFile, texture.rc.left, texture.rc.top, texture.rc.right, texture.rc.bottom);
}
CHudTexture *icon = GetIcon(composedName);
if (icon)
{
return icon;
}
CHudTexture *newTexture = (CHudTexture *) g_HudTextureMemoryPool.Alloc();
*newTexture = texture;
SetupNewHudTexture(newTexture);
int idx = m_Icons.Insert(composedName, newTexture);
return m_Icons[idx];
}
示例2:
CHudIcons::~CHudIcons()
{
int c = m_Icons.Count();
for (int i = c - 1; i >= 0; i--)
{
CHudTexture *tex = m_Icons[i];
g_HudTextureMemoryPool.Free(tex);
}
m_Icons.Purge();
}
示例3: FindPanelAnimationMap
//-----------------------------------------------------------------------------
// Purpose:
//-----------------------------------------------------------------------------
PanelAnimationMap *CPanelAnimationDictionary::FindOrAddPanelAnimationMap( char const *className )
{
PanelAnimationMap *map = FindPanelAnimationMap( className );
if ( map )
return map;
Panel::InitPropertyConverters();
PanelAnimationMapDictionaryEntry entry;
entry.map = (PanelAnimationMap *)m_PanelAnimationMapPool.Alloc();
m_AnimationMaps.Insert( StripNamespace( className ), entry );
return entry.map;
}
示例4: GetIcon
//-----------------------------------------------------------------------------
// Purpose:
//-----------------------------------------------------------------------------
CHudTexture *CHud::AddSearchableHudIconToList(CHudTexture& texture)
{
CHudTexture *icon = GetIcon(texture.szShortName);
if (icon)
{
return icon;
}
CHudTexture *newTexture = (CHudTexture *) g_HudTextureMemoryPool.Alloc();
*newTexture = texture;
SetupNewHudTexture(newTexture);
int idx = m_Icons.Insert(texture.szShortName, newTexture);
return m_Icons[idx];
}
示例5:
//-----------------------------------------------------------------------------
// Purpose: cleans up memory allocated for m_rg* arrays
//-----------------------------------------------------------------------------
CHud::~CHud()
{
int c = m_Icons.Count();
for (int i = c - 1; i >= 0; i--)
{
CHudTexture *tex = m_Icons[i];
g_HudTextureMemoryPool.Free(tex);
}
m_Icons.Purge();
c = m_RenderGroups.Count();
for (int i = c - 1; i >= 0; i--)
{
CHudRenderGroup *group = m_RenderGroups[i];
m_RenderGroups.RemoveAt(i);
delete group;
}
}