summaryrefslogtreecommitdiff
path: root/render/html_interaction.c
diff options
context:
space:
mode:
authorMichael Drake <tlsa@netsurf-browser.org>2012-01-10 22:02:19 +0000
committerMichael Drake <tlsa@netsurf-browser.org>2012-01-10 22:02:19 +0000
commitc08ee820764673bb6d8ac367f8637d040adf7fa2 (patch)
treec003e187e15b4202edcf4010fdb9851c12c16092 /render/html_interaction.c
parent411a707e3e53f479de579acfca50b085ebe37f5e (diff)
downloadnetsurf-c08ee820764673bb6d8ac367f8637d040adf7fa2.tar.gz
netsurf-c08ee820764673bb6d8ac367f8637d040adf7fa2.tar.bz2
Allow drag handlers to inform browser window layer of any pointer range constraints.
svn path=/trunk/netsurf/; revision=13394
Diffstat (limited to 'render/html_interaction.c')
-rw-r--r--render/html_interaction.c15
1 files changed, 12 insertions, 3 deletions
diff --git a/render/html_interaction.c b/render/html_interaction.c
index b6508570f..2bec3d26a 100644
--- a/render/html_interaction.c
+++ b/render/html_interaction.c
@@ -108,7 +108,7 @@ void html_mouse_track(struct content *c, struct browser_window *bw,
if (idx != 0)
selection_track(&html->sel, mouse, idx);
- browser_window_set_drag_type(bw, DRAGGING_NONE);
+ browser_window_set_drag_type(bw, DRAGGING_NONE, NULL);
}
switch (bw->drag_type) {
@@ -255,7 +255,7 @@ void html_mouse_action(struct content *c, struct browser_window *bw,
}
/* Content related drags handled by now */
- browser_window_set_drag_type(bw, DRAGGING_NONE);
+ browser_window_set_drag_type(bw, DRAGGING_NONE, NULL);
/* search the box tree for a link, imagemap, form control, or
* box with scrollbars */
@@ -849,7 +849,15 @@ void html_overflow_scroll_callback(void *client_data,
html_redraw_a_box(html->bw->current_content, box);
break;
case SCROLLBAR_MSG_SCROLL_START:
- browser_window_set_drag_type(html->bw, DRAGGING_OTHER);
+ {
+ struct rect rect = {
+ .x0 = scrollbar_data->x0,
+ .y0 = scrollbar_data->y0,
+ .x1 = scrollbar_data->x1,
+ .y1 = scrollbar_data->y1
+ };
+ browser_window_set_drag_type(html->bw, DRAGGING_OTHER,
+ &rect);
html->scrollbar = scrollbar_data->scrollbar;
@@ -857,6 +865,7 @@ void html_overflow_scroll_callback(void *client_data,
gui_window_box_scroll_start(root_bw->window,
scrollbar_data->x0, scrollbar_data->y0,
scrollbar_data->x1, scrollbar_data->y1);
+ }
break;
case SCROLLBAR_MSG_SCROLL_FINISHED:
html->scrollbar = NULL;