Plan 9 from Bell Labs’s /usr/web/sources/extra/9hist/pc/screen.h

Copyright © 2021 Plan 9 Foundation.
Distributed under the MIT License.
Download the Plan 9 distribution.


## diffname pc/screen.h 1991/0730
## diff -e /dev/null /n/bootesdump/1991/0730/sys/src/9/safari/screen.h
0a
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;
	int	changed;	/* mouse structure changed since last read */
	Rendez	r;
	int	newbuttons;	/* interrupt time access only */
	int	clock;		/* check mouse.track on RTE */
};

struct Cursorinfo{
	Cursor;
	Lock;
	int	visible;	/* on screen */
	Rectangle r;		/* location */
};


extern Mouseinfo	mouse;
extern Cursorinfo	cursor;

extern void		mouseupdate(int);

#define kbitblt 	gbitblt
#define	ubitblt		gbitblt
.
## diffname pc/screen.h 1991/1225
## diff -e /n/bootesdump/1991/0730/sys/src/9/safari/screen.h /n/bootesdump/1991/1225/sys/src/9/safari/screen.h
30,32d
## diffname pc/screen.h 1992/1010
## diff -e /n/bootesdump/1992/0808/sys/src/9/safari/screen.h /n/bootesdump/1992/1010/sys/src/9/pc/screen.h
29a

#define	hwscreenwrite(a, b)
.
## diffname pc/screen.h 1992/1013
## diff -e /n/bootesdump/1992/1010/sys/src/9/pc/screen.h /n/bootesdump/1992/1013/sys/src/9/pc/screen.h
31a

#define	screenupdate(z)
int	islcd;
.
## diffname pc/screen.h 1992/1015
## diff -e /n/bootesdump/1992/1013/sys/src/9/pc/screen.h /n/bootesdump/1992/1015/sys/src/9/pc/screen.h
33d
## diffname pc/screen.h 1992/1021
## diff -e /n/bootesdump/1992/1015/sys/src/9/pc/screen.h /n/bootesdump/1992/1021/sys/src/9/pc/screen.h
32,33d
## diffname pc/screen.h 1992/1104
## diff -e /n/bootesdump/1992/1021/sys/src/9/pc/screen.h /n/bootesdump/1992/1104/sys/src/9/pc/screen.h
31a

#define mbbpt(x)
#define mbbrect(x)
#define screenupdate()
#define mousescreenupdate()
.
## diffname pc/screen.h 1992/1105
## diff -e /n/bootesdump/1992/1104/sys/src/9/pc/screen.h /n/bootesdump/1992/1105/sys/src/9/pc/screen.h
32,36d
## diffname pc/screen.h 1992/1107
## diff -e /n/bootesdump/1992/1105/sys/src/9/pc/screen.h /n/bootesdump/1992/1107/sys/src/9/pc/screen.h
21a
	int	disable;	/* from being used */
.
## diffname pc/screen.h 1993/0225
## diff -e /n/bootesdump/1992/1107/sys/src/9/pc/screen.h /n/bootesdump/1993/0225/sys/src/9/pc/screen.h
12c
	ulong	counter;	/* increments every update */
	ulong	lastcounter;	/* value when /dev/mouse read */
.
## diffname pc/screen.h 1993/0226
## diff -e /n/bootesdump/1993/0225/sys/src/9/pc/screen.h /n/bootesdump/1993/0226/sys/src/9/pc/screen.h
1,30d
## diffname pc/screen.h 1994/0211
## diff -e /n/bootesdump/1993/0226/sys/src/9/pc/screen.h /n/fornaxdump/1994/0211/sys/src/brazil/pc/screen.h
1,3d
## diffname pc/screen.h 1994/0414
## diff -e /n/fornaxdump/1994/0211/sys/src/brazil/pc/screen.h /n/fornaxdump/1994/0414/sys/src/brazil/pc/screen.h
0a
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);
.
## diffname pc/screen.h 1994/0520
## diff -e /n/fornaxdump/1994/0414/sys/src/brazil/pc/screen.h /n/fornaxdump/1994/0520/sys/src/brazil/pc/screen.h
20a
extern void	setcursor(Cursor*);
.
## diffname pc/screen.h 1994/0624
## diff -e /n/fornaxdump/1994/0520/sys/src/brazil/pc/screen.h /n/fornaxdump/1994/0624/sys/src/brazil/pc/screen.h
17c
extern int	cursoron(int);
.
## diffname pc/screen.h 1997/0327
## diff -e /n/fornaxdump/1994/0624/sys/src/brazil/pc/screen.h /n/emeliedump/1997/0327/sys/src/brazil/pc/screen.h
21a

/*
 *  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;
.
19,20d
16a
Cursor		curs;
.
## diffname pc/screen.h 1997/1101
## diff -e /n/emeliedump/1997/0327/sys/src/brazil/pc/screen.h /n/emeliedump/1997/1101/sys/src/brazil/pc/screen.h
37,40c
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,
};
.
33,35c
#define vgai(port)		inb(port)
#define vgao(port, data)	outb(port, data)
.
31d
25,29c
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,
.
23c
 * Generic VGA registers.
.
21a
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*);

.
16,20c
/* devmouse.c */
extern void mousetrack(int, int, int);
extern Point mousexy(void);
.
7,13d
1,4c
typedef struct Cursorinfo Cursorinfo;
struct Cursorinfo {
.
## diffname pc/screen.h 1998/0209
## diff -e /n/emeliedump/1997/1101/sys/src/brazil/pc/screen.h /n/emeliedump/1998/0209/sys/src/brazil/pc/screen.h
26a
extern Cursor arrow;

.
## diffname pc/screen.h 1998/0319
## diff -e /n/emeliedump/1998/0209/sys/src/brazil/pc/screen.h /n/emeliedump/1998/0319/sys/src/brazil/pc/screen.h
116a

/* 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*);

.
17,26d
## diffname pc/screen.h 1998/0331
## diff -e /n/emeliedump/1998/0319/sys/src/brazil/pc/screen.h /n/emeliedump/1998/0331/sys/src/brazil/pc/screen.h
121d
## diffname pc/screen.h 1998/0417
## diff -e /n/emeliedump/1998/0331/sys/src/brazil/pc/screen.h /n/emeliedump/1998/0417/sys/src/brazil/pc/screen.h
109c
extern void mousectl(char*[], int);
.
14d
## diffname pc/screen.h 1998/0507
## diff -e /n/emeliedump/1998/0417/sys/src/brazil/pc/screen.h /n/emeliedump/1998/0507/sys/src/brazil/pc/screen.h
94a
	ulong	io;				/* device specific registers */

.
## diffname pc/screen.h 1999/0119
## diff -e /n/emeliedump/1998/0507/sys/src/brazil/pc/screen.h /n/emeliedump/1999/0119/sys/src/brazil/pc/screen.h
0a
typedef struct Cursor Cursor;
.
## diffname pc/screen.h 1999/0225
## diff -e /n/emeliedump/1999/0119/sys/src/brazil/pc/screen.h /n/emeliedump/1999/0225/sys/src/brazil/pc/screen.h
12c
extern void mouseaccelerate(int);
.
## diffname pc/screen.h 1999/0320
## diff -e /n/emeliedump/1999/0225/sys/src/brazil/pc/screen.h /n/emeliedump/1999/0320/sys/src/brazil/pc/screen.h
13,14c
extern int m3mouseputc(Queue*, int);
extern int mouseputc(Queue*, int);
.
## diffname pc/screen.h 1999/1005
## diff -e /n/emeliedump/1999/0320/sys/src/brazil/pc/screen.h /n/emeliedump/1999/1005/sys/src/brazil/pc/screen.h
122a
extern void	vgaimageinit(ulong);
extern ulong	vgapcilinear(VGAscr*, int*, int*, int, int);

extern void	drawblankscreen(int);
.
119a
extern Rectangle physgscreenr;	/* actual monitor size */
extern void	deletescreenimage(void);
.
118c
extern int	screensize(int, int, int, ulong);
.
107c
	Backgnd		= 0,	/* black */
.
103a

.
102a

	int	(*fill)(VGAscr*, Rectangle, ulong);
	int	(*scroll)(VGAscr*, Rectangle, Rectangle);
	ulong	id;	/* internal identifier for driver use */
.
99a
	ulong	*mmio;
.
98a
	int	palettedepth;
.
77a

	int	doespanning;
.
68a
	void	(*drawinit)(VGAscr*);
	int	(*fill)(VGAscr*, Rectangle, ulong);

.
## diffname pc/screen.h 1999/1006
## diff -e /n/emeliedump/1999/1005/sys/src/brazil/pc/screen.h /n/emeliedump/1999/1006/sys/src/brazil/pc/screen.h
125a
extern int		hwaccel;	/* use hw acceleration; default on */
.
## diffname pc/screen.h 1999/1009
## diff -e /n/emeliedump/1999/1006/sys/src/brazil/pc/screen.h /n/emeliedump/1999/1009/sys/src/brazil/pc/screen.h
134a
extern int		drawhasclients(void);
.
133a

/* devdraw.c */
.
## diffname pc/screen.h 2000/0326
## diff -e /n/emeliedump/1999/1009/sys/src/brazil/pc/screen.h /n/emeliedump/2000/0326/sys/src/9/pc/screen.h
133a
extern void	blankscreen(int);
.
126a
extern int		hwblank;	/* use hw blanking; default on */
.
112a
	void	(*blank)(VGAscr*, int);
.
## diffname pc/screen.h 2000/0330
## diff -e /n/emeliedump/2000/0326/sys/src/9/pc/screen.h /n/emeliedump/2000/0330/sys/src/9/pc/screen.h
147a
extern void	vgablank(VGAscr*, int);
.
## diffname pc/screen.h 2000/0504
## diff -e /n/emeliedump/2000/0330/sys/src/9/pc/screen.h /n/emeliedump/2000/0504/sys/src/9/pc/screen.h
71d
## diffname pc/screen.h 2000/0522
## diff -e /n/emeliedump/2000/0504/sys/src/9/pc/screen.h /n/emeliedump/2000/0522/sys/src/9/pc/screen.h
139a
extern ulong	blanktime;
.
## diffname pc/screen.h 2001/0410
## diff -e /n/emeliedump/2000/0522/sys/src/9/pc/screen.h /n/emeliedump/2001/0410/sys/src/9/pc/screen.h
148a
extern void addvgaseg(char*, ulong, ulong);
.
## diffname pc/screen.h 2001/0426
## diff -e /n/emeliedump/2001/0410/sys/src/9/pc/screen.h /n/emeliedump/2001/0426/sys/src/9/pc/screen.h
70a
	int	(*ovlctl)(VGAscr*, void*, int);
.
## diffname pc/screen.h 2001/0428
## diff -e /n/emeliedump/2001/0426/sys/src/9/pc/screen.h /n/emeliedump/2001/0428/sys/src/9/pc/screen.h
71a
	int	(*ovlwrite)(VGAscr*, void*, int, vlong);
.
## diffname pc/screen.h 2001/0501
## diff -e /n/emeliedump/2001/0428/sys/src/9/pc/screen.h /n/emeliedump/2001/0501/sys/src/9/pc/screen.h
71c
	void	(*ovlctl)(VGAscr*, Chan*, void*, int);
.
## diffname pc/screen.h 2001/0523
## diff -e /n/emeliedump/2001/0501/sys/src/9/pc/screen.h /n/emeliedump/2001/0523/sys/src/9/pc/screen.h
142a
extern uchar*	attachscreen(Rectangle*, ulong*, int*, int*, int*);
.
## diffname pc/screen.h 2001/0527
## diff -e /n/emeliedump/2001/0523/sys/src/9/pc/screen.h /n/emeliedump/2001/0527/sys/src/9/pc/screen.h
152d
143d
129a
extern uchar* attachscreen(Rectangle*, ulong*, int*, int*, int*);
.
71,72d
9c
extern void mousetrack(int, int, int, int);
.
## diffname pc/screen.h 2001/0908
## diff -e /n/emeliedump/2001/0527/sys/src/9/pc/screen.h /n/emeliedump/2001/0908/sys/src/9/pc/screen.h
127a
extern void addvgaseg(char*, ulong, ulong);
.
## diffname pc/screen.h 2001/1005
## diff -e /n/emeliedump/2001/0908/sys/src/9/pc/screen.h /n/emeliedump/2001/1005/sys/src/9/pc/screen.h
70a
	void	(*ovlctl)(VGAscr*, Chan*, void*, int);
	int	(*ovlwrite)(VGAscr*, void*, int, vlong);
.
## diffname pc/screen.h 2001/1015
## diff -e /n/emeliedump/2001/1005/sys/src/9/pc/screen.h /n/emeliedump/2001/1015/sys/src/9/pc/screen.h
144a
extern void	setscreenimageclipr(Rectangle);
.
129a
extern int		panning;	/* use virtual screen panning; default off */
.
## diffname pc/screen.h 2001/1120
## diff -e /n/emeliedump/2001/1015/sys/src/9/pc/screen.h /n/emeliedump/2001/1120/sys/src/9/pc/screen.h
125c
extern void mousectl(Cmdbuf*);
.
## diffname pc/screen.h 2002/0404
## diff -e /n/emeliedump/2001/1120/sys/src/9/pc/screen.h /n/emeliedump/2002/0404/sys/src/9/pc/screen.h
146a
extern void	drawflush(void);
.
72a
	void (*flush)(VGAscr*, Rectangle);
.
## diffname pc/screen.h 2002/1201
## diff -e /n/emeliedump/2002/0404/sys/src/9/pc/screen.h /n/emeliedump/2002/1201/sys/src/9/pc/screen.h
148a
extern int drawidletime(void);
.
116a
	int isblank;
.
## diffname pc/screen.h 2002/1205
## diff -e /n/emeliedump/2002/1201/sys/src/9/pc/screen.h /n/emeliedump/2002/1205/sys/src/9/pc/screen.h
49a
#define VGAMEM()	0xA0000
.
## diffname pc/screen.h 2003/0322
## diff -e /n/emeliedump/2002/1205/sys/src/9/pc/screen.h /n/emeliedump/2003/0322/sys/src/9/pc/screen.h
118a
	int overlayinit;
.

Bell Labs OSI certified Powered by Plan 9

(Return to Plan 9 Home Page)

Copyright © 2021 Plan 9 Foundation. All Rights Reserved.
Comments to [email protected].