Open Source Tomb Raider Engine
Você não pode selecionar mais de 25 tópicos Os tópicos devem começar com uma letra ou um número, podem incluir traços ('-') e podem ter até 35 caracteres.

Window.h 1.1KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
  1. /*!
  2. * \file include/Window.h
  3. * \brief Windowing interface
  4. *
  5. * \author xythobuz
  6. */
  7. #ifndef _WINDOW_H_
  8. #define _WINDOW_H_
  9. #include <ctime>
  10. typedef struct {
  11. char *text;
  12. unsigned int x;
  13. unsigned int y;
  14. float scale;
  15. unsigned char color[3];
  16. } WindowString;
  17. /*!
  18. * \brief Windowing interface
  19. */
  20. class Window {
  21. public:
  22. /*!
  23. * \brief Deconstructs an object of Window
  24. */
  25. virtual ~Window();
  26. virtual void setDriver(const char *driver) = 0;
  27. virtual void setSize(unsigned int width, unsigned int height) = 0;
  28. virtual void setFullscreen(bool fullscreen) = 0;
  29. virtual void setMousegrab(bool grab) = 0;
  30. virtual int initialize() = 0;
  31. virtual void eventHandling() = 0;
  32. virtual void delay(clock_t ms) = 0;
  33. virtual void swapBuffersGL() = 0;
  34. virtual int initializeGL();
  35. virtual void resizeGL(unsigned int w, unsigned int h);
  36. virtual void glEnter2D(unsigned int width, unsigned int height);
  37. virtual void glExit2D();
  38. virtual void setFont(const char *font) = 0;
  39. virtual int initializeFont() = 0;
  40. virtual void writeString(WindowString *s) = 0;
  41. };
  42. #endif