/*
Copyright (c) 2007-2013, John Ryland
*/
#ifndef __EVENT_H__
#define __EVENT_H__
typedef struct {
const char *desc;
int code;
int pressed;
} KeyEvent;
typedef struct {
int id;
void *data;
int padding;
} TimerEvent;
typedef enum {
TimerEventType,
KeyEventType
} EventType;
typedef struct {
EventType type;
union {
KeyEvent keyEvent;
TimerEvent timerEvent;
} event;
} Event;
extern int timerQueue_CreateTimer(unsigned int msTimeout, unsigned int repeat, void *data);
extern void timerQueue_DeleteTimer(int id);
extern void eventQueue_AppendEvent(Event ev);
extern Event getNextEvent();
#endif /* __EVENT_H__ */