1*a81c3ea0SDavid du Colombier typedef struct Cursor Cursor; 2*a81c3ea0SDavid du Colombier typedef struct Cursorinfo Cursorinfo; 3*a81c3ea0SDavid du Colombier struct Cursorinfo { 4*a81c3ea0SDavid du Colombier Cursor; 5*a81c3ea0SDavid du Colombier Lock; 6*a81c3ea0SDavid du Colombier }; 7*a81c3ea0SDavid du Colombier 8*a81c3ea0SDavid du Colombier /* devmouse.c */ 9*a81c3ea0SDavid du Colombier extern void mousetrack(int, int, int, int); 10*a81c3ea0SDavid du Colombier extern Point mousexy(void); 11*a81c3ea0SDavid du Colombier 12*a81c3ea0SDavid du Colombier extern void mouseaccelerate(int); 13*a81c3ea0SDavid du Colombier extern int m3mouseputc(Queue*, int); 14*a81c3ea0SDavid du Colombier extern int m5mouseputc(Queue*, int); 15*a81c3ea0SDavid du Colombier extern int mouseputc(Queue*, int); 16*a81c3ea0SDavid du Colombier 17*a81c3ea0SDavid du Colombier extern Cursorinfo cursor; 18*a81c3ea0SDavid du Colombier extern Cursor arrow; 19*a81c3ea0SDavid du Colombier 20*a81c3ea0SDavid du Colombier /* mouse.c */ 21*a81c3ea0SDavid du Colombier extern void mousectl(Cmdbuf*); 22*a81c3ea0SDavid du Colombier extern void mouseresize(void); 23*a81c3ea0SDavid du Colombier 24*a81c3ea0SDavid du Colombier /* screen.c */ 25*a81c3ea0SDavid du Colombier extern void blankscreen(int); 26*a81c3ea0SDavid du Colombier extern void flushmemscreen(Rectangle); 27*a81c3ea0SDavid du Colombier extern uchar* attachscreen(Rectangle*, ulong*, int*, int*, int*); 28*a81c3ea0SDavid du Colombier extern int cursoron(int); 29*a81c3ea0SDavid du Colombier extern void cursoroff(int); 30*a81c3ea0SDavid du Colombier extern void setcursor(Cursor*); 31*a81c3ea0SDavid du Colombier 32*a81c3ea0SDavid du Colombier /* devdraw.c */ 33*a81c3ea0SDavid du Colombier extern QLock drawlock; 34*a81c3ea0SDavid du Colombier 35*a81c3ea0SDavid du Colombier #define ishwimage(i) 1 /* for ../port/devdraw.c */ 36