tmemlayer.h - plan9port - [fork] Plan 9 from user space | |
git clone git://src.adamsgaard.dk/plan9port | |
Log | |
Files | |
Refs | |
README | |
LICENSE | |
--- | |
tmemlayer.h (1922B) | |
--- | |
1 #ifndef _MEMLAYER_H_ | |
2 #define _MEMLAYER_H_ 1 | |
3 #if defined(__cplusplus) | |
4 extern "C" { | |
5 #endif | |
6 | |
7 typedef struct Memscreen Memscreen; | |
8 typedef void (*Refreshfn)(Memimage*, Rectangle, void*); | |
9 | |
10 struct Memscreen | |
11 { | |
12 Memimage *frontmost; /* frontmost layer on screen … | |
13 Memimage *rearmost; /* rearmost layer on screen */ | |
14 Memimage *image; /* upon which all layers … | |
15 Memimage *fill; /* if non-zero, pi… | |
16 }; | |
17 | |
18 struct Memlayer | |
19 { | |
20 Rectangle screenr; /* true position of lay… | |
21 Point delta; /* add delta to go fr… | |
22 Memscreen *screen; /* screen this layer belongs to… | |
23 Memimage *front; /* window in front of this one */ | |
24 Memimage *rear; /* window behind this one*/ | |
25 int clear; /* layer is fully visible */ | |
26 Memimage *save; /* save area for obscured parts */ | |
27 Refreshfn refreshfn; /* function to call t… | |
28 void *refreshptr; /* argument to refreshfn… | |
29 }; | |
30 | |
31 /* | |
32 * These functions accept local coordinates | |
33 */ | |
34 int memload(Memimage*, Rectangle, uchar*, int, in… | |
35 int memunload(Memimage*, Rectangle, uchar*, int); | |
36 | |
37 /* | |
38 * All these functions accept screen coordinates, not local ones. | |
39 */ | |
40 void _memlayerop(void (*fn)(Memimage*, Rectangle,… | |
41 Memimage* memlalloc(Memscreen*, Rectangle, Refreshfn, void*, u32i… | |
42 void memldelete(Memimage*); | |
43 void memlfree(Memimage*); | |
44 void memltofront(Memimage*); | |
45 void memltofrontn(Memimage**, int); | |
46 void _memltofrontfill(Memimage*, int); | |
47 void memltorear(Memimage*); | |
48 void memltorearn(Memimage**, int); | |
49 int memlsetrefresh(Memimage*, Refreshfn, void*); | |
50 void memlhide(Memimage*, Rectangle); | |
51 void memlexpose(Memimage*, Rectangle); | |
52 void _memlsetclear(Memscreen*); | |
53 int memlorigin(Memimage*, Point, Point); | |
54 void memlnorefresh(Memimage*, Rectangle, void*); | |
55 | |
56 | |
57 #if defined(__cplusplus) | |
58 } | |
59 #endif | |
60 #endif |