Menu.cpp 701 B

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  1. #include <GL\freeglut.h>
  2. #include "Menu.h"
  3. Menu::Menu()
  4. {
  5. cursor = Cursor::getInstance();
  6. }
  7. Menu::~Menu()
  8. {
  9. }
  10. void Menu::draw(void)
  11. {
  12. //Switch view to Ortho
  13. glMatrixMode(GL_PROJECTION);
  14. glLoadIdentity();
  15. glOrtho(0, 1000, 1000, 0, -10, 10);
  16. glMatrixMode(GL_MODELVIEW);
  17. glLoadIdentity();
  18. glDisable(GL_LIGHTING);
  19. glDisable(GL_DEPTH_TEST);
  20. glDisable(GL_TEXTURE_2D);
  21. for (MenuElement* e : elements)
  22. {
  23. e->draw();
  24. }
  25. cursor->draw();
  26. glEnable(GL_LIGHTING);
  27. glEnable(GL_DEPTH_TEST);
  28. }
  29. void Menu::update()
  30. {
  31. for (MenuElement* e : elements)
  32. {
  33. e->update(cursor->mousePosition.x, cursor->mousePosition.y);
  34. }
  35. }
  36. void Menu::AddMenuElement(MenuElement * e)
  37. {
  38. elements.push_back(e);
  39. }