Casio_asm/common/event.h

49 lines
794 B
C

#ifndef EVENT_H
#define EVENT_H
// general event struct
typedef struct event_t {
unsigned char type;
unsigned char subtype;
union {
struct {
char repeat;
char code;
} keyevent;
struct {
short code;
} timerevent;
};
} event_t;
// event types
#define EVENT_TYPE_KEYBOARD 1
#define EVENT_TYPE_KEYBOARD_PRESS 1
#define EVENT_TYPE_KEYBOARD_RELEASE 2
#define EVENT_TYPE_TIMER 2
// reads event queue length
int Event_count();
// read an event immediately
int Event_get(event_t *event);
// wait for an event
int Event_wait(event_t *event);
// reads an event immediately without removing it
int Event_peek(event_t *event);
// push an event
int Event_put(event_t *event);
// clean event queue
int Event_clean();
// init and quit
int Event_init();
int Event_quit();
#endif