Blame


1 76193d7c 2003-09-30 devnull typedef struct Event Event;
2 76193d7c 2003-09-30 devnull typedef struct Menu Menu;
3 76193d7c 2003-09-30 devnull
4 76193d7c 2003-09-30 devnull enum
5 76193d7c 2003-09-30 devnull {
6 76193d7c 2003-09-30 devnull Emouse = 1,
7 76193d7c 2003-09-30 devnull Ekeyboard = 2,
8 76193d7c 2003-09-30 devnull };
9 76193d7c 2003-09-30 devnull
10 76193d7c 2003-09-30 devnull enum
11 76193d7c 2003-09-30 devnull {
12 76193d7c 2003-09-30 devnull MAXSLAVE = 32,
13 76193d7c 2003-09-30 devnull EMAXMSG = 128+8192, /* size of 9p header+data */
14 76193d7c 2003-09-30 devnull };
15 76193d7c 2003-09-30 devnull
16 76193d7c 2003-09-30 devnull struct Mouse
17 76193d7c 2003-09-30 devnull {
18 76193d7c 2003-09-30 devnull int buttons; /* bit array: LMR=124 */
19 76193d7c 2003-09-30 devnull Point xy;
20 76193d7c 2003-09-30 devnull ulong msec;
21 76193d7c 2003-09-30 devnull };
22 76193d7c 2003-09-30 devnull
23 76193d7c 2003-09-30 devnull struct Event
24 76193d7c 2003-09-30 devnull {
25 76193d7c 2003-09-30 devnull int kbdc;
26 76193d7c 2003-09-30 devnull Mouse mouse;
27 76193d7c 2003-09-30 devnull int n; /* number of characters in message */
28 76193d7c 2003-09-30 devnull void *v; /* data unpacked by general event-handling function */
29 76193d7c 2003-09-30 devnull uchar data[EMAXMSG]; /* message from an arbitrary file descriptor */
30 76193d7c 2003-09-30 devnull };
31 76193d7c 2003-09-30 devnull
32 76193d7c 2003-09-30 devnull struct Menu
33 76193d7c 2003-09-30 devnull {
34 76193d7c 2003-09-30 devnull char **item;
35 76193d7c 2003-09-30 devnull char *(*gen)(int);
36 76193d7c 2003-09-30 devnull int lasthit;
37 76193d7c 2003-09-30 devnull };
38 76193d7c 2003-09-30 devnull
39 76193d7c 2003-09-30 devnull /*
40 76193d7c 2003-09-30 devnull * Events
41 76193d7c 2003-09-30 devnull */
42 76193d7c 2003-09-30 devnull extern void einit(ulong);
43 76193d7c 2003-09-30 devnull extern ulong estart(ulong, int, int);
44 76193d7c 2003-09-30 devnull extern ulong estartfn(ulong, int, int, int (*fn)(int, Event*, uchar*, int));
45 76193d7c 2003-09-30 devnull extern ulong etimer(ulong, int);
46 76193d7c 2003-09-30 devnull extern ulong event(Event*);
47 76193d7c 2003-09-30 devnull extern ulong eread(ulong, Event*);
48 76193d7c 2003-09-30 devnull extern Mouse emouse(void);
49 76193d7c 2003-09-30 devnull extern int ekbd(void);
50 76193d7c 2003-09-30 devnull extern int ecanread(ulong);
51 76193d7c 2003-09-30 devnull extern int ecanmouse(void);
52 76193d7c 2003-09-30 devnull extern int ecankbd(void);
53 76193d7c 2003-09-30 devnull extern void eresized(int); /* supplied by user */
54 76193d7c 2003-09-30 devnull extern int emenuhit(int, Mouse*, Menu*);
55 76193d7c 2003-09-30 devnull extern int eatomouse(Mouse*, char*, int);
56 76193d7c 2003-09-30 devnull extern Rectangle getrect(int, Mouse*);
57 76193d7c 2003-09-30 devnull struct Cursor;
58 76193d7c 2003-09-30 devnull extern void esetcursor(struct Cursor*);
59 76193d7c 2003-09-30 devnull extern void emoveto(Point);
60 76193d7c 2003-09-30 devnull extern Rectangle egetrect(int, Mouse*);
61 76193d7c 2003-09-30 devnull extern void edrawgetrect(Rectangle, int);
62 76193d7c 2003-09-30 devnull extern int ereadmouse(Mouse*);
63 76193d7c 2003-09-30 devnull extern int eatomouse(Mouse*, char*, int);