diff options
author | random human <random.bored.human@gmail.com> | 2018-10-04 00:43:35 +0530 |
---|---|---|
committer | Alex Maese <memaese@hotmail.com> | 2018-12-21 12:20:48 -0600 |
commit | 68137dca3f0b20c5610a30e4c3820984b387dda5 (patch) | |
tree | 421f4e8f7897dee9a2ce525c71f3398966b305f8 /include/wlr | |
parent | 42ffa413fb6695c144557bf37effc1ce3d46fb5b (diff) |
relative_pointer: implementation and code fixes
In particular, modified public creator and destructor function names,
added a display destroy listener, safely extract user data from
resources, send correct time (in usecs) in rootston, etc.
Diffstat (limited to 'include/wlr')
-rw-r--r-- | include/wlr/types/wlr_relative_pointer_v1.h | 32 | ||||
-rw-r--r-- | include/wlr/types/wlr_seat.h | 2 |
2 files changed, 18 insertions, 16 deletions
diff --git a/include/wlr/types/wlr_relative_pointer_v1.h b/include/wlr/types/wlr_relative_pointer_v1.h index 22441bb6..50106b4b 100644 --- a/include/wlr/types/wlr_relative_pointer_v1.h +++ b/include/wlr/types/wlr_relative_pointer_v1.h @@ -22,12 +22,6 @@ /** * A global interface used for getting the relative pointer object for a given * pointer. - * - * Signals: - * - destroy -> struct wlr_relative_pointer_manager_v1 *manager - * :: the manager was destroyed - * - new_relative_pointer -> struct wlr_relative_pointer_v1 *relative_pointer - * :: a new relative_pointer was created */ struct wlr_relative_pointer_manager_v1 { @@ -36,9 +30,15 @@ struct wlr_relative_pointer_manager_v1 { struct { struct wl_signal destroy; + /** + * returns struct wlr_relative_pointer_v1 *relative_pointer + * called when a new relative_pointer is successfully created + */ struct wl_signal new_relative_pointer; } events; + struct wl_listener display_destroy_listener; + void *data; }; @@ -48,16 +48,12 @@ struct wlr_relative_pointer_manager_v1 { * used for emitting relative pointer events. It shares the same focus as * wl_pointer objects of the same seat and will only emit events when it has * focus. - * - * Signals: - * - destroy -> struct wlr_relative_pointer_v1 *relative_pointer - * :: the relative_pointer was destroyed */ struct wlr_relative_pointer_v1 { struct wl_client *client; struct wl_resource *resource; - struct wl_pointer *pointer; + struct wl_resource *pointer; struct { struct wl_signal destroy; @@ -66,10 +62,16 @@ struct wlr_relative_pointer_v1 { void *data; }; -struct wlr_relative_pointer_manager_v1 *wlr_relative_pointer_v1_create(struct wl_display *display); -void wlr_relative_pointer_v1_destroy(struct wlr_relative_pointer_manager_v1 *relative_pointer_manager); +struct wlr_relative_pointer_manager_v1 *wlr_relative_pointer_manager_v1_create( + struct wl_display *display); +void wlr_relative_pointer_manager_v1_destroy( + struct wlr_relative_pointer_manager_v1 *relative_pointer_manager); + +void wlr_relative_pointer_v1_send_relative_motion( + struct wlr_relative_pointer_v1 *relative_pointer, uint64_t time, + double dx, double dy, double dx_unaccel, double dy_unaccel); -void wlr_relative_pointer_v1_send_relative_motion(struct wlr_relative_pointer_v1 *relative_pointer, - uint64_t time, double dx, double dy, double dx_unaccel, double dy_unaccel); +struct wlr_relative_pointer_v1 *wlr_relative_pointer_v1_from_resource( + struct wl_resource *resource); #endif diff --git a/include/wlr/types/wlr_seat.h b/include/wlr/types/wlr_seat.h index 4c0edcd8..9865ecdd 100644 --- a/include/wlr/types/wlr_seat.h +++ b/include/wlr/types/wlr_seat.h @@ -27,7 +27,7 @@ struct wlr_seat_client { // lists of wl_resource struct wl_list resources; struct wl_list pointers; - struct wl_list relative_pointers; + struct wl_list relative_pointers_v1; struct wl_list keyboards; struct wl_list touches; struct wl_list data_devices; |