Menu.cpp 758 B

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