aboutsummaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorMarkus Ongyerth <ongy@ongy.net>2018-05-02 09:26:34 +0200
committerMarkus Ongyerth <ongy@ongy.net>2018-07-14 09:40:39 +0200
commit391eef6ea9acfd12856970548cb75dbef83dc702 (patch)
tree1ea0c582490744f67a8d13bdb27e7e4f966689aa /include
parentf375246657e23926d98cc21ae66a5dae352ea50a (diff)
Propagate most axis events to clients
Diffstat (limited to 'include')
-rw-r--r--include/rootston/seat.h13
-rw-r--r--include/wlr/types/wlr_tablet_v2.h15
2 files changed, 28 insertions, 0 deletions
diff --git a/include/rootston/seat.h b/include/rootston/seat.h
index 31ddd6fa..1a0b889a 100644
--- a/include/rootston/seat.h
+++ b/include/rootston/seat.h
@@ -111,6 +111,19 @@ struct roots_tablet_pad {
struct wl_listener tablet_destroy;
};
+struct roots_tablet_tool_tool {
+ struct wl_list link;
+ struct wl_list tool_link;
+ struct wlr_tablet_v2_tablet_tool *tablet_v2_tool;
+
+ struct roots_seat *seat;
+
+ struct wl_listener tool_destroy;
+
+ struct roots_tablet_tool *current_tablet;
+ struct wl_listener tablet_destroy;
+};
+
struct roots_seat *roots_seat_create(struct roots_input *input, char *name);
void roots_seat_destroy(struct roots_seat *seat);
diff --git a/include/wlr/types/wlr_tablet_v2.h b/include/wlr/types/wlr_tablet_v2.h
index 4b2fffe4..a07a0177 100644
--- a/include/wlr/types/wlr_tablet_v2.h
+++ b/include/wlr/types/wlr_tablet_v2.h
@@ -7,6 +7,7 @@
#include "tablet-unstable-v2-protocol.h"
+struct wlr_tablet_client_v2;
struct wlr_tablet_tool_client_v2;
struct wlr_tablet_pad_client_v2;
@@ -27,6 +28,8 @@ struct wlr_tablet_v2_tablet {
struct wl_list clients; // wlr_tablet_client_v2::tablet_link
struct wl_listener tool_destroy;
+
+ struct wlr_tablet_client_v2 *current_client;
};
struct wlr_tablet_v2_tablet_tool {
@@ -37,6 +40,9 @@ struct wlr_tablet_v2_tablet_tool {
struct wl_listener tool_destroy;
struct wlr_tablet_tool_client_v2 *current_client;
+ struct wlr_surface *focused_surface;
+ struct wl_listener surface_destroy;
+ struct wl_listener client_destroy;
};
struct wlr_tablet_v2_tablet_pad {
@@ -79,6 +85,12 @@ uint32_t wlr_send_tablet_v2_tablet_tool_proximity_in(
void wlr_send_tablet_v2_tablet_tool_motion(
struct wlr_tablet_v2_tablet_tool *tool, double x, double y);
+void wlr_send_tablet_v2_tablet_tool_distance(
+ struct wlr_tablet_v2_tablet_tool *tool, uint32_t distance);
+
+void wlr_send_tablet_v2_tablet_tool_wheel(
+ struct wlr_tablet_v2_tablet_tool *tool, double delta, int32_t clicks);
+
void wlr_send_tablet_v2_tablet_tool_proximity_out(
struct wlr_tablet_v2_tablet_tool *tool);
@@ -101,4 +113,7 @@ uint32_t wlr_send_tablet_v2_tablet_pad_leave(struct wlr_tablet_v2_tablet_pad *pa
uint32_t wlr_send_tablet_v2_tablet_pad_mode(struct wlr_tablet_v2_tablet_pad *pad,
size_t group, uint32_t mode, uint32_t time);
+
+bool wlr_surface_accepts_tablet_v2(struct wlr_tablet_v2_tablet *tablet,
+ struct wlr_surface *surface);
#endif /* WLR_TYPES_WLR_TABLET_V2_H */