39#include <oslib/wimp.h>
82 error = xwimp_get_pointer_info(&pointer);
84 NSLOG(netsurf, INFO,
"xwimp_get_pointer_info: 0x%x: %s",
85 error->errnum, error->errmess);
116 void (*drag_track)(wimp_pointer *pointer,
void *data),
117 void (*drag_cancel)(
void *data),
void *data)
178 void (*poll_track)(wimp_pointer *pointer,
void *data),
198 NSLOG(netsurf, INFO,
"Unexpected mouse track termination.");
static void(* ro_mouse_drag_end_callback)(wimp_dragged *dragged, void *data)
void ro_mouse_pointer_leaving_window(wimp_leaving *leaving)
Process Wimp_PointerLeaving events by terminating an active mouse track and passing the details on to...
void ro_mouse_drag_start(void(*drag_end)(wimp_dragged *dragged, void *data), void(*drag_track)(wimp_pointer *pointer, void *data), void(*drag_cancel)(void *data), void *data)
Start a drag, providing a function to be called when the Wimp_DragEnd event is received and optionall...
static void(* ro_mouse_drag_track_callback)(wimp_pointer *pointer, void *data)
static bool ro_mouse_ignore_leaving_event
static void(* ro_mouse_poll_track_callback)(wimp_pointer *pointer, void *data)
os_t ro_mouse_poll_interval(void)
Return the desired polling interval to allow the mouse tracking to be carried out.
static void(* ro_mouse_poll_end_callback)(wimp_leaving *leaving, void *data)
void ro_mouse_drag_end(wimp_dragged *dragged)
Process Wimp_DragEnd events by terminating an active drag track and passing the details on to any reg...
static void * ro_mouse_drag_data
static void(* ro_mouse_drag_cancel_callback)(void *data)
static void * ro_mouse_poll_data
void ro_mouse_poll(void)
Process Null polls for any drags and mouse trackers that are currently active.
void ro_mouse_track_start(void(*poll_end)(wimp_leaving *leaving, void *data), void(*poll_track)(wimp_pointer *pointer, void *data), void *data)
Start tracking the mouse in a window, providing a function to be called on null polls and optionally ...
void ro_mouse_kill(void *data)
Kill any tracking events if the data pointers match the supplied pointer.
Mouse dragging and tracking support interface for RISC OS.
#define NSLOG(catname, level, logmsg, args...)
nserror ro_warn_user(const char *warning, const char *detail)
Display a warning for a serious problem (eg memory exhaustion).