Open Source Tomb Raider Engine
Ви не можете вибрати більше 25 тем Теми мають розпочинатися з літери або цифри, можуть містити дефіси (-) і не повинні перевищувати 35 символів.

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  1. /*!
  2. * \file src/Menu.cpp
  3. * \brief Menu 'overlay'
  4. *
  5. * \author xythobuz
  6. */
  7. #ifdef __APPLE__
  8. #include <OpenGL/gl.h>
  9. #include <OpenGL/glu.h>
  10. #else
  11. #include <GL/gl.h>
  12. #include <GL/glu.h>
  13. #endif
  14. #include "config.h"
  15. #include "main.h"
  16. #include "Menu.h"
  17. #include "utils/strings.h"
  18. Menu::Menu() {
  19. mVisible = false;
  20. mainText.text = bufferString(VERSION);
  21. mainText.color[0] = 0xFF;
  22. mainText.color[1] = 0xFF;
  23. mainText.color[2] = 0xFF;
  24. mainText.color[3] = 0xFF;
  25. mainText.scale = 1.2f;
  26. mainText.w = 0;
  27. mainText.h = 0;
  28. }
  29. Menu::~Menu() {
  30. }
  31. void Menu::setVisible(bool visible) {
  32. mVisible = visible;
  33. }
  34. bool Menu::isVisible() {
  35. return mVisible;
  36. }
  37. void Menu::display() {
  38. Window *window = gOpenRaider->mWindow;
  39. if (mVisible) {
  40. // Draw half-transparent *overlay*
  41. glColor4f(0.0f, 0.0f, 0.0f, 0.5f);
  42. glDisable(GL_TEXTURE_2D);
  43. glRecti(0, 0, window->mWidth, window->mHeight);
  44. glEnable(GL_TEXTURE_2D);
  45. // Draw heading text
  46. mainText.x = (window->mWidth / 2) - (mainText.w / 2);
  47. mainText.y = 10;
  48. window->writeString(&mainText);
  49. }
  50. }