diff options
author | Peter Hofmann <scm@uninformativ.de> | 2014-11-09 14:00:45 +0100 |
---|---|---|
committer | Peter Hofmann <scm@uninformativ.de> | 2014-11-09 14:00:45 +0100 |
commit | c076343ece1c7aff8bd7b63ef4b232d950281df5 (patch) | |
tree | 740edf8643faf53b0ef4f8a0f616bb85b25ac3ed /browser.c | |
parent | 37b7845e3005e4a811451cc09cabc8f659892a2c (diff) | |
download | lariza-c076343ece1c7aff8bd7b63ef4b232d950281df5.tar.gz |
Fix interactive mouse wheel zoom (GTK+ 3)
Diffstat (limited to 'browser.c')
-rw-r--r-- | browser.c | 24 |
1 files changed, 9 insertions, 15 deletions
@@ -635,6 +635,7 @@ gboolean key_web_view(GtkWidget *widget, GdkEvent *event, gpointer data) { struct Client *c = (struct Client *)data; + gdouble dx, dy; gchar *f; gfloat z; @@ -711,21 +712,14 @@ key_web_view(GtkWidget *widget, GdkEvent *event, gpointer data) if (((GdkEventScroll *)event)->state & GDK_MOD1_MASK || ((GdkEventScroll *)event)->state & GDK_CONTROL_MASK) { - switch (((GdkEventScroll *)event)->direction) - { - case GDK_SCROLL_UP: - z = webkit_web_view_get_zoom_level(WEBKIT_WEB_VIEW(c->web_view)); - z += 0.1; - webkit_web_view_set_zoom_level(WEBKIT_WEB_VIEW(c->web_view), z); - return TRUE; - case GDK_SCROLL_DOWN: - z = webkit_web_view_get_zoom_level(WEBKIT_WEB_VIEW(c->web_view)); - z -= 0.1; - webkit_web_view_set_zoom_level(WEBKIT_WEB_VIEW(c->web_view), z); - return TRUE; - default: - break; - } + gdk_event_get_scroll_deltas(event, &dx, &dy); + z = webkit_web_view_get_zoom_level(WEBKIT_WEB_VIEW(c->web_view)); + if (dy == 1) + z += 0.1; + else if (dy == -1) + z -= 0.1; + webkit_web_view_set_zoom_level(WEBKIT_WEB_VIEW(c->web_view), z); + return TRUE; } } |