aboutsummaryrefslogtreecommitdiff
path: root/src/glfw/window.cc
diff options
context:
space:
mode:
Diffstat (limited to 'src/glfw/window.cc')
-rw-r--r--src/glfw/window.cc32
1 files changed, 32 insertions, 0 deletions
diff --git a/src/glfw/window.cc b/src/glfw/window.cc
new file mode 100644
index 0000000..0e57a65
--- /dev/null
+++ b/src/glfw/window.cc
@@ -0,0 +1,32 @@
+#include "window.h"
+
+Window::Window(const std::string& title):
+ _handle(glfwCreateWindow(_width, _height, title.c_str(), NULL, NULL)) {
+ if ( _handle != nullptr ) {
+ glfwMakeContextCurrent(_handle);
+ if ( glewInit() == GLEW_OK ) {
+ _good = true;
+ }
+ glfwMakeContextCurrent(nullptr);
+ }
+}
+
+Window::~Window() {
+ glfwDestroyWindow(_handle);
+}
+
+bool Window::isGood() const {
+ return _good;
+}
+
+int Window::getWidth() const {
+ return _width;
+}
+
+int Window::getHeight() const {
+ return _height;
+}
+
+KeyWatcher Window::getKeyWatcher(int key) {
+ return KeyWatcher(_handle, key);
+}