xref: /inferno-os/os/js/screen.h (revision 74a4d8c26dd3c1e9febcb717cfd6cb6512991a7a)
1 typedef struct Cursor Cursor;
2 typedef struct Vctlr Vctlr;
3 typedef struct Video Video;
4 typedef struct Thc Thc;
5 
6 #define FSVSLOT 2			/* MrCoffee Hard Coded FB Location */
7 
8 struct	Cursor
9 {
10 	Point	offset;
11 	uchar	clr[2*16];
12 	uchar	set[2*16];
13 };
14 
15 struct Vctlr {
16 	char*	name;
17 	Vctlr*	(*init)(Vctlr*, int, int, int);
18 	void	(*page)(int);
19 	int	(*setcolor)(ulong, ulong, ulong, ulong);
20 
21 	void	(*enable)(void);
22 	void	(*disable)(void);
23 	void	(*move)(int, int);
24 	void	(*load)(Cursor*);
25 	int	(*isloaded)(void);
26 	int	(*cursorintersectsoff)(Rectangle*);
27 
28 	int	x;
29 	int	y;
30 	int	d;
31 
32 	Vctlr*	link;
33 
34 	int	hidecount;
35 	int	loaded;
36 	Cursor	cursor;
37 	Lock	l;
38 };
39 
40 
41 struct Video
42 {
43 	/* Brooktree 458/451 */
44 	ulong	addr;		/* address register */
45 	ulong	color;		/* color palette */
46 	ulong	cntrl;		/* control register */
47 	ulong	ovrl;		/* overlay palette */
48 };
49 
50