mirror of
https://gitlab.freedesktop.org/libinput/libinput.git
synced 2026-01-08 21:00:15 +01:00
Reduce pointer events to one single type
The event type itself says enough about the actual event type, we don't need to have separate structs for every type. Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
This commit is contained in:
parent
34013b8bfc
commit
040c25a4f4
2 changed files with 61 additions and 114 deletions
116
src/libinput.c
116
src/libinput.c
|
|
@ -65,30 +65,13 @@ struct libinput_event_keyboard {
|
|||
enum libinput_keyboard_key_state state;
|
||||
};
|
||||
|
||||
struct libinput_event_pointer_motion {
|
||||
struct libinput_event base;
|
||||
uint32_t time;
|
||||
li_fixed_t dx;
|
||||
li_fixed_t dy;
|
||||
};
|
||||
|
||||
struct libinput_event_pointer_motion_absolute {
|
||||
struct libinput_event_pointer {
|
||||
struct libinput_event base;
|
||||
uint32_t time;
|
||||
li_fixed_t x;
|
||||
li_fixed_t y;
|
||||
};
|
||||
|
||||
struct libinput_event_pointer_button {
|
||||
struct libinput_event base;
|
||||
uint32_t time;
|
||||
uint32_t button;
|
||||
enum libinput_pointer_button_state state;
|
||||
};
|
||||
|
||||
struct libinput_event_pointer_axis {
|
||||
struct libinput_event base;
|
||||
uint32_t time;
|
||||
enum libinput_pointer_axis axis;
|
||||
li_fixed_t value;
|
||||
};
|
||||
|
|
@ -146,85 +129,64 @@ libinput_event_keyboard_get_key_state(
|
|||
}
|
||||
|
||||
LIBINPUT_EXPORT uint32_t
|
||||
libinput_event_pointer_motion_get_time(
|
||||
struct libinput_event_pointer_motion *event)
|
||||
libinput_event_pointer_get_time(
|
||||
struct libinput_event_pointer *event)
|
||||
{
|
||||
return event->time;
|
||||
}
|
||||
|
||||
LIBINPUT_EXPORT li_fixed_t
|
||||
libinput_event_pointer_motion_get_dx(
|
||||
struct libinput_event_pointer_motion *event)
|
||||
{
|
||||
return event->dx;
|
||||
}
|
||||
|
||||
LIBINPUT_EXPORT li_fixed_t
|
||||
libinput_event_pointer_motion_get_dy(
|
||||
struct libinput_event_pointer_motion *event)
|
||||
{
|
||||
return event->dy;
|
||||
}
|
||||
|
||||
LIBINPUT_EXPORT uint32_t
|
||||
libinput_event_pointer_motion_absolute_get_time(
|
||||
struct libinput_event_pointer_motion_absolute *event)
|
||||
{
|
||||
return event->time;
|
||||
}
|
||||
|
||||
LIBINPUT_EXPORT li_fixed_t
|
||||
libinput_event_pointer_motion_absolute_get_x(
|
||||
struct libinput_event_pointer_motion_absolute *event)
|
||||
libinput_event_pointer_get_dx(
|
||||
struct libinput_event_pointer *event)
|
||||
{
|
||||
return event->x;
|
||||
}
|
||||
|
||||
LIBINPUT_EXPORT li_fixed_t
|
||||
libinput_event_pointer_motion_absolute_get_y(
|
||||
struct libinput_event_pointer_motion_absolute *event)
|
||||
libinput_event_pointer_get_dy(
|
||||
struct libinput_event_pointer *event)
|
||||
{
|
||||
return event->y;
|
||||
}
|
||||
|
||||
LIBINPUT_EXPORT li_fixed_t
|
||||
libinput_event_pointer_get_absolute_x(
|
||||
struct libinput_event_pointer *event)
|
||||
{
|
||||
return event->x;
|
||||
}
|
||||
|
||||
LIBINPUT_EXPORT li_fixed_t
|
||||
libinput_event_pointer_get_absolute_y(
|
||||
struct libinput_event_pointer *event)
|
||||
{
|
||||
return event->y;
|
||||
}
|
||||
|
||||
LIBINPUT_EXPORT uint32_t
|
||||
libinput_event_pointer_button_get_time(
|
||||
struct libinput_event_pointer_button *event)
|
||||
{
|
||||
return event->time;
|
||||
}
|
||||
|
||||
LIBINPUT_EXPORT uint32_t
|
||||
libinput_event_pointer_button_get_button(
|
||||
struct libinput_event_pointer_button *event)
|
||||
libinput_event_pointer_get_button(
|
||||
struct libinput_event_pointer *event)
|
||||
{
|
||||
return event->button;
|
||||
}
|
||||
|
||||
LIBINPUT_EXPORT enum libinput_pointer_button_state
|
||||
libinput_event_pointer_button_get_state(
|
||||
struct libinput_event_pointer_button *event)
|
||||
libinput_event_pointer_get_button_state(
|
||||
struct libinput_event_pointer *event)
|
||||
{
|
||||
return event->state;
|
||||
}
|
||||
|
||||
LIBINPUT_EXPORT uint32_t
|
||||
libinput_event_pointer_axis_get_time(
|
||||
struct libinput_event_pointer_axis *event)
|
||||
{
|
||||
return event->time;
|
||||
}
|
||||
|
||||
LIBINPUT_EXPORT enum libinput_pointer_axis
|
||||
libinput_event_pointer_axis_get_axis(
|
||||
struct libinput_event_pointer_axis *event)
|
||||
libinput_event_pointer_get_axis(
|
||||
struct libinput_event_pointer *event)
|
||||
{
|
||||
return event->axis;
|
||||
}
|
||||
|
||||
LIBINPUT_EXPORT li_fixed_t
|
||||
libinput_event_pointer_axis_get_value(
|
||||
struct libinput_event_pointer_axis *event)
|
||||
libinput_event_pointer_get_axis_value(
|
||||
struct libinput_event_pointer *event)
|
||||
{
|
||||
return event->value;
|
||||
}
|
||||
|
|
@ -655,16 +617,16 @@ pointer_notify_motion(struct libinput_device *device,
|
|||
li_fixed_t dx,
|
||||
li_fixed_t dy)
|
||||
{
|
||||
struct libinput_event_pointer_motion *motion_event;
|
||||
struct libinput_event_pointer *motion_event;
|
||||
|
||||
motion_event = malloc(sizeof *motion_event);
|
||||
if (!motion_event)
|
||||
return;
|
||||
|
||||
*motion_event = (struct libinput_event_pointer_motion) {
|
||||
*motion_event = (struct libinput_event_pointer) {
|
||||
.time = time,
|
||||
.dx = dx,
|
||||
.dy = dy,
|
||||
.x = dx,
|
||||
.y = dy,
|
||||
};
|
||||
|
||||
post_device_event(device,
|
||||
|
|
@ -678,13 +640,13 @@ pointer_notify_motion_absolute(struct libinput_device *device,
|
|||
li_fixed_t x,
|
||||
li_fixed_t y)
|
||||
{
|
||||
struct libinput_event_pointer_motion_absolute *motion_absolute_event;
|
||||
struct libinput_event_pointer *motion_absolute_event;
|
||||
|
||||
motion_absolute_event = malloc(sizeof *motion_absolute_event);
|
||||
if (!motion_absolute_event)
|
||||
return;
|
||||
|
||||
*motion_absolute_event = (struct libinput_event_pointer_motion_absolute) {
|
||||
*motion_absolute_event = (struct libinput_event_pointer) {
|
||||
.time = time,
|
||||
.x = x,
|
||||
.y = y,
|
||||
|
|
@ -701,13 +663,13 @@ pointer_notify_button(struct libinput_device *device,
|
|||
int32_t button,
|
||||
enum libinput_pointer_button_state state)
|
||||
{
|
||||
struct libinput_event_pointer_button *button_event;
|
||||
struct libinput_event_pointer *button_event;
|
||||
|
||||
button_event = malloc(sizeof *button_event);
|
||||
if (!button_event)
|
||||
return;
|
||||
|
||||
*button_event = (struct libinput_event_pointer_button) {
|
||||
*button_event = (struct libinput_event_pointer) {
|
||||
.time = time,
|
||||
.button = button,
|
||||
.state = state,
|
||||
|
|
@ -724,13 +686,13 @@ pointer_notify_axis(struct libinput_device *device,
|
|||
enum libinput_pointer_axis axis,
|
||||
li_fixed_t value)
|
||||
{
|
||||
struct libinput_event_pointer_axis *axis_event;
|
||||
struct libinput_event_pointer *axis_event;
|
||||
|
||||
axis_event = malloc(sizeof *axis_event);
|
||||
if (!axis_event)
|
||||
return;
|
||||
|
||||
*axis_event = (struct libinput_event_pointer_axis) {
|
||||
*axis_event = (struct libinput_event_pointer) {
|
||||
.time = time,
|
||||
.axis = axis,
|
||||
.value = value,
|
||||
|
|
|
|||
|
|
@ -144,10 +144,7 @@ struct libinput_seat;
|
|||
struct libinput_event;
|
||||
struct libinput_event_device_notify;
|
||||
struct libinput_event_keyboard;
|
||||
struct libinput_event_pointer_motion;
|
||||
struct libinput_event_pointer_motion_absolute;
|
||||
struct libinput_event_pointer_button;
|
||||
struct libinput_event_pointer_axis;
|
||||
struct libinput_event_pointer;
|
||||
struct libinput_event_touch_touch;
|
||||
|
||||
/**
|
||||
|
|
@ -257,68 +254,56 @@ libinput_event_keyboard_get_key_state(
|
|||
struct libinput_event_keyboard *event);
|
||||
|
||||
/**
|
||||
* @defgroup event_pointer_motion Pointer motion event
|
||||
* @defgroup event_pointer Pointer motion event
|
||||
*/
|
||||
|
||||
uint32_t
|
||||
libinput_event_pointer_motion_get_time(
|
||||
struct libinput_event_pointer_motion *event);
|
||||
libinput_event_pointer_get_time(
|
||||
struct libinput_event_pointer *event);
|
||||
|
||||
li_fixed_t
|
||||
libinput_event_pointer_motion_get_dx(
|
||||
struct libinput_event_pointer_motion *event);
|
||||
libinput_event_pointer_get_dx(
|
||||
struct libinput_event_pointer *event);
|
||||
|
||||
li_fixed_t
|
||||
libinput_event_pointer_motion_get_dy(
|
||||
struct libinput_event_pointer_motion *event);
|
||||
libinput_event_pointer_get_dy(
|
||||
struct libinput_event_pointer *event);
|
||||
|
||||
/**
|
||||
* @defgroup event_pointer_motion_absolute Absolute pointer motion event
|
||||
* @defgroup event_pointer_absolute Absolute pointer motion event
|
||||
*/
|
||||
|
||||
uint32_t
|
||||
libinput_event_pointer_motion_absolute_get_time(
|
||||
struct libinput_event_pointer_motion_absolute *event);
|
||||
li_fixed_t
|
||||
libinput_event_pointer_get_absolute_x(
|
||||
struct libinput_event_pointer *event);
|
||||
|
||||
li_fixed_t
|
||||
libinput_event_pointer_motion_absolute_get_x(
|
||||
struct libinput_event_pointer_motion_absolute *event);
|
||||
|
||||
li_fixed_t
|
||||
libinput_event_pointer_motion_absolute_get_y(
|
||||
struct libinput_event_pointer_motion_absolute *event);
|
||||
libinput_event_pointer_get_absolute_y(
|
||||
struct libinput_event_pointer *event);
|
||||
|
||||
/**
|
||||
* @defgroup event_pointer_button Pointer button event
|
||||
*/
|
||||
|
||||
uint32_t
|
||||
libinput_event_pointer_button_get_time(
|
||||
struct libinput_event_pointer_button *event);
|
||||
|
||||
uint32_t
|
||||
libinput_event_pointer_button_get_button(
|
||||
struct libinput_event_pointer_button *event);
|
||||
libinput_event_pointer_get_button(
|
||||
struct libinput_event_pointer *event);
|
||||
|
||||
enum libinput_pointer_button_state
|
||||
libinput_event_pointer_button_get_state(
|
||||
struct libinput_event_pointer_button *event);
|
||||
libinput_event_pointer_get_button_state(
|
||||
struct libinput_event_pointer *event);
|
||||
|
||||
/**
|
||||
* @defgroup event_pointer_axis Pointer axis event
|
||||
*/
|
||||
|
||||
uint32_t
|
||||
libinput_event_pointer_axis_get_time(
|
||||
struct libinput_event_pointer_axis *event);
|
||||
|
||||
enum libinput_pointer_axis
|
||||
libinput_event_pointer_axis_get_axis(
|
||||
struct libinput_event_pointer_axis *event);
|
||||
libinput_event_pointer_get_axis(
|
||||
struct libinput_event_pointer *event);
|
||||
|
||||
li_fixed_t
|
||||
libinput_event_pointer_axis_get_value(
|
||||
struct libinput_event_pointer_axis *event);
|
||||
libinput_event_pointer_get_axis_value(
|
||||
struct libinput_event_pointer *event);
|
||||
|
||||
/**
|
||||
* @defgroup event_pointer_button Pointer button event
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue