plan 9 kernel history: overview | file list | diff list

1998/0331/pc/screen.h (diff list | history)

1991/0730/sys/src/9/pc/screen.h:27,321991/1225/sys/src/9/pc/screen.h:27,29 (short | long)
1991/0730    
extern Cursorinfo	cursor; 
 
extern void		mouseupdate(int); 
                 
#define kbitblt 	gbitblt 
#define	ubitblt		gbitblt 
1991/1225/sys/src/9/pc/screen.h:27,291992/1010/sys/src/9/pc/screen.h:27,31 (short | long)
Add hwscreenwrite.
rsc Fri Mar 4 12:44:25 2005
1991/0730    
extern Cursorinfo	cursor; 
 
extern void		mouseupdate(int); 
1992/1010    
 
#define	hwscreenwrite(a, b) 
1992/1010/sys/src/9/pc/screen.h:29,311992/1013/sys/src/9/pc/screen.h:29,34 (short | long)
Add screenupdate, islcd.
rsc Fri Mar 4 12:44:25 2005
1991/0730    
extern void		mouseupdate(int); 
1992/1010    
 
#define	hwscreenwrite(a, b) 
1992/1013    
 
#define	screenupdate(z) 
int	islcd; 
1992/1013/sys/src/9/pc/screen.h:30,341992/1015/sys/src/9/pc/screen.h:30,33 (short | long)
Remove screenupdate.
rsc Fri Mar 4 12:44:25 2005
1992/1010    
 
#define	hwscreenwrite(a, b) 
1992/1013    
 
#define	screenupdate(z) 
int	islcd; 
1992/1015/sys/src/9/pc/screen.h:29,331992/1021/sys/src/9/pc/screen.h:29,31 (short | long)
Remove islcd.
rsc Fri Mar 4 12:44:25 2005
1991/0730    
extern void		mouseupdate(int); 
1992/1010    
 
#define	hwscreenwrite(a, b) 
1992/1013    
                 
int	islcd; 
1992/1021/sys/src/9/pc/screen.h:29,311992/1104/sys/src/9/pc/screen.h:29,36 (short | long)
Add mbbpt, mbbrect, screenupdate, mousescreenupdate.
rsc Fri Mar 4 12:44:25 2005
1991/0730    
extern void		mouseupdate(int); 
1992/1010    
 
#define	hwscreenwrite(a, b) 
1992/1104    
 
#define mbbpt(x) 
#define mbbrect(x) 
#define screenupdate() 
#define mousescreenupdate() 
1992/1104/sys/src/9/pc/screen.h:29,361992/1105/sys/src/9/pc/screen.h:29,31 (short | long)
Remove mbbpt, mbbrect, screenupdate, mousescreenupdate.
rsc Fri Mar 4 12:44:25 2005
1991/0730    
extern void		mouseupdate(int); 
1992/1010    
 
#define	hwscreenwrite(a, b) 
1992/1104    
                 
#define mbbpt(x) 
#define mbbrect(x) 
#define screenupdate() 
#define mousescreenupdate() 
1992/1105/sys/src/9/pc/screen.h:19,241992/1107/sys/src/9/pc/screen.h:19,25 (short | long)
Add disable.
rsc Fri Mar 4 12:44:25 2005
1991/0730    
	Cursor; 
	Lock; 
	int	visible;	/* on screen */ 
1992/1107    
	int	disable;	/* from being used */ 
1991/0730    
	Rectangle r;		/* location */ 
}; 
 
1992/1107/sys/src/9/pc/screen.h:9,151993/0225/sys/src/9/pc/screen.h:9,16 (short | long)
Bug fix?: replace changed with pair of counters.
rsc Fri Mar 4 12:44:25 2005
1991/0730    
	int	dy; 
	int	track;		/* update cursor on screen */ 
	Mouse; 
	int	changed;	/* mouse structure changed since last read */ 
1993/0225    
	ulong	counter;	/* increments every update */ 
	ulong	lastcounter;	/* value when /dev/mouse read */ 
1991/0730    
	Rendez	r; 
	int	newbuttons;	/* interrupt time access only */ 
	int	clock;		/* check mouse.track on RTE */ 
1993/0225/sys/src/9/pc/screen.h:1,331993/0226/sys/src/9/pc/screen.h:1,3 (short | long)
Remove Mouseinfp, Cursorinfo.
rsc Fri Mar 4 12:44:25 2005
1991/0730    
typedef struct Mouseinfo	Mouseinfo; 
typedef struct Cursorinfo	Cursorinfo; 
                 
struct Mouseinfo{ 
	/* 
	 * First three fields are known in some l.s's 
	 */ 
	int	dx;		/* interrupt-time delta */ 
	int	dy; 
	int	track;		/* update cursor on screen */ 
	Mouse; 
1993/0225    
	ulong	counter;	/* increments every update */ 
	ulong	lastcounter;	/* value when /dev/mouse read */ 
1991/0730    
	Rendez	r; 
	int	newbuttons;	/* interrupt time access only */ 
	int	clock;		/* check mouse.track on RTE */ 
}; 
                 
struct Cursorinfo{ 
	Cursor; 
	Lock; 
	int	visible;	/* on screen */ 
1992/1107    
	int	disable;	/* from being used */ 
1991/0730    
	Rectangle r;		/* location */ 
}; 
                 
                 
extern Mouseinfo	mouse; 
extern Cursorinfo	cursor; 
                 
extern void		mouseupdate(int); 
1992/1010    
 
#define	hwscreenwrite(a, b) 
1993/0226/sys/src/9/pc/screen.h:1,31994/0211/sys/src/9/pc/screen.h:0 (short | long)
Remove mouseupdate, hwscreenwrite.
rsc Fri Mar 4 12:44:25 2005
1991/0730    
extern void		mouseupdate(int); 
1992/1010    
                 
#define	hwscreenwrite(a, b) 
1994/0211/sys/src/9/pc/screen.h:01994/0414/sys/src/9/pc/screen.h:1,20 (short | long)
Add Cursorinfo.
rsc Fri Mar 4 12:44:25 2005
1994/0414    
typedef struct Cursorinfo	Cursorinfo; 
 
struct Cursorinfo 
{ 
	Cursor; 
	Lock; 
	int	visible;	/* on screen */ 
	int	disable;	/* from being used */ 
	int	frozen;		/* from being used */ 
	Rectangle r;		/* location */ 
	Rectangle clipr;	/* r clipped into screen */ 
	int	l;		/* width of cursorwork (in bytes) */ 
	int	tl;		/* scan line byte width of mouse at r */ 
}; 
 
Cursorinfo	cursor; 
extern void	cursoron(int); 
extern void	cursoroff(int); 
extern Point	mousexy(void); 
extern void	cursorinit(void); 
1994/0414/sys/src/9/pc/screen.h:18,201994/0520/sys/src/9/pc/screen.h:18,21 (short | long)
Add setcursor.
rsc Fri Mar 4 12:44:25 2005
1994/0414    
extern void	cursoroff(int); 
extern Point	mousexy(void); 
extern void	cursorinit(void); 
1994/0520    
extern void	setcursor(Cursor*); 
1994/0520/sys/src/9/pc/screen.h:14,201994/0624/sys/src/9/pc/screen.h:14,20 (short | long)
Change cursoron to return int.
rsc Fri Mar 4 12:44:25 2005
1994/0414    
}; 
 
Cursorinfo	cursor; 
extern void	cursoron(int); 
1994/0624    
extern int	cursoron(int); 
1994/0414    
extern void	cursoroff(int); 
extern Point	mousexy(void); 
extern void	cursorinit(void); 
1994/0624/sys/src/9/pc/screen.h:14,211997/0327/sys/src/9/pc/screen.h:14,40 (short | long)
Add mouse prototypes.
rsc Fri Mar 4 12:44:25 2005
1994/0414    
}; 
 
