GLFWOpenGLWindow.h 1.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172
  1. #ifndef GLFW_OPENGL_WINDOW_H
  2. #define GLFW_OPENGL_WINDOW_H
  3. #ifdef B3_USE_GLFW
  4. #include "../CommonInterfaces/CommonWindowInterface.h"
  5. #define b3gDefaultOpenGLWindow GLFWOpenGLWindow
  6. class GLFWOpenGLWindow : public CommonWindowInterface
  7. {
  8. struct GLFWOpenGLWindowInternalData* m_data;
  9. protected:
  10. public:
  11. GLFWOpenGLWindow();
  12. virtual ~GLFWOpenGLWindow();
  13. virtual void createDefaultWindow(int width, int height, const char* title);
  14. virtual void createWindow(const b3gWindowConstructionInfo& ci);
  15. virtual void closeWindow();
  16. virtual void runMainLoop();
  17. virtual float getTimeInSeconds();
  18. virtual bool requestedExit() const;
  19. virtual void setRequestExit();
  20. virtual void startRendering();
  21. virtual void endRendering();
  22. virtual bool isModifierKeyPressed(int key);
  23. virtual void setMouseMoveCallback(b3MouseMoveCallback mouseCallback);
  24. virtual b3MouseMoveCallback getMouseMoveCallback();
  25. virtual void setMouseButtonCallback(b3MouseButtonCallback mouseCallback);
  26. virtual b3MouseButtonCallback getMouseButtonCallback();
  27. virtual void setResizeCallback(b3ResizeCallback resizeCallback);
  28. virtual b3ResizeCallback getResizeCallback();
  29. virtual void setWheelCallback(b3WheelCallback wheelCallback);
  30. virtual b3WheelCallback getWheelCallback();
  31. virtual void setKeyboardCallback(b3KeyboardCallback keyboardCallback);
  32. virtual b3KeyboardCallback getKeyboardCallback();
  33. virtual void setRenderCallback(b3RenderCallback renderCallback);
  34. virtual void setWindowTitle(const char* title);
  35. virtual float getRetinaScale() const;
  36. virtual void setAllowRetina(bool allow);
  37. virtual int getWidth() const;
  38. virtual int getHeight() const;
  39. virtual int fileOpenDialog(char* fileName, int maxFileNameLength);
  40. void keyboardCallbackInternal(int key, int state);
  41. void mouseButtonCallbackInternal(int button, int state);
  42. void mouseCursorCallbackInternal(double xPos, double yPos);
  43. void resizeInternal(int width, int height);
  44. };
  45. #endif //B3_USE_GLFW
  46. #endif //GLFW_OPENGL_WINDOW_H