diff options
author | Michael Drake <tlsa@netsurf-browser.org> | 2012-01-10 22:02:19 +0000 |
---|---|---|
committer | Michael Drake <tlsa@netsurf-browser.org> | 2012-01-10 22:02:19 +0000 |
commit | c08ee820764673bb6d8ac367f8637d040adf7fa2 (patch) | |
tree | c003e187e15b4202edcf4010fdb9851c12c16092 /render/html_interaction.c | |
parent | 411a707e3e53f479de579acfca50b085ebe37f5e (diff) | |
download | netsurf-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.c | 15 |
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; |