31 lines
792 B
C
31 lines
792 B
C
#pragma once
|
|
|
|
#include <stdint.h>
|
|
|
|
typedef struct {
|
|
int64_t x; /* touch horizontal center */
|
|
int64_t y; /* touch vertical center */
|
|
} touch_coordinates;
|
|
|
|
/* using ultrawide ints (narrowing later) */
|
|
typedef struct {
|
|
uint64_t slot_number;
|
|
uint64_t tracking_id; /* this increases with each new touch */
|
|
touch_coordinates position;
|
|
/* ignoring ABS_MT_TOUCH_MAJOR
|
|
and ABS_MT_WIDTH_MAJOR
|
|
*/
|
|
} touch_event;
|
|
|
|
touch_event* touch_event_new();
|
|
|
|
void touch_event_copy( touch_event *dst, touch_event *src);
|
|
|
|
touch_coordinates* new_touch_coordinates_buffer( uint8_t count);
|
|
|
|
void free_touch_coordinates_buffer( touch_coordinates* buffer);
|
|
|
|
void touch_events_array_copy( touch_event ***dst, touch_event **src, uint8_t count);
|
|
|
|
void free_touch_events_array( touch_event **buffer, uint8_t count);
|