Blame


1 f7012583 2003-11-25 devnull #ifndef _MOUSE_H_
2 f7012583 2003-11-25 devnull #define _MOUSE_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 b2cfc4e2 2003-09-30 devnull typedef struct Menu Menu;
7 b2cfc4e2 2003-09-30 devnull typedef struct Mousectl Mousectl;
8 b2cfc4e2 2003-09-30 devnull
9 b2cfc4e2 2003-09-30 devnull struct Mouse
10 b2cfc4e2 2003-09-30 devnull {
11 b2cfc4e2 2003-09-30 devnull int buttons; /* bit array: LMR=124 */
12 b2cfc4e2 2003-09-30 devnull Point xy;
13 b2cfc4e2 2003-09-30 devnull ulong msec;
14 b2cfc4e2 2003-09-30 devnull };
15 b2cfc4e2 2003-09-30 devnull
16 b2cfc4e2 2003-09-30 devnull struct Mousectl
17 b2cfc4e2 2003-09-30 devnull {
18 b2cfc4e2 2003-09-30 devnull Mouse m;
19 b2cfc4e2 2003-09-30 devnull struct Channel *c; /* chan(Mouse) */
20 b2cfc4e2 2003-09-30 devnull struct Channel *resizec; /* chan(int)[2] */
21 b2cfc4e2 2003-09-30 devnull /* buffered in case client is waiting for a mouse action before handling resize */
22 b2cfc4e2 2003-09-30 devnull
23 b2cfc4e2 2003-09-30 devnull char *file;
24 b2cfc4e2 2003-09-30 devnull int mfd; /* to mouse file */
25 b2cfc4e2 2003-09-30 devnull int cfd; /* to cursor file */
26 b2cfc4e2 2003-09-30 devnull int pid; /* of slave proc */
27 b2cfc4e2 2003-09-30 devnull Display *display;
28 b2cfc4e2 2003-09-30 devnull /*Image* image; / * of associated window/display */
29 b2cfc4e2 2003-09-30 devnull };
30 b2cfc4e2 2003-09-30 devnull
31 b2cfc4e2 2003-09-30 devnull struct Menu
32 b2cfc4e2 2003-09-30 devnull {
33 b2cfc4e2 2003-09-30 devnull char **item;
34 b2cfc4e2 2003-09-30 devnull char *(*gen)(int);
35 b2cfc4e2 2003-09-30 devnull int lasthit;
36 b2cfc4e2 2003-09-30 devnull };
37 b2cfc4e2 2003-09-30 devnull
38 b2cfc4e2 2003-09-30 devnull /*
39 b2cfc4e2 2003-09-30 devnull * Mouse
40 b2cfc4e2 2003-09-30 devnull */
41 b2cfc4e2 2003-09-30 devnull extern Mousectl* initmouse(char*, Image*);
42 b2cfc4e2 2003-09-30 devnull extern void moveto(Mousectl*, Point);
43 b2cfc4e2 2003-09-30 devnull extern int readmouse(Mousectl*);
44 b2cfc4e2 2003-09-30 devnull extern void closemouse(Mousectl*);
45 b2cfc4e2 2003-09-30 devnull struct Cursor;
46 b2cfc4e2 2003-09-30 devnull extern void setcursor(Mousectl*, struct Cursor*);
47 b2cfc4e2 2003-09-30 devnull extern void drawgetrect(Rectangle, int);
48 b2cfc4e2 2003-09-30 devnull extern Rectangle getrect(int, Mousectl*);
49 b2cfc4e2 2003-09-30 devnull extern int menuhit(int, Mousectl*, Menu*, Screen*);
50 f7012583 2003-11-25 devnull
51 f7012583 2003-11-25 devnull
52 f7012583 2003-11-25 devnull #if defined(__cplusplus)
53 f7012583 2003-11-25 devnull }
54 f7012583 2003-11-25 devnull #endif
55 f7012583 2003-11-25 devnull #endif