4 enum { MOUSE_BUTTON, MOUSE_MOTION };
14 int active; /* mouse present and initialized */
15 int visible; /* cached cursor visibility state */
20 /* updated by proc_mouse */
21 extern struct mouse_state mouse;
25 void cleanup_mouse(void);
27 int reset_mouse(void);
29 void set_mouse_bounds(int x, int y, int w, int h);
30 void show_mouse(int en);
32 void move_mouse(int x, int y);
33 int mouse_state(int *xp, int *yp);
35 /* returns relative motion since last call */
36 void mouse_delta(int *dx, int *dy);
38 /* procs mouse input, adds events to the ev queue, returns how many added */
41 /* if events are pending, dequeues one, writes it to ev and returns 1
42 * if no events are pending, returns 0
44 * usage: while(next_mouse_event(&ev)) { ... proc event ... }
46 int next_mouse_event(struct mouse_event *ev);