// GUIButtonManager.cpp: implementation of the CGUIButtonManager class. // ////////////////////////////////////////////////////////////////////// #include "GUIButtonManager.h" CGUIButtonManager g_ButtonManager; ////////////////////////////////////////////////////////////////////// // Construction/Destruction ////////////////////////////////////////////////////////////////////// CGUIButtonManager::CGUIButtonManager() { } CGUIButtonManager::~CGUIButtonManager() { DestroyAllButton(); } BOOL CGUIButtonManager::AddButton(CGUIButton *pButton) { m_lstButton.push_back(pButton); return TRUE; } void CGUIButtonManager::Update(void) { vector::iterator it; for(it = m_lstButton.begin(); it != m_lstButton.end(); it++) { (*it)->Update(); } } void CGUIButtonManager::DestroyAllButton() { vector::iterator it; for(it = m_lstButton.begin(); it != m_lstButton.end(); it++) { if((*it)) { delete (*it); (*it) = NULL; } } m_lstButton.clear(); } void CGUIButtonManager::Render(LPDIRECT3DDEVICE8 lpD3DDevice, unsigned char cAlpha) { vector::iterator it; for(it = m_lstButton.begin(); it != m_lstButton.end(); it++) { if((*it)->m_bShow) (*it)->Render(lpD3DDevice, cAlpha); } }