Cursorinfo	cursor; 
1997/0327    
Cursor		curs; 
1994/0624    
extern int	cursoron(int); 
1994/0414    
extern void	cursoroff(int); 
extern Point	mousexy(void); 
extern void	cursorinit(void); 
1994/0520    
extern void	setcursor(Cursor*); 
1997/0327    
 
/* 
 *  mouse types 
 */ 
enum 
{ 
	Mouseother=	0, 
	Mouseserial=	1, 
	MousePS2=	2, 
}; 
extern int	mousetype; 
 
extern void	mousectl(char*); 
extern void	mousetrack(int, int, int); 
extern Point	mousexy(void); 
 
extern void	mouseaccelerate(char*); 
extern int	m3mouseputc(void*, int); 
extern int	mouseputc(void*, int); 
extern int	mouseswap; 
1997/0327/sys/src/9/pc/screen.h:1,401997/1101/sys/src/9/pc/screen.h:1,114 (short | long)
Change Cursorinfo to be locked Cursor. Add VGAscr, etc. (Changes from Inferno draw? XXX)
rsc Fri Mar 4 12:44:25 2005
1994/0414    
typedef struct Cursorinfo	Cursorinfo; 
                 
struct Cursorinfo 
{ 
1997/1101    
typedef struct Cursorinfo Cursorinfo; 
struct Cursorinfo { 
1994/0414    
	Cursor; 
	Lock; 
	int	visible;	/* on screen */ 
	int	disable;	/* from being used */ 
	int	frozen;		/* from being used */ 
	Rectangle r;		/* location */ 
	Rectangle clipr;	/* r clipped into screen */ 
	int	l;		/* width of cursorwork (in bytes) */ 
	int	tl;		/* scan line byte width of mouse at r */ 
}; 
 
Cursorinfo	cursor; 
1997/0327    
Cursor		curs; 
1994/0624    
extern int	cursoron(int); 
1994/0414    
extern void	cursoroff(int); 
1994/0520    
extern void	setcursor(Cursor*); 
1997/1101    
/* devmouse.c */ 
extern void mousetrack(int, int, int); 
extern Point mousexy(void); 
1997/0327    
 
1997/1101    
extern void mouseaccelerate(char*); 
extern int m3mouseputc(void*, int); 
extern int mouseputc(void*, int); 
extern int mouseswap; 
 
extern Cursorinfo cursor; 
 
/* mouse.c */ 
extern void mousectl(char*); 
 
/* screen.c */ 
extern void flushmemscreen(Rectangle); 
extern int cursoron(int); 
extern void cursoroff(int); 
extern void setcursor(Cursor*); 
 
1997/0327    
/* 
 *  mouse types 
1997/1101    
 * Generic VGA registers. 
1997/0327    
 */ 
enum 
{ 
	Mouseother=	0, 
	Mouseserial=	1, 
	MousePS2=	2, 
1997/1101    
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, 
1997/0327    
}; 
extern int	mousetype; 
 
extern void	mousectl(char*); 
extern void	mousetrack(int, int, int); 
extern Point	mousexy(void); 
1997/1101    
#define vgai(port)		inb(port) 
#define vgao(port, data)	outb(port, data) 
1997/0327    
 
extern void	mouseaccelerate(char*); 
extern int	m3mouseputc(void*, int); 
extern int	mouseputc(void*, int); 
extern int	mouseswap; 
1997/1101    
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	colormap[Pcolours][3]; 
 
	Memimage* gscreen; 
	Memdata* gscreendata; 
	Memsubfont* memdefont; 
}; 
extern VGAscr vgascreen[]; 
 
