typedef struct Mouseinfo Mouseinfo;typedef struct Mousestate Mousestate;typedef struct Cursorinfo Cursorinfo;typedef struct Screeninfo Screeninfo; #define Mousequeue 16 /* queue can only have Mousequeue-1 elements */#define Mousewindow 500 /* mouse event window in millisec */ struct Mousestate { int buttons; Point xy; ulong msec;}; struct Mouseinfo { Lock lk; Mousestate queue[Mousequeue]; int ri, wi; int lastb; int trans; int open; Rendez r;}; struct Cursorinfo { Lock lk; Point offset; uchar clr[2*16]; uchar set[2*16];}; struct Screeninfo { Lock lk; Memimage *newsoft; int reshaped; int depth; int dibtype;}; #define screen w32screenextern Memimage *gscreen;extern Screeninfo screen; void screeninit(void);void screenload(Rectangle, int, uchar *, Point, int); void getcolor(ulong, ulong*, ulong*, ulong*);void setcolor(ulong, ulong, ulong, ulong); void refreshrect(Rectangle); void cursorarrow(void);void drawflushr(Rectangle);void flushmemscreen(Rectangle);uchar *attachscreen(Rectangle*, ulong*, int*, int*, int*, void**);
typedef struct Mouseinfo Mouseinfo;
typedef struct Mousestate Mousestate;
typedef struct Cursorinfo Cursorinfo;
typedef struct Screeninfo Screeninfo;
#define Mousequeue 16 /* queue can only have Mousequeue-1 elements */
#define Mousewindow 500 /* mouse event window in millisec */
struct Mousestate {
int buttons;
Point xy;
ulong msec;
};
struct Mouseinfo {
Lock lk;
Mousestate queue[Mousequeue];
int ri, wi;
int lastb;
int trans;
int open;
Rendez r;
};
struct Cursorinfo {
Lock lk;
Point offset;
uchar clr[2*16];
uchar set[2*16];
};
struct Screeninfo {
Lock lk;
Memimage *newsoft;
int reshaped;
int depth;
int dibtype;
};
#define screen w32screen
extern Memimage *gscreen;
extern Screeninfo screen;
void screeninit(void);
void screenload(Rectangle, int, uchar *, Point, int);
void getcolor(ulong, ulong*, ulong*, ulong*);
void setcolor(ulong, ulong, ulong, ulong);
void refreshrect(Rectangle);
void cursorarrow(void);
void drawflushr(Rectangle);
void flushmemscreen(Rectangle);
uchar *attachscreen(Rectangle*, ulong*, int*, int*, int*, void**);