diff options
author | Konstantin Käfer <mail@kkaefer.com> | 2014-01-16 10:54:02 +0100 |
---|---|---|
committer | Konstantin Käfer <mail@kkaefer.com> | 2014-01-16 10:54:02 +0100 |
commit | a3a5a96bfed27b02f3a9f7cc2863db988b4e41a2 (patch) | |
tree | 261b5bbd4d66eb65d4d6dc10159a656e29577f6b /macosx | |
parent | ad26f6709517c7af89469b06cf3b445faf4f327a (diff) | |
download | qtlocation-mapboxgl-a3a5a96bfed27b02f3a9f7cc2863db988b4e41a2.tar.gz |
add keyboard shortcuts for resetting position
Diffstat (limited to 'macosx')
-rw-r--r-- | macosx/main.mm | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/macosx/main.mm b/macosx/main.mm index 15f4727700..4f2bfec148 100644 --- a/macosx/main.mm +++ b/macosx/main.mm @@ -49,10 +49,40 @@ public: glfwSetMouseButtonCallback(window, mouseclick); glfwSetWindowSizeCallback(window, resize); glfwSetScrollCallback(window, scroll); + glfwSetCharCallback(window, character); + glfwSetKeyCallback(window, key); glfwSetWindowUserPointer(window, this); } + static void character(GLFWwindow *window, unsigned int codepoint) { + MapView *view = (MapView *)glfwGetWindowUserPointer(window); + switch (codepoint) { + case L'n': + case L'N': + view->map->resetNorth(); + break; + case L'r': + case L'R': + view->map->resetPosition(); + break; + } + } + + + static void key(GLFWwindow *window, int key, int scancode, int action, int mods) { + // MapView *view = (MapView *)glfwGetWindowUserPointer(window); + + if (action == GLFW_RELEASE) { + switch (key) { + case GLFW_KEY_ESCAPE: + glfwSetWindowShouldClose(window, true); + break; + } + } + } + + static void scroll(GLFWwindow *window, double xoffset, double yoffset) { MapView *view = (MapView *)glfwGetWindowUserPointer(window); double delta = yoffset * 40; |