diff options
Diffstat (limited to 'src/glfw')
-rw-r--r-- | src/glfw/window.cc | 21 |
1 files changed, 10 insertions, 11 deletions
diff --git a/src/glfw/window.cc b/src/glfw/window.cc index 4f14501..c0074ad 100644 --- a/src/glfw/window.cc +++ b/src/glfw/window.cc @@ -38,21 +38,20 @@ int Window::getHeight() const { } std::tuple<int,int,int> Window::getMouse() const { - int state = 0; + double x, y; + glfwGetCursorPos(_handle, &x, &y); + x = int(x - getWidth()/2); + y = int(getHeight()/2 - y); + if ( glfwGetMouseButton(_handle, GLFW_MOUSE_BUTTON_LEFT) == GLFW_PRESS ) { - state = 1; - } else if ( glfwGetMouseButton(_handle, GLFW_MOUSE_BUTTON_RIGHT) == GLFW_PRESS ) { - state = 2; + return std::make_tuple(1, x, y); } - double x, y; - glfwGetCursorPos(_handle, &x, &y); + if ( glfwGetMouseButton(_handle, GLFW_MOUSE_BUTTON_RIGHT) == GLFW_PRESS ) { + return std::make_tuple(2, x, y); + } - return std::make_tuple( - state, - x - int(getWidth()/2), - int(getHeight()/2 - y) - ); + return std::make_tuple(0, x, y); } KeyWatcher Window::getKeyWatcher(int key) const { |