enum { 
	Backgnd		= Pwhite, 
}; 
1997/1101/sys/src/9/pc/screen.h:24,291998/0209/sys/src/9/pc/screen.h:24,31 (short | long)
Add arrow.
rsc Fri Mar 4 12:44:25 2005
1997/1101    
extern void cursoroff(int); 
extern void setcursor(Cursor*); 
 
1998/0209    
extern Cursor arrow; 
 
1997/0327    
/* 
1997/1101    
 * Generic VGA registers. 
1997/0327    
 */ 
1998/0209/sys/src/9/pc/screen.h:14,291998/0319/sys/src/9/pc/screen.h:14,19 (short | long)
Move prototypes around. Add screensize, screenaperture, vgascreenwin.
rsc Fri Mar 4 12:44:25 2005
1997/1101    
extern int mouseswap; 
 
extern Cursorinfo cursor; 
                 
/* mouse.c */ 
extern void mousectl(char*); 
                 
/* screen.c */ 
extern void flushmemscreen(Rectangle); 
extern int cursoron(int); 
extern void cursoroff(int); 
extern void setcursor(Cursor*); 
                 
1998/0209    
extern Cursor arrow; 
 
1997/0327    
/* 
1998/0209/sys/src/9/pc/screen.h:114,1161998/0319/sys/src/9/pc/screen.h:104,121
1997/1101    
enum { 
	Backgnd		= Pwhite, 
}; 
1998/0319    
 
/* mouse.c */ 
extern void mousectl(char*); 
 
/* 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*); 
 
1998/0319/sys/src/9/pc/screen.h:118,1211998/0331/sys/src/9/pc/screen.h:118,120 (short | long)
Delete blank line.
rsc Fri Mar 4 12:44:25 2005
1998/0319    
 
/* vga.c */ 
extern void	vgascreenwin(VGAscr*); 
                 
1998/0331/sys/src/9/pc/screen.h:11,171998/0417/sys/src/9/pc/screen.h:11,16 (short | long)
Change mousectl to accept list of fields. Remove global mouseswap.
rsc Fri Mar 4 12:44:25 2005
1997/1101    
extern void mouseaccelerate(char*); 
extern int m3mouseputc(void*, int); 
extern int mouseputc(void*, int); 
extern int mouseswap; 
 
extern Cursorinfo cursor; 
1998/0209    
extern Cursor arrow; 
1998/0331/sys/src/9/pc/screen.h:106,1121998/0417/sys/src/9/pc/screen.h:105,111
1997/1101    
}; 
1998/0319    
 
/* mouse.c */ 
extern void mousectl(char*); 
1998/0417    
extern void mousectl(char*[], int); 
1998/0319    
 
/* screen.c */ 
extern void	flushmemscreen(Rectangle); 
1998/0417/sys/src/9/pc/screen.h:92,971998/0507/sys/src/9/pc/screen.h:92,99 (short | long)
Add io address to struct VGAscr.
rsc Fri Mar 4 12:44:25 2005
1997/1101    
	int	isupamem; 
	int	apsize; 
 
1998/0507    
	ulong	io;				/* device specific registers */ 
 
1997/1101    
	ulong	colormap[Pcolours][3]; 
 
	Memimage* gscreen; 
