#include <gfxprim.h>
/* or */
#include <input/gp_ev_queue.h>
/*
* Inject event that moves cursor by rx and ry.
*
* If timeval is NULL, current time is used.
*/
void gp_ev_queue_push_rel(gp_ev_queue *self,
int32_t rx, int32_t ry, struct timeval *time);
/*
* Produces relative event that moves cursor to the point x, y.
*
* If timeval is NULL, current time is used.
*/
void gp_ev_queue_push_rel_to(gp_ev_queue *self,
uint32_t x, uint32_t y, struct timeval *time);
/*
* Inject absolute event.
*
* If timeval is NULL, current time is used.
*/
void gp_ev_queue_push_abs(gp_ev_queue *self,
uint32_t x, uint32_t y, uint32_t pressure,
uint32_t x_max, uint32_t y_max, uint32_t pressure_max,
struct timeval *time);
/*
* Inject event that changes key state (i.e. press, release, repeat).
*
* If timeval is NULL, current time is used.
*/
void gp_ev_queue_push_key(gp_ev_queue *self,
uint32_t key, uint8_t code, struct timeval *time);
/*
* Inject window resize event
*/
void gp_ev_queue_push_resize(gp_ev_queue *self,
uint32_t w, uint32_t h, struct timeval *time);
/*
* Inject common event.
*/
void gp_ev_queue_push(gp_ev_queue *self,
uint16_t type, uint32_t code, int32_t value,
struct timeval *time);