diff options
author | Steve Fryatt <stevef@netsurf-browser.org> | 2013-09-08 11:55:21 +0100 |
---|---|---|
committer | Steve Fryatt <stevef@netsurf-browser.org> | 2013-09-08 11:55:21 +0100 |
commit | a00e0f91c7ccb27108cc396ca8afa3207935de4c (patch) | |
tree | dfe47712132b8f26f46fe319f3222b44c5e2e060 /riscos/treeview.c | |
parent | e87596ad1f7755c50f7a00edc85e66908ad1ba10 (diff) | |
download | netsurf-a00e0f91c7ccb27108cc396ca8afa3207935de4c.tar.gz netsurf-a00e0f91c7ccb27108cc396ca8afa3207935de4c.tar.bz2 |
Move all mouse tracking into ro_mouse module.
Add Pointer Entering Window events to wimp_event module and add handlers to all modules requiring mouse tracking.
Updated: Treeview, URL Complete, History and GUI Window.
Delete all handling for Pointer Entering/Leaving from ro_gui.
Diffstat (limited to 'riscos/treeview.c')
-rw-r--r-- | riscos/treeview.c | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/riscos/treeview.c b/riscos/treeview.c index 4641a6d0a..4756d8c2d 100644 --- a/riscos/treeview.c +++ b/riscos/treeview.c @@ -100,6 +100,7 @@ static void ro_treeview_redraw_loop(wimp_draw *redraw, ro_treeview *tv, osbool more); static void ro_treeview_open(wimp_open *open); static bool ro_treeview_mouse_click(wimp_pointer *pointer); +static void ro_treeview_pointer_entering(wimp_entering *entering); static void ro_treeview_drag_start(ro_treeview *tv, wimp_pointer *pointer, wimp_window_state *state); static void ro_treeview_drag_end(wimp_dragged *drag, void *data); @@ -191,6 +192,8 @@ ro_treeview *ro_treeview_create(wimp_w window, struct toolbar *toolbar, ro_gui_wimp_event_register_redraw_window(tv->w, ro_treeview_redraw); ro_gui_wimp_event_register_scroll_window(tv->w, ro_treeview_scroll); + ro_gui_wimp_event_register_pointer_entering_window(tv->w, + ro_treeview_pointer_entering); ro_gui_wimp_event_register_open_window(tv->w, ro_treeview_open); ro_gui_wimp_event_register_mouse_click(tv->w, ro_treeview_mouse_click); ro_gui_wimp_event_register_keypress(tv->w, ro_treeview_keypress); @@ -413,6 +416,7 @@ void ro_treeview_scroll(wimp_scroll *scroll) } } + /** * Redraw a treeview window, once the initial readraw block has been collected. * @@ -899,6 +903,23 @@ static bool ro_treeview_mouse_click(wimp_pointer *pointer) /** + * Handle Pointer Entering Window events for treeview windows. + * + * \param *entering The Wimp_PointerEnteringWindow block. + */ + +void ro_treeview_pointer_entering(wimp_entering *entering) +{ + ro_treeview *tv; + + tv = (ro_treeview *) ro_gui_wimp_event_get_user_data(entering->w); + if (tv == NULL) + return; + + ro_mouse_track_start(NULL, ro_treeview_mouse_at, NULL); +} + +/** * Track the mouse under Null Polls from the wimp, to support dragging. * * \param *pointer Pointer to a Wimp Pointer block. |