123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105 |
- typedef struct Cursor Cursor;
- typedef struct Cursorinfo Cursorinfo;
- typedef struct OScreen OScreen;
- typedef struct Omap3fb Omap3fb;
- typedef struct Settings Settings;
- struct Cursorinfo
- {
- Cursor;
- Lock;
- };
- extern Cursor arrow;
- extern Cursorinfo cursor;
- /* devmouse.c */
- extern void mousetrack(int, int, int, int);
- extern Point mousexy(void);
- extern void mouseaccelerate(int);
- extern void mouseresize(void);
- /* screen.c */
- extern uchar* attachscreen(Rectangle*, ulong*, int*, int*, int*);
- extern void flushmemscreen(Rectangle);
- extern int cursoron(int);
- extern void cursoroff(int);
- extern void setcursor(Cursor*);
- extern int screensize(int, int, int, ulong);
- extern int screenaperture(int, int);
- extern Rectangle physgscreenr; /* actual monitor size */
- extern void blankscreen(int);
- extern void swcursorinit(void);
- extern void swcursorhide(void);
- extern void swcursoravoid(Rectangle);
- extern void swcursorunhide(void);
- /* devdraw.c */
- extern void deletescreenimage(void);
- extern void resetscreenimage(void);
- extern int drawhasclients(void);
- extern ulong blanktime;
- extern void setscreenimageclipr(Rectangle);
- extern void drawflush(void);
- extern int drawidletime(void);
- extern QLock drawlock;
- #define ishwimage(i) 0 /* for ../port/devdraw.c */
- /* for communication between devdss.c and screen.c */
- enum {
- /* maxima */
- Wid = 1280,
- Ht = 1024,
- Depth = 16, /* bits per pixel */
- Pcolours = 256, /* Palette */
- Pred = 0,
- Pgreen = 1,
- Pblue = 2,
- Pblack = 0x00,
- Pwhite = 0xFF,
- /* settings indices */
- Res800x600 = 0,
- Res1024x768,
- Res1280x1024,
- Res1400x1050,
- };
- struct Settings {
- uint wid; /* width in pixels */
- uint ht; /* height in pixels */
- uint freq; /* refresh frequency; only printed */
- uint chan; /* draw chan */
- /* shouldn't be needed? */
- uint pixelclock;
- /* horizontal timing */
- uint hbp; /* back porch: pixel clocks before scan line */
- uint hfp; /* front porch: pixel clocks after scan line */
- uint hsw; /* sync pulse width: more hfp */
- /* vertical timing */
- uint vbp; /* back porch: line clocks before frame */
- uint vfp; /* front porch: line clocks after frame */
- uint vsw; /* sync pulse width: more vfp */
- };
- struct OScreen {
- Lock;
- Cursor;
- Settings *settings;
- int open;
- };
- struct Omap3fb { /* frame buffer for 24-bit active color */
- // short palette[256];
- /* pixel data, even; base type's width must match Depth */
- ushort pixel[Wid*Ht];
- };
|