blob: 09cb5c78c01438250ccaf83d984d785809006368 [file] [log] [blame]
#ifndef _EVENT_H_
#define _EVENT_H_ 1
#if defined(__cplusplus)
extern "C" {
typedef struct Event Event;
typedef struct Menu Menu;
Emouse = 1,
Ekeyboard = 2
EMAXMSG = 128+8192 /* size of 9p header+data */
struct Mouse
int buttons; /* bit array: LMR=124 */
Point xy;
ulong msec;
struct Event
int kbdc;
Mouse mouse;
int n; /* number of characters in message */
void *v; /* data unpacked by general event-handling function */
uchar data[EMAXMSG]; /* message from an arbitrary file descriptor */
struct Menu
char **item;
char *(*gen)(int);
int lasthit;
* Events
extern void einit(ulong);
extern ulong estart(ulong, int, int);
extern ulong estartfn(ulong, int, int, int (*fn)(int, Event*, uchar*, int));
extern ulong etimer(ulong, int);
extern ulong event(Event*);
extern ulong eread(ulong, Event*);
extern Mouse emouse(void);
extern int ekbd(void);
extern int ecanread(ulong);
extern int ecanmouse(void);
extern int ecankbd(void);
extern void eresized(int); /* supplied by user */
extern int emenuhit(int, Mouse*, Menu*);
extern int eatomouse(Mouse*, char*, int);
extern Rectangle getrect(int, Mouse*);
struct Cursor;
extern void esetcursor(struct Cursor*);
extern void emoveto(Point);
extern Rectangle egetrect(int, Mouse*);
extern void edrawgetrect(Rectangle, int);
extern int ereadmouse(Mouse*);
extern int eatomouse(Mouse*, char*, int);
#if defined(__cplusplus)