Warning: Attempt to read property "date" on null in /usr/local/www/websvn.planix.org/blame.php on line 247

Warning: Attempt to read property "msg" on null in /usr/local/www/websvn.planix.org/blame.php on line 247
WebSVN – planix.SVN – Blame – /os/branches/feature-vt/sys/include/memlayer.h – Rev 2

Subversion Repositories planix.SVN

Rev

Go to most recent revision | Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
2 - 1
#pragma src "/sys/src/libmemlayer"
2
#pragma lib "libmemlayer.a"
3
 
4
typedef struct Memscreen Memscreen;
5
typedef void (*Refreshfn)(Memimage*, Rectangle, void*);
6
 
7
struct Memscreen
8
{
9
	Memimage	*frontmost;	/* frontmost layer on screen */
10
	Memimage	*rearmost;	/* rearmost layer on screen */
11
	Memimage	*image;		/* upon which all layers are drawn */
12
	Memimage	*fill;			/* if non-zero, picture to use when repainting */
13
};
14
 
15
struct Memlayer
16
{
17
	Rectangle		screenr;	/* true position of layer on screen */
18
	Point			delta;	/* add delta to go from image coords to screen */
19
	Memscreen	*screen;	/* screen this layer belongs to */
20
	Memimage	*front;	/* window in front of this one */
21
	Memimage	*rear;	/* window behind this one*/
22
	int		clear;	/* layer is fully visible */
23
	Memimage	*save;	/* save area for obscured parts */
24
	Refreshfn	refreshfn;		/* function to call to refresh obscured parts if save==nil */
25
	void		*refreshptr;	/* argument to refreshfn */
26
};
27
 
28
/*
29
 * These functions accept local coordinates
30
 */
31
int			memload(Memimage*, Rectangle, uchar*, int, int);
32
int			memunload(Memimage*, Rectangle, uchar*, int);
33
 
34
/*
35
 * All these functions accept screen coordinates, not local ones.
36
 */
37
void			_memlayerop(void (*fn)(Memimage*, Rectangle, Rectangle, void*, int), Memimage*, Rectangle, Rectangle, void*);
38
Memimage*	memlalloc(Memscreen*, Rectangle, Refreshfn, void*, ulong);
39
void			memldelete(Memimage*);
40
void			memlfree(Memimage*);
41
void			memltofront(Memimage*);
42
void			memltofrontn(Memimage**, int);
43
void			_memltofrontfill(Memimage*, int);
44
void			memltorear(Memimage*);
45
void			memltorearn(Memimage**, int);
46
int			memlsetrefresh(Memimage*, Refreshfn, void*);
47
void			memlhide(Memimage*, Rectangle);
48
void			memlexpose(Memimage*, Rectangle);
49
void			_memlsetclear(Memscreen*);
50
int			memlorigin(Memimage*, Point, Point);
51
void			memlnorefresh(Memimage*, Rectangle, void*);