Open Source Tomb Raider Engine
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162
  1. /*!
  2. * \file include/Window.h
  3. * \brief Windowing interface
  4. *
  5. * \author xythobuz
  6. */
  7. #ifndef _WINDOW_H_
  8. #define _WINDOW_H_
  9. /*!
  10. * \brief Windowing interface
  11. */
  12. class Window {
  13. public:
  14. virtual ~Window() {}
  15. virtual void setSize(unsigned int width, unsigned int height) = 0;
  16. virtual void setFullscreen(bool fullscreen) = 0;
  17. virtual void setMousegrab(bool grab) = 0;
  18. virtual int initialize() = 0;
  19. virtual void eventHandling() = 0;
  20. virtual void setTextInput(bool on) = 0;
  21. virtual void delay(unsigned int ms) = 0;
  22. virtual void swapBuffersGL() = 0;
  23. virtual unsigned int getWidth();
  24. virtual unsigned int getHeight();
  25. virtual int initializeGL();
  26. virtual void resizeGL();
  27. virtual void glEnter2D();
  28. virtual void glExit2D();
  29. virtual void lookAt(float eyeX, float eyeY, float eyeZ,
  30. float lookAtX, float lookAtY, float lookAtZ,
  31. float upX, float upY, float upZ);
  32. protected:
  33. bool mInit;
  34. bool mFullscreen;
  35. bool mMousegrab;
  36. unsigned int mWidth;
  37. unsigned int mHeight;
  38. };
  39. Window &getWindow();
  40. #endif