File:  [Research Unix] / researchv9 / jerq / src / lib / layer / layer.h
Revision 1.1.1.1 (vendor branch): download - view: text, annotated - select for diffs
Tue Apr 24 17:21:59 2018 UTC (8 years, 1 month ago) by root
Branches: belllabs, MAIN
CVS tags: researchv9-SUN3_old, researchv9-SUN3, HEAD
researchv9-SUN3(old)

#ifndef LAYER_H
#define	LAYER_H	LAYER_H
typedef struct Layer{
	/* The first part looks like (is) a Bitmap */
	Word *base;
	unsigned width;
	Rectangle rect;	/* bounding box of layer */
/* The next fields give us compatability with Rob's layers, and with
   bitmaps, and let us perform efficiency hacks.  They can safely be
   set to true, false with no chance of error.  Note that
   nonevis ==> someobs; all we really care is to find out one of
   three states: all visible (in which case the following word should
   be identically zero), all obscured (so that we can skip layerop),
   and partially obscured and partially visible. */
	short someobs, nonevis;
	struct Layer *front;	/* adjacent layer in front */
	struct Layer *back;	/* adjacent layer behind */
	Bitmap *obs;		/* Storage for obscured bits */
}Layer;

typedef Layer Obscured;

Rectangle rsubp();
Layer *newlayer();
#ifndef	MUX
extern Layer *lfront, *lback;
#endif
#endif

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.