#pragma src "/sys/src/liblayer"#pragma lib "liblayer.a" typedef struct Layer Layer;typedef struct Cover Cover; typedef enum Lvis{ Visible, Obscured, Invisible,}Lvis; struct Layer{ Bitmap; /* Bitmap.cache!=0 ==> layer */ Layer *next; /* next layer from front to back */ Cover *cover; /* layer etc. from which this is derived */ int user; /* a place for the user to stick stuff */ Lvis vis; /* visibility state */}; struct Cover{ Layer *layer; /* layer on which these are painted */ Layer *front; /* first sublayer */ Bitmap *ground; /* background texture */}; extern void layerop(void (*)(Layer*, Rectangle, Layer*, void*), Rectangle, Layer*, void*);extern Layer *lalloc(Cover*, Rectangle);extern void lfree(Layer*);extern void ltofront(Layer*);extern void ltoback(Layer*);extern void lupdate(Layer*, Rectangle, Layer *, void *);extern void lcstring(Bitmap*, int, int, uchar*, uchar*, int); extern void _bitblt(Bitmap*, Point, Bitmap*, Rectangle, Fcode);extern void _linsertback(Layer*);extern void _linsertfront(Layer*);extern void _ldelete(Layer*);extern void _point(Bitmap*, Point, int, Fcode);extern void _polysegment(Bitmap*, int, Point*, int, Fcode);extern Point _string(Bitmap*, Point, Font*, char*, Fcode);extern void _segment(Bitmap*, Point, Point, int, Fcode);extern void _texture(Bitmap*, Rectangle, Bitmap*, Fcode);extern Point _subfontstring(Bitmap*, Point, Subfont*, char*, Fcode, int);extern void _lvis(Layer *);
#pragma src "/sys/src/liblayer"
#pragma lib "liblayer.a"
typedef struct Layer Layer;
typedef struct Cover Cover;
typedef enum Lvis
{
Visible,
Obscured,
Invisible,
}Lvis;
struct Layer
{
Bitmap; /* Bitmap.cache!=0 ==> layer */
Layer *next; /* next layer from front to back */
Cover *cover; /* layer etc. from which this is derived */
int user; /* a place for the user to stick stuff */
Lvis vis; /* visibility state */
};
struct Cover
{
Layer *layer; /* layer on which these are painted */
Layer *front; /* first sublayer */
Bitmap *ground; /* background texture */
};
extern void layerop(void (*)(Layer*, Rectangle, Layer*, void*),
Rectangle, Layer*, void*);
extern Layer *lalloc(Cover*, Rectangle);
extern void lfree(Layer*);
extern void ltofront(Layer*);
extern void ltoback(Layer*);
extern void lupdate(Layer*, Rectangle, Layer *, void *);
extern void lcstring(Bitmap*, int, int, uchar*, uchar*, int);
extern void _bitblt(Bitmap*, Point, Bitmap*, Rectangle, Fcode);
extern void _linsertback(Layer*);
extern void _linsertfront(Layer*);
extern void _ldelete(Layer*);
extern void _point(Bitmap*, Point, int, Fcode);
extern void _polysegment(Bitmap*, int, Point*, int, Fcode);
extern Point _string(Bitmap*, Point, Font*, char*, Fcode);
extern void _segment(Bitmap*, Point, Point, int, Fcode);
extern void _texture(Bitmap*, Rectangle, Bitmap*, Fcode);
extern Point _subfontstring(Bitmap*, Point, Subfont*, char*, Fcode, int);
extern void _lvis(Layer *);