Blame


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