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