diff options
author | Michael Drake <tlsa@netsurf-browser.org> | 2011-11-29 15:17:35 +0000 |
---|---|---|
committer | Michael Drake <tlsa@netsurf-browser.org> | 2011-11-29 15:17:35 +0000 |
commit | 9a29f4b4fe7a0c402d61c25a234274e223c0c7d7 (patch) | |
tree | 022232ca50697f7bf555951cc1a8c7ea66ea6e08 /gtk/window.c | |
parent | 3299b9493bcad1ef0b21e9c23b83c6504cef5215 (diff) | |
download | netsurf-9a29f4b4fe7a0c402d61c25a234274e223c0c7d7.tar.gz netsurf-9a29f4b4fe7a0c402d61c25a234274e223c0c7d7.tar.bz2 |
Call core to see if handles scroll wheel event first.
svn path=/trunk/netsurf/; revision=13199
Diffstat (limited to 'gtk/window.c')
-rw-r--r-- | gtk/window.c | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/gtk/window.c b/gtk/window.c index 54581ba7c..7b624a905 100644 --- a/gtk/window.c +++ b/gtk/window.c @@ -322,6 +322,13 @@ static gboolean nsgtk_window_scroll_event(GtkWidget *widget, switch (event->direction) { case GDK_SCROLL_LEFT: + if (browser_window_scroll_at_point(g->bw, + event->x / g->bw->scale, + event->y / g->bw->scale, + -100, 0) == true) + /* Core handled it */ + return TRUE; + scroll = hscroll; value = gtk_adjustment_get_value(scroll) - (scroll->step_increment * 2); @@ -330,6 +337,13 @@ static gboolean nsgtk_window_scroll_event(GtkWidget *widget, break; case GDK_SCROLL_UP: + if (browser_window_scroll_at_point(g->bw, + event->x / g->bw->scale, + event->y / g->bw->scale, + 0, -100) == true) + /* Core handled it */ + return TRUE; + scroll = vscroll; value = gtk_adjustment_get_value(scroll) - (scroll->step_increment * 2); @@ -338,6 +352,13 @@ static gboolean nsgtk_window_scroll_event(GtkWidget *widget, break; case GDK_SCROLL_RIGHT: + if (browser_window_scroll_at_point(g->bw, + event->x / g->bw->scale, + event->y / g->bw->scale, + 100, 0) == true) + /* Core handled it */ + return TRUE; + scroll = hscroll; value = gtk_adjustment_get_value(scroll) + (scroll->step_increment * 2); @@ -346,12 +367,20 @@ static gboolean nsgtk_window_scroll_event(GtkWidget *widget, break; case GDK_SCROLL_DOWN: + if (browser_window_scroll_at_point(g->bw, + event->x / g->bw->scale, + event->y / g->bw->scale, + 0, 100) == true) + /* Core handled it */ + return TRUE; + scroll = vscroll; value = gtk_adjustment_get_value(scroll) + (scroll->step_increment * 2); if (value > scroll->upper - alloc->height) value = scroll->upper - alloc->height; break; + default: return TRUE; } |