Blame


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