## diffname alphapc/screen.h 1999/0415
## diff -e /dev/null /n/emeliedump/1999/0415/sys/src/brazil/alphapc/screen.h
0a
typedef struct Cursor Cursor;
typedef struct Cursorinfo Cursorinfo;
struct Cursorinfo {
Cursor;
Lock;
};
/* devmouse.c */
extern void mousetrack(int, int, int);
extern Point mousexy(void);
extern void mouseaccelerate(int);
extern int m3mouseputc(Queue*, int);
extern int mouseputc(Queue*, int);
extern Cursorinfo cursor;
extern Cursor arrow;
/*
* Generic VGA registers.
*/
enum {
MiscW = 0x03C2, /* Miscellaneous Output (W) */
MiscR = 0x03CC, /* Miscellaneous Output (R) */
Status0 = 0x03C2, /* Input status 0 (R) */
Status1 = 0x03DA, /* Input Status 1 (R) */
FeatureR = 0x03CA, /* Feature Control (R) */
FeatureW = 0x03DA, /* Feature Control (W) */
Seqx = 0x03C4, /* Sequencer Index, Data at Seqx+1 */
Crtx = 0x03D4, /* CRT Controller Index, Data at Crtx+1 */
Grx = 0x03CE, /* Graphics Controller Index, Data at Grx+1 */
Attrx = 0x03C0, /* Attribute Controller Index and Data */
PaddrW = 0x03C8, /* Palette Address Register, write */
Pdata = 0x03C9, /* Palette Data Register */
Pixmask = 0x03C6, /* Pixel Mask Register */
PaddrR = 0x03C7, /* Palette Address Register, read */
Pstatus = 0x03C7, /* DAC Status (RO) */
Pcolours = 256, /* Palette */
Pred = 0,
Pgreen = 1,
Pblue = 2,
Pblack = 0x00,
Pwhite = 0xFF,
};
#define vgai(port) inb(port)
#define vgao(port, data) outb(port, data)
extern int vgaxi(long, uchar);
extern int vgaxo(long, uchar, uchar);
/*
*/
typedef struct VGAdev VGAdev;
typedef struct VGAcur VGAcur;
typedef struct VGAscr VGAscr;
struct VGAdev {
char* name;
void (*enable)(VGAscr*);
void (*disable)(VGAscr*);
void (*page)(VGAscr*, int);
ulong (*linear)(VGAscr*, int*, int*);
};
struct VGAcur {
char* name;
void (*enable)(VGAscr*);
void (*disable)(VGAscr*);
void (*load)(VGAscr*, Cursor*);
int (*move)(VGAscr*, Point);
};
/*
*/
struct VGAscr {
Lock devlock;
VGAdev* dev;
VGAcur* cur;
ulong storage;
Cursor;
int useflush;
ulong aperture; /* physical address */
int isupamem;
int apsize;
ulong io; /* device specific registers */
ulong colormap[Pcolours][3];
Memimage* gscreen;
Memdata* gscreendata;
Memsubfont* memdefont;
};
extern VGAscr vgascreen[];
enum {
Backgnd = Pwhite,
};
/* mouse.c */
extern void mousectl(char*[], int);
/* screen.c */
extern void flushmemscreen(Rectangle);
extern int cursoron(int);
extern void cursoroff(int);
extern void setcursor(Cursor*);
extern int screensize(int, int, int);
extern int screenaperture(int, int);
/* vga.c */
extern void vgascreenwin(VGAscr*);
.
## diffname alphapc/screen.h 1999/0512
## diff -e /n/emeliedump/1999/0415/sys/src/brazil/alphapc/screen.h /n/emeliedump/1999/0512/sys/src/brazil/alphapc/screen.h
92c
ulong aperture; /* physical address, kernel */
ulong pciaddr; /* physical address, user */
.
## diffname alphapc/screen.h 2000/0401
## diff -e /n/emeliedump/1999/0512/sys/src/brazil/alphapc/screen.h /n/emeliedump/2000/0401/sys/src/9/alphapc/screen.h
123a
extern void vgaimageinit(ulong);
extern void drawblankscreen(int);
.
121a
/* devdraw.c */
extern void deletescreenimage(void);
extern int drawhasclients(void);
.
120a
extern Rectangle physgscreenr; /* actual monitor size */
.
119c
extern int screensize(int, int, int, ulong);
.
114a
extern int hwaccel; /* use hw acceleration; default on */
.
108c
Backgnd = 0, /* black */
.
103a
int (*fill)(VGAscr*, Rectangle, ulong);
int (*scroll)(VGAscr*, Rectangle, Rectangle);
ulong id; /* internal identifier for driver use */
.
99a
int palettedepth;
.
77a
int doespanning;
.
68a
void (*drawinit)(VGAscr*);
int (*fill)(VGAscr*, Rectangle, ulong);
.
## diffname alphapc/screen.h 2000/0407
## diff -e /n/emeliedump/2000/0401/sys/src/9/alphapc/screen.h /n/emeliedump/2000/0407/sys/src/9/alphapc/screen.h
142a
extern void vgablank(VGAscr*, int);
.
140a
extern ulong vgapcilinear(VGAscr*, int*, int*, int, int);
.
132a
extern void blankscreen(int);
.
125a
extern int hwblank; /* use hw blanking; default on */
.
114a
.
112a
void (*blank)(VGAscr*, int);
.
106a
ulong *mmio;
.
## diffname alphapc/screen.h 2000/0522
## diff -e /n/emeliedump/2000/0407/sys/src/9/alphapc/screen.h /n/emeliedump/2000/0522/sys/src/9/alphapc/screen.h
142c
extern ulong blanktime;
.
## diffname alphapc/screen.h 2001/0727
## diff -e /n/emeliedump/2000/0522/sys/src/9/alphapc/screen.h /n/emeliedump/2001/0727/sys/src/9/alphapc/screen.h
129a
extern uchar* attachscreen(Rectangle*, ulong*, int*, int*, int*);
.
9c
extern void mousetrack(int, int, int, int);
.
## diffname alphapc/screen.h 2001/1120
## diff -e /n/emeliedump/2001/0727/sys/src/9/alphapc/screen.h /n/emeliedump/2001/1120/sys/src/9/alphapc/screen.h
125c
extern void mousectl(Cmdbuf*);
.
## diffname alphapc/screen.h 2001/1211
## diff -e /n/emeliedump/2001/1120/sys/src/9/alphapc/screen.h /n/emeliedump/2001/1211/sys/src/9/alphapc/screen.h
142c
extern int drawhasclients(void);
.
128,130c
extern int hwaccel; /* use hw acceleration; default on */
extern int hwblank; /* use hw blanking; default on */
extern void addvgaseg(char*, ulong, ulong);
extern uchar* attachscreen(Rectangle*, ulong*, int*, int*, int*);
.
## diffname alphapc/screen.h 2002/1205
## diff -e /n/emeliedump/2001/1211/sys/src/9/alphapc/screen.h /n/emeliedump/2002/1205/sys/src/9/alphapc/screen.h
49a
#define VGAMEM() PADDR(arch->pcimem(0xA0000, 1<<16))
.
## diffname alphapc/screen.h 2002/1214
## diff -e /n/emeliedump/2002/1205/sys/src/9/alphapc/screen.h /n/emeliedump/2002/1214/sys/src/9/alphapc/screen.h
72a
void (*flush)(VGAscr*, Rectangle);
.
|