Signed-off-by: Peter Hutterer <[email protected]>
---
 src/libinput.c | 49 +++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 49 insertions(+)

diff --git a/src/libinput.c b/src/libinput.c
index c47f9fc..ed9490f 100644
--- a/src/libinput.c
+++ b/src/libinput.c
@@ -1064,48 +1064,97 @@ libinput_event_tablet_get_y_transformed(struct 
libinput_event_tablet *event,
 LIBINPUT_EXPORT struct libinput_tool *
 libinput_event_tablet_get_tool(struct libinput_event_tablet *event)
 {
+       require_event_type(libinput_event_get_context(&event->base),
+                          event->base.type,
+                          0,
+                          LIBINPUT_EVENT_TABLET_AXIS,
+                          LIBINPUT_EVENT_TABLET_TIP,
+                          LIBINPUT_EVENT_TABLET_BUTTON,
+                          LIBINPUT_EVENT_TABLET_PROXIMITY);
+
        return event->tool;
 }
 
 LIBINPUT_EXPORT enum libinput_tool_proximity_state
 libinput_event_tablet_get_proximity_state(struct libinput_event_tablet *event)
 {
+       require_event_type(libinput_event_get_context(&event->base),
+                          event->base.type,
+                          0,
+                          LIBINPUT_EVENT_TABLET_PROXIMITY);
+
        return event->proximity_state;
 }
 
 LIBINPUT_EXPORT enum libinput_tool_tip_state
 libinput_event_tablet_get_tip_state(struct libinput_event_tablet *event)
 {
+       require_event_type(libinput_event_get_context(&event->base),
+                          event->base.type,
+                          0,
+                          LIBINPUT_EVENT_TABLET_TIP);
+
        return event->tip_state;
 }
 
 LIBINPUT_EXPORT uint32_t
 libinput_event_tablet_get_time(struct libinput_event_tablet *event)
 {
+       require_event_type(libinput_event_get_context(&event->base),
+                          event->base.type,
+                          0,
+                          LIBINPUT_EVENT_TABLET_AXIS,
+                          LIBINPUT_EVENT_TABLET_TIP,
+                          LIBINPUT_EVENT_TABLET_BUTTON,
+                          LIBINPUT_EVENT_TABLET_PROXIMITY);
+
        return us2ms(event->time);
 }
 
 LIBINPUT_EXPORT uint64_t
 libinput_event_tablet_get_time_usec(struct libinput_event_tablet *event)
 {
+       require_event_type(libinput_event_get_context(&event->base),
+                          event->base.type,
+                          0,
+                          LIBINPUT_EVENT_TABLET_AXIS,
+                          LIBINPUT_EVENT_TABLET_TIP,
+                          LIBINPUT_EVENT_TABLET_BUTTON,
+                          LIBINPUT_EVENT_TABLET_PROXIMITY);
+
        return event->time;
 }
 
 LIBINPUT_EXPORT uint32_t
 libinput_event_tablet_get_button(struct libinput_event_tablet *event)
 {
+       require_event_type(libinput_event_get_context(&event->base),
+                          event->base.type,
+                          0,
+                          LIBINPUT_EVENT_TABLET_BUTTON);
+
        return event->button;
 }
 
 LIBINPUT_EXPORT enum libinput_button_state
 libinput_event_tablet_get_button_state(struct libinput_event_tablet *event)
 {
+       require_event_type(libinput_event_get_context(&event->base),
+                          event->base.type,
+                          0,
+                          LIBINPUT_EVENT_TABLET_BUTTON);
+
        return event->state;
 }
 
 LIBINPUT_EXPORT uint32_t
 libinput_event_tablet_get_seat_button_count(struct libinput_event_tablet 
*event)
 {
+       require_event_type(libinput_event_get_context(&event->base),
+                          event->base.type,
+                          0,
+                          LIBINPUT_EVENT_TABLET_BUTTON);
+
        return event->seat_button_count;
 }
 
-- 
2.4.3

_______________________________________________
wayland-devel mailing list
[email protected]
http://lists.freedesktop.org/mailman/listinfo/wayland-devel

Reply via email to