|
|
1.1 root 1: #ifndef LAYER_H
2: #define LAYER_H LAYER_H
3: typedef struct Layer{
4: /* The first part looks like (is) a Bitmap */
5: Word *base;
6: unsigned width;
7: Rectangle rect; /* bounding box of layer */
8: /* The next fields give us compatability with Rob's layers, and with
9: bitmaps, and let us perform efficiency hacks. They can safely be
10: set to true, false with no chance of error. Note that
11: nonevis ==> someobs; all we really care is to find out one of
12: three states: all visible (in which case the following word should
13: be identically zero), all obscured (so that we can skip layerop),
14: and partially obscured and partially visible. */
15: short someobs, nonevis;
16: struct Layer *front; /* adjacent layer in front */
17: struct Layer *back; /* adjacent layer behind */
18: Bitmap *obs; /* Storage for obscured bits */
19: }Layer;
20:
21: typedef Layer Obscured;
22:
23: Rectangle rsubp();
24: Layer *newlayer();
25: #ifndef MUX
26: extern Layer *lfront, *lback;
27: #endif
28: #endif
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.