summaryrefslogtreecommitdiff
path: root/macosx
diff options
context:
space:
mode:
authorKonstantin Käfer <mail@kkaefer.com>2014-01-16 10:54:02 +0100
committerKonstantin Käfer <mail@kkaefer.com>2014-01-16 10:54:02 +0100
commita3a5a96bfed27b02f3a9f7cc2863db988b4e41a2 (patch)
tree261b5bbd4d66eb65d4d6dc10159a656e29577f6b /macosx
parentad26f6709517c7af89469b06cf3b445faf4f327a (diff)
downloadqtlocation-mapboxgl-a3a5a96bfed27b02f3a9f7cc2863db988b4e41a2.tar.gz
add keyboard shortcuts for resetting position
Diffstat (limited to 'macosx')
-rw-r--r--macosx/main.mm30
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;