From 9a29f4b4fe7a0c402d61c25a234274e223c0c7d7 Mon Sep 17 00:00:00 2001 From: Michael Drake Date: Tue, 29 Nov 2011 15:17:35 +0000 Subject: Call core to see if handles scroll wheel event first. svn path=/trunk/netsurf/; revision=13199 --- gtk/window.c | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) (limited to 'gtk/window.c') 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; } -- cgit v1.2.3