1998/0507/sys/src/9/pc/screen.h:1,31999/0119/sys/src/9/pc/screen.h:1,4 (short | long)
Add typedef Cursor, just in case.
rsc Fri Mar 4 12:44:25 2005
1999/0119    
typedef struct Cursor Cursor; 
1997/1101    
typedef struct Cursorinfo Cursorinfo; 
struct Cursorinfo { 
1994/0414    
	Cursor; 
1999/0119/sys/src/9/pc/screen.h:9,151999/0225/sys/src/9/pc/screen.h:9,15 (short | long)
Change mouseaccelerate.
rsc Fri Mar 4 12:44:25 2005
1997/1101    
extern void mousetrack(int, int, int); 
extern Point mousexy(void); 
1997/0327    
 
1997/1101    
extern void mouseaccelerate(char*); 
1999/0225    
extern void mouseaccelerate(int); 
1997/1101    
extern int m3mouseputc(void*, int); 
extern int mouseputc(void*, int); 
 
1999/0225/sys/src/9/pc/screen.h:10,171999/0320/sys/src/9/pc/screen.h:10,17 (short | long)
Change *mouseputc to use Queue.
rsc Fri Mar 4 12:44:25 2005
1997/1101    
extern Point mousexy(void); 
1997/0327    
 
1999/0225    
extern void mouseaccelerate(int); 
1997/1101    
extern int m3mouseputc(void*, int); 
extern int mouseputc(void*, int); 
1999/0320    
extern int m3mouseputc(Queue*, int); 
extern int mouseputc(Queue*, int); 
1997/1101    
 
extern Cursorinfo cursor; 
1998/0209    
extern Cursor arrow; 
1999/0320/sys/src/9/pc/screen.h:66,711999/1005/sys/src/9/pc/screen.h:66,74 (short | long)
New draw changes XXX
rsc Fri Mar 4 12:44:25 2005
1997/1101    
	void	(*disable)(VGAscr*); 
	void	(*page)(VGAscr*, int); 
	ulong	(*linear)(VGAscr*, int*, int*); 
1999/1005    
	void	(*drawinit)(VGAscr*); 
	int	(*fill)(VGAscr*, Rectangle, ulong); 
 
1997/1101    
}; 
 
struct VGAcur { 
1999/0320/sys/src/9/pc/screen.h:75,801999/1005/sys/src/9/pc/screen.h:78,85
1997/1101    
	void	(*disable)(VGAscr*); 
	void	(*load)(VGAscr*, Cursor*); 
	int	(*move)(VGAscr*, Point); 
1999/1005    
 
	int	doespanning; 
1997/1101    
}; 
 
/* 
1999/0320/sys/src/9/pc/screen.h:96,1101999/1005/sys/src/9/pc/screen.h:101,122
1998/0507    
	ulong	io;				/* device specific registers */ 
 
1997/1101    
	ulong	colormap[Pcolours][3]; 
1999/1005    
	int	palettedepth; 
1997/1101    
 
1999/1005    
	ulong	*mmio; 
1997/1101    
	Memimage* gscreen; 
	Memdata* gscreendata; 
	Memsubfont* memdefont; 
1999/1005    
 
	int	(*fill)(VGAscr*, Rectangle, ulong); 
	int	(*scroll)(VGAscr*, Rectangle, Rectangle); 
	ulong	id;	/* internal identifier for driver use */ 
1997/1101    
}; 
1999/1005    
 
1997/1101    
extern VGAscr vgascreen[]; 
 
enum { 
	Backgnd		= Pwhite, 
1999/1005    
	Backgnd		= 0,	/* black */ 
1997/1101    
}; 
1998/0319    
 
/* mouse.c */ 
1999/0320/sys/src/9/pc/screen.h:115,1221999/1005/sys/src/9/pc/screen.h:127,140
1998/0319    
extern int	cursoron(int); 
extern void	cursoroff(int); 
extern void	setcursor(Cursor*); 
extern int	screensize(int, int, int); 
1999/1005    
extern int	screensize(int, int, int, ulong); 
1998/0319    
extern int	screenaperture(int, int); 
1999/1005    
extern Rectangle physgscreenr;	/* actual monitor size */ 
extern void	deletescreenimage(void); 
1998/0319    
 
/* vga.c */ 
extern void	vgascreenwin(VGAscr*); 
1999/1005    
extern void	vgaimageinit(ulong); 
extern ulong	vgapcilinear(VGAscr*, int*, int*, int, int); 
 
extern void	drawblankscreen(int); 
Too many diffs (26 > 25). Stopping.


source code copyright © 1990-2005 Lucent Technologies; see license
Plan 9 distribution
comments to russ cox (rsc@swtch.com)