mirror of
https://github.com/netsurf-browser/netsurf
synced 2024-12-22 20:16:54 +03:00
change mouse action drag handling to use a more efficient dispatch
This commit is contained in:
parent
e34f9d3a38
commit
69236590d0
@ -614,31 +614,34 @@ html_mouse_action(struct content *c,
|
|||||||
|
|
||||||
nserror res = NSERROR_OK;
|
nserror res = NSERROR_OK;
|
||||||
|
|
||||||
|
/* handle open select menu */
|
||||||
if (html->visible_select_menu != NULL) {
|
if (html->visible_select_menu != NULL) {
|
||||||
return mouse_action_select_menu(html, bw, mouse, x, y);
|
return mouse_action_select_menu(html, bw, mouse, x, y);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (html->drag_type == HTML_DRAG_SELECTION) {
|
/* handle content drag */
|
||||||
|
switch (html->drag_type) {
|
||||||
|
case HTML_DRAG_SELECTION:
|
||||||
return mouse_action_drag_selection(html, bw, mouse, x, y);
|
return mouse_action_drag_selection(html, bw, mouse, x, y);
|
||||||
}
|
|
||||||
|
|
||||||
if (html->drag_type == HTML_DRAG_SCROLLBAR) {
|
case HTML_DRAG_SCROLLBAR:
|
||||||
return mouse_action_drag_scrollbar(html, bw, mouse, x, y);
|
return mouse_action_drag_scrollbar(html, bw, mouse, x, y);
|
||||||
|
|
||||||
}
|
case HTML_DRAG_TEXTAREA_SELECTION:
|
||||||
|
case HTML_DRAG_TEXTAREA_SCROLLBAR:
|
||||||
if (html->drag_type == HTML_DRAG_TEXTAREA_SELECTION ||
|
|
||||||
html->drag_type == HTML_DRAG_TEXTAREA_SCROLLBAR) {
|
|
||||||
return mouse_action_drag_textarea(html, bw, mouse, x, y);
|
return mouse_action_drag_textarea(html, bw, mouse, x, y);
|
||||||
}
|
|
||||||
|
|
||||||
if (html->drag_type == HTML_DRAG_CONTENT_SELECTION ||
|
case HTML_DRAG_CONTENT_SELECTION:
|
||||||
html->drag_type == HTML_DRAG_CONTENT_SCROLL) {
|
case HTML_DRAG_CONTENT_SCROLL:
|
||||||
return mouse_action_drag_content(html, bw, mouse, x, y);
|
return mouse_action_drag_content(html, bw, mouse, x, y);
|
||||||
}
|
|
||||||
|
|
||||||
/* Content related drags handled by now */
|
case HTML_DRAG_NONE:
|
||||||
assert(html->drag_type == HTML_DRAG_NONE);
|
break;
|
||||||
|
|
||||||
|
default:
|
||||||
|
/* Unknown content related drag type */
|
||||||
|
assert(0);
|
||||||
|
}
|
||||||
|
|
||||||
/* search the box tree for a link, imagemap, form control, or
|
/* search the box tree for a link, imagemap, form control, or
|
||||||
* box with scrollbars
|
* box with scrollbars
|
||||||
|
Loading…
Reference in New Issue
Block a user