123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263 |
- /*!
- * \file include/system/WindowGLFW.h
- * \brief GLFW windowing implementation
- *
- * \author xythobuz
- */
-
- #ifndef _WINDOW_GLFW_H_
- #define _WINDOW_GLFW_H_
-
- #include <glm/gtc/type_precision.hpp>
-
- #include <GLFW/glfw3.h>
-
- class WindowGLFW {
- public:
- static int initialize();
- static void eventHandling();
- static void swapBuffers();
- static void shutdown();
-
- static void setSize(glm::i32vec2 s);
- static glm::i32vec2 getSize() { return size; }
-
- static void setFullscreen(bool f);
- static bool getFullscreen() { return fullscreen; }
-
- static void setMousegrab(bool g);
- static bool getMousegrab() { return mousegrab; }
-
- static void setTextInput(bool t);
- static bool getTextInput() { return textinput; }
-
- static void setClipboard(const char* s);
- static const char* getClipboard();
-
- static void inputPositionCallback(int x, int y);
-
- private:
- static void errorCallback(int error, const char* desc);
- static void sizeCallback(GLFWwindow* w, int width, int height);
- static void cursorCallback(GLFWwindow* w, double xpos, double ypos);
- static void keyCallback(GLFWwindow* w, int key, int scancode, int action, int mods);
- static void buttonCallback(GLFWwindow* w, int button, int action, int mods);
- static void scrollCallback(GLFWwindow* w, double xoffset, double yoffset);
-
- static KeyboardButton convertAsciiButton(int key);
-
- static glm::i32vec2 size;
- static bool fullscreen;
- static bool mousegrab;
- static bool textinput;
- static GLFWwindow* window;
- static int lastMouseX;
- static int lastMouseY;
- static bool modShift;
- static bool modControl;
- static bool modAlt;
- static bool modSuper;
- };
-
- #endif
|