summaryrefslogtreecommitdiff
path: root/gtk/window.c
diff options
context:
space:
mode:
authorMichael Drake <tlsa@netsurf-browser.org>2011-11-29 15:17:35 +0000
committerMichael Drake <tlsa@netsurf-browser.org>2011-11-29 15:17:35 +0000
commit9a29f4b4fe7a0c402d61c25a234274e223c0c7d7 (patch)
tree022232ca50697f7bf555951cc1a8c7ea66ea6e08 /gtk/window.c
parent3299b9493bcad1ef0b21e9c23b83c6504cef5215 (diff)
downloadnetsurf-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.c29
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;
}