76 lines
1.1 KiB
C++
76 lines
1.1 KiB
C++
#include "menumanager.h"
|
|
|
|
namespace segl {
|
|
|
|
MenuManager::MenuManager() {
|
|
aktuell = 0;
|
|
}
|
|
|
|
void MenuManager::addMenu(MenuMenu *mm) {
|
|
menus.push_back(mm);
|
|
if(menus.size()==1)
|
|
aktuell = mm;
|
|
}
|
|
|
|
bool MenuManager::changeMenu(MenuMenu *mm) {
|
|
for(unsigned int i=0; i<menus.size(); i++) {
|
|
if(menus[i]==mm) {
|
|
aktuell = mm;
|
|
aktuell->resetItemPos();
|
|
return true;
|
|
}
|
|
}
|
|
return false;
|
|
}
|
|
|
|
const MenuMenu* MenuManager::getMenu() {
|
|
return aktuell;
|
|
}
|
|
|
|
void MenuManager::render() {
|
|
glEnable(GL_TEXTURE_2D);
|
|
GLFontEngine::prepare2DbyPushingMatrix();
|
|
if(aktuell)
|
|
aktuell->render();
|
|
GLFontEngine::regain3DbyPoppingMatrix();
|
|
}
|
|
|
|
void MenuManager::up() {
|
|
if(aktuell)
|
|
aktuell->up();
|
|
}
|
|
|
|
void MenuManager::down() {
|
|
if(aktuell)
|
|
aktuell->down();
|
|
}
|
|
|
|
void MenuManager::left() {
|
|
if(aktuell)
|
|
aktuell->left();
|
|
}
|
|
|
|
void MenuManager::right() {
|
|
if(aktuell)
|
|
aktuell->right();
|
|
}
|
|
|
|
void MenuManager::select() {
|
|
if(aktuell)
|
|
aktuell->select();
|
|
}
|
|
|
|
void MenuManager::charInput(char c) {
|
|
if(aktuell)
|
|
aktuell->charInput(c);
|
|
}
|
|
|
|
void MenuManager::reset() {
|
|
if(aktuell) {
|
|
aktuell->resetItemPos();
|
|
}
|
|
|
|
}
|
|
|
|
} // namespace segl
|