input: add a motion signal to weston_pointer
authorGiulio Camuffo <giuliocamuffo@gmail.com>
Thu, 14 Nov 2013 22:42:50 +0000 (23:42 +0100)
committerKristian Høgsberg <krh@bitplanet.net>
Sat, 16 Nov 2013 00:17:51 +0000 (16:17 -0800)
The signal will be emitted after the pointer is moved. A shell plugin
can listen to the signal and activate certain effects when the pointer
touches the screen corners, for instance.

src/compositor.h
src/input.c

index c2de99f..624d475 100644 (file)
@@ -307,6 +307,7 @@ struct weston_pointer {
        struct weston_view *focus;
        uint32_t focus_serial;
        struct wl_signal focus_signal;
+       struct wl_signal motion_signal;
 
        struct weston_view *sprite;
        struct wl_listener sprite_destroy_listener;
index 153bcb6..e6b070d 100644 (file)
@@ -392,6 +392,7 @@ weston_pointer_create(void)
        pointer->default_grab.pointer = pointer;
        pointer->grab = &pointer->default_grab;
        wl_signal_init(&pointer->focus_signal);
+       wl_signal_init(&pointer->motion_signal);
 
        pointer->sprite_destroy_listener.notify = pointer_handle_sprite_destroy;
 
@@ -736,6 +737,8 @@ move_pointer(struct weston_seat *seat, wl_fixed_t x, wl_fixed_t y)
                                         iy - pointer->hotspot_y);
                weston_view_schedule_repaint(pointer->sprite);
        }
+
+       wl_signal_emit(&pointer->motion_signal, pointer);
 }
 
 WL_EXPORT void