Blame


1 f7012583 2003-11-25 devnull #ifndef _EVENT_H_
2 f7012583 2003-11-25 devnull #define _EVENT_H_ 1
3 f7012583 2003-11-25 devnull #if defined(__cplusplus)
4 f7012583 2003-11-25 devnull extern "C" {
5 f7012583 2003-11-25 devnull #endif
6 f7012583 2003-11-25 devnull
7 b2cfc4e2 2003-09-30 devnull typedef struct Event Event;
8 b2cfc4e2 2003-09-30 devnull typedef struct Menu Menu;
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 Emouse = 1,
13 cbeb0b26 2006-04-01 devnull Ekeyboard = 2
14 b2cfc4e2 2003-09-30 devnull };
15 b2cfc4e2 2003-09-30 devnull
16 b2cfc4e2 2003-09-30 devnull enum
17 b2cfc4e2 2003-09-30 devnull {
18 b2cfc4e2 2003-09-30 devnull MAXSLAVE = 32,
19 cbeb0b26 2006-04-01 devnull EMAXMSG = 128+8192 /* size of 9p header+data */
20 b2cfc4e2 2003-09-30 devnull };
21 b2cfc4e2 2003-09-30 devnull
22 b2cfc4e2 2003-09-30 devnull struct Mouse
23 b2cfc4e2 2003-09-30 devnull {
24 b2cfc4e2 2003-09-30 devnull int buttons; /* bit array: LMR=124 */
25 b2cfc4e2 2003-09-30 devnull Point xy;
26 b2cfc4e2 2003-09-30 devnull ulong msec;
27 b2cfc4e2 2003-09-30 devnull };
28 b2cfc4e2 2003-09-30 devnull
29 b2cfc4e2 2003-09-30 devnull struct Event
30 b2cfc4e2 2003-09-30 devnull {
31 b2cfc4e2 2003-09-30 devnull int kbdc;
32 b2cfc4e2 2003-09-30 devnull Mouse mouse;
33 b2cfc4e2 2003-09-30 devnull int n; /* number of characters in message */
34 b2cfc4e2 2003-09-30 devnull void *v; /* data unpacked by general event-handling function */
35 b2cfc4e2 2003-09-30 devnull uchar data[EMAXMSG]; /* message from an arbitrary file descriptor */
36 b2cfc4e2 2003-09-30 devnull };
37 b2cfc4e2 2003-09-30 devnull
38 b2cfc4e2 2003-09-30 devnull struct Menu
39 b2cfc4e2 2003-09-30 devnull {
40 b2cfc4e2 2003-09-30 devnull char **item;
41 b2cfc4e2 2003-09-30 devnull char *(*gen)(int);
42 b2cfc4e2 2003-09-30 devnull int lasthit;
43 b2cfc4e2 2003-09-30 devnull };
44 b2cfc4e2 2003-09-30 devnull
45 b2cfc4e2 2003-09-30 devnull /*
46 b2cfc4e2 2003-09-30 devnull * Events
47 b2cfc4e2 2003-09-30 devnull */
48 b2cfc4e2 2003-09-30 devnull extern void einit(ulong);
49 b2cfc4e2 2003-09-30 devnull extern ulong estart(ulong, int, int);
50 b2cfc4e2 2003-09-30 devnull extern ulong estartfn(ulong, int, int, int (*fn)(int, Event*, uchar*, int));
51 b2cfc4e2 2003-09-30 devnull extern ulong etimer(ulong, int);
52 b2cfc4e2 2003-09-30 devnull extern ulong event(Event*);
53 b2cfc4e2 2003-09-30 devnull extern ulong eread(ulong, Event*);
54 b2cfc4e2 2003-09-30 devnull extern Mouse emouse(void);
55 b2cfc4e2 2003-09-30 devnull extern int ekbd(void);
56 b2cfc4e2 2003-09-30 devnull extern int ecanread(ulong);
57 b2cfc4e2 2003-09-30 devnull extern int ecanmouse(void);
58 b2cfc4e2 2003-09-30 devnull extern int ecankbd(void);
59 b2cfc4e2 2003-09-30 devnull extern void eresized(int); /* supplied by user */
60 b2cfc4e2 2003-09-30 devnull extern int emenuhit(int, Mouse*, Menu*);
61 b2cfc4e2 2003-09-30 devnull extern int eatomouse(Mouse*, char*, int);
62 b2cfc4e2 2003-09-30 devnull extern Rectangle getrect(int, Mouse*);
63 b2cfc4e2 2003-09-30 devnull struct Cursor;
64 8581c2b5 2018-11-16 rsc struct Cursor2;
65 b2cfc4e2 2003-09-30 devnull extern void esetcursor(struct Cursor*);
66 8581c2b5 2018-11-16 rsc extern void esetcursor2(struct Cursor*, struct Cursor2*);
67 b2cfc4e2 2003-09-30 devnull extern void emoveto(Point);
68 b2cfc4e2 2003-09-30 devnull extern Rectangle egetrect(int, Mouse*);
69 b2cfc4e2 2003-09-30 devnull extern void edrawgetrect(Rectangle, int);
70 b2cfc4e2 2003-09-30 devnull extern int ereadmouse(Mouse*);
71 b2cfc4e2 2003-09-30 devnull extern int eatomouse(Mouse*, char*, int);
72 f7012583 2003-11-25 devnull
73 f7012583 2003-11-25 devnull #if defined(__cplusplus)
74 f7012583 2003-11-25 devnull }
75 f7012583 2003-11-25 devnull #endif
76 f7012583 2003-11-25 devnull #endif