relative_pointer: implement protocol requests

Flesh out the details of the structs, signals, callback functions, and
so on. weston-resizer silently works at this point (no events sent).
This commit is contained in:
random human 2018-10-01 03:54:21 +05:30 committed by Alex Maese
parent 3a3d1b6617
commit ba5b1676df
4 changed files with 114 additions and 22 deletions

View file

@ -17,24 +17,48 @@
* monitor edge or other pointer barriers).
*/
/* 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 {
struct wl_list resources;
struct wl_global *global;
struct {
struct wl_signal destroy;
struct wl_signal get_relative_pointer;
} requests;
struct wl_signal new_relative_pointer;
} events;
void *data;
};
/* A wp_relative_pointer object is an extension to the wl_pointer interface
* 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 {
struct wl_signal destroy;
} destroy;
} events;
void *data;
};

View file

@ -27,6 +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 keyboards;
struct wl_list touches;
struct wl_list data_devices;