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 d2397381 2006-06-25 devnull Display *display; /* associated display */
24 b2cfc4e2 2003-09-30 devnull };
25 b2cfc4e2 2003-09-30 devnull
26 b2cfc4e2 2003-09-30 devnull struct Menu
27 b2cfc4e2 2003-09-30 devnull {
28 b2cfc4e2 2003-09-30 devnull char **item;
29 b2cfc4e2 2003-09-30 devnull char *(*gen)(int);
30 b2cfc4e2 2003-09-30 devnull int lasthit;
31 b2cfc4e2 2003-09-30 devnull };
32 b2cfc4e2 2003-09-30 devnull
33 b2cfc4e2 2003-09-30 devnull /*
34 b2cfc4e2 2003-09-30 devnull * Mouse
35 b2cfc4e2 2003-09-30 devnull */
36 b2cfc4e2 2003-09-30 devnull extern Mousectl* initmouse(char*, Image*);
37 b2cfc4e2 2003-09-30 devnull extern void moveto(Mousectl*, Point);
38 b2cfc4e2 2003-09-30 devnull extern int readmouse(Mousectl*);
39 b2cfc4e2 2003-09-30 devnull extern void closemouse(Mousectl*);
40 b2cfc4e2 2003-09-30 devnull struct Cursor;
41 8581c2b5 2018-11-16 rsc struct Cursor2;
42 b2cfc4e2 2003-09-30 devnull extern void setcursor(Mousectl*, struct Cursor*);
43 8581c2b5 2018-11-16 rsc extern void setcursor2(Mousectl*, struct Cursor*, struct Cursor2*);
44 b2cfc4e2 2003-09-30 devnull extern void drawgetrect(Rectangle, int);
45 b2cfc4e2 2003-09-30 devnull extern Rectangle getrect(int, Mousectl*);
46 b2cfc4e2 2003-09-30 devnull extern int menuhit(int, Mousectl*, Menu*, Screen*);
47 f7012583 2003-11-25 devnull
48 4f30f3b4 2004-03-30 devnull extern void bouncemouse(Mouse*);
49 4f30f3b4 2004-03-30 devnull extern int _windowhasfocus; /* XXX do better */
50 4f30f3b4 2004-03-30 devnull extern int _wantfocuschanges;
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