summaryrefslogtreecommitdiff
path: root/os/js/screen.h
blob: 158ba5925dfb1614cc2c345b708693f85e533706 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
typedef struct Cursor Cursor;
typedef struct Vctlr Vctlr;
typedef struct Video Video;
typedef struct Thc Thc;

#define FSVSLOT 2			/* MrCoffee Hard Coded FB Location */

struct	Cursor
{
	Point	offset;
	uchar	clr[2*16];
	uchar	set[2*16];
};

struct Vctlr {
	char*	name;
	Vctlr*	(*init)(Vctlr*, int, int, int);
	void	(*page)(int);
	int	(*setcolor)(ulong, ulong, ulong, ulong);

	void	(*enable)(void);
	void	(*disable)(void);
	void	(*move)(int, int);
	void	(*load)(Cursor*);
	int	(*isloaded)(void);
	int	(*cursorintersectsoff)(Rectangle*);

	int	x;
	int	y;
	int	d;

	Vctlr*	link;

	int	hidecount;
	int	loaded;
	Cursor	cursor;
	Lock	l;
};


struct Video
{
	/* Brooktree 458/451 */
	ulong	addr;		/* address register */
	ulong	color;		/* color palette */
	ulong	cntrl;		/* control register */
	ulong	ovrl;		/* overlay palette */
};