本文整理汇总了C++中CGUIWindow::FreeResources方法的典型用法代码示例。如果您正苦于以下问题:C++ CGUIWindow::FreeResources方法的具体用法?C++ CGUIWindow::FreeResources怎么用?C++ CGUIWindow::FreeResources使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类CGUIWindow
的用法示例。
在下文中一共展示了CGUIWindow::FreeResources方法的6个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: DeInitialize
void CGUIWindowManager::DeInitialize()
{
CSingleLock lock(g_graphicsContext);
for (WindowMap::iterator it = m_mapWindows.begin(); it != m_mapWindows.end(); it++)
{
CGUIWindow* pWindow = (*it).second;
if (IsWindowActive(it->first))
{
pWindow->DisableAnimations();
pWindow->Close(true);
}
pWindow->ResetControlStates();
pWindow->FreeResources(true);
}
UnloadNotOnDemandWindows();
m_vecMsgTargets.erase( m_vecMsgTargets.begin(), m_vecMsgTargets.end() );
// destroy our custom windows...
for (int i = 0; i < (int)m_vecCustomWindows.size(); i++)
{
CGUIWindow *pWindow = m_vecCustomWindows[i];
Remove(pWindow->GetID());
delete pWindow;
}
// clear our vectors of windows
m_vecCustomWindows.clear();
m_activeDialogs.clear();
m_initialized = false;
}
示例2: UnloadDialog
void CGUIWindowFullScreen::UnloadDialog(unsigned int windowID)
{
CGUIWindow *pWindow = m_gWindowManager.GetWindow(windowID);
if (pWindow) {
pWindow->FreeResources(pWindow->GetLoadOnDemand());
}
}
示例3: UnloadNotOnDemandWindows
void CGUIWindowManager::UnloadNotOnDemandWindows()
{
CSingleLock lock(g_graphicsContext);
for (WindowMap::iterator it = m_mapWindows.begin(); it != m_mapWindows.end(); it++)
{
CGUIWindow *pWindow = (*it).second;
if (!pWindow->GetLoadOnDemand())
{
pWindow->FreeResources(true);
}
}
}
示例4: UnloadNotOnDemandWindows
void CGUIWindowManager::UnloadNotOnDemandWindows()
{
CSingleLock lock(g_graphicsContext);
for (WindowMap::iterator it = m_mapWindows.begin(); it != m_mapWindows.end(); it++)
{
CGUIWindow *pWindow = (*it).second;
if (pWindow->GetLoadType() == CGUIWindow::LOAD_ON_GUI_INIT ||
pWindow->GetLoadType() == CGUIWindow::KEEP_IN_MEMORY)
{
pWindow->FreeResources(true);
}
}
}
示例5: UnloadNotOnDemandWindows
void CGUIWindowManager::UnloadNotOnDemandWindows()
{
CSingleLock lock(g_graphicsContext);
for (const auto& entry : m_mapWindows)
{
CGUIWindow *pWindow = entry.second;
if (pWindow->GetLoadType() == CGUIWindow::LOAD_ON_GUI_INIT ||
pWindow->GetLoadType() == CGUIWindow::KEEP_IN_MEMORY)
{
pWindow->FreeResources(true);
}
}
}
示例6: ProcessMessage
//.........这里部分代码省略.........
}
}
}
break;
case TMSG_CLOSE_DIALOG:
{
CGUIDialog *dlg = (CGUIDialog *)pMsg->lpVoid;
bool bForce = (bool)pMsg->dwParam1;
if (dlg)
dlg->Close(bForce);
}
break;
case TMSG_PREVIOUS_WINDOW:
{
g_windowManager.PreviousWindow();
}
break;
case TMSG_TOGGLEFULLSCREEN:
{
CAction action;
action.id = ACTION_TOGGLE_FULLSCREEN;
g_application.OnAction(action);
}
break;
case TMSG_FREE_WINDOW_RESOURCES:
{
CGUIWindow *win = (CGUIWindow *)pMsg->lpVoid;
if (win)
win->FreeResources();
}
break;
case TMSG_FREE_TEXTURE:
{
CGUITextureBase *t = (CGUITextureBase *)pMsg->lpVoid;
if (t)
t->FreeResources(!!pMsg->dwParam1);
}
break;
case TMSG_VIDEO_RENDERER_PREINIT:
{
pMsg->dwParam1 = g_renderManager.PreInit();
break;
}
case TMSG_VIDEO_RENDERER_UNINIT:
{
g_renderManager.UnInit();
break;
}
case TMSG_CLOSE_SLIDESHOWPIC:
{
CSlideShowPic *t = (CSlideShowPic *)pMsg->lpVoid;
if (t)
t->Close();
break;
}
case TMSG_SHOW_POST_PLAY_DIALOG: