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 4f30f3b4 2004-03-30 devnull extern void bouncemouse(Mouse*);
52 4f30f3b4 2004-03-30 devnull extern int _windowhasfocus; /* XXX do better */
53 4f30f3b4 2004-03-30 devnull extern int _wantfocuschanges;
54 f7012583 2003-11-25 devnull
55 f7012583 2003-11-25 devnull #if defined(__cplusplus)
56 f7012583 2003-11-25 devnull }
57 f7012583 2003-11-25 devnull #endif
58 f7012583 2003-11-25 devnull #endif