From e3e16e2fb021b61e45b01113cb1654cd7e4911c6 Mon Sep 17 00:00:00 2001 From: rodri Date: Sat, 13 Jun 2020 21:35:02 +0000 Subject: added basic canvas and layer management. --- layer.c | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) (limited to 'layer.c') diff --git a/layer.c b/layer.c index 5673183..d238b99 100644 --- a/layer.c +++ b/layer.c @@ -2,4 +2,30 @@ #include #include #include +#include "dat.h" +#include "fns.h" +Layer* +newlayer(Canvas *c) +{ + Layer *l; + + l = emalloc(sizeof(Layer)); + l->p = Pt2(0,0,1); + l->bx = c->bx; + l->by = c->by; + l->image = eallocimage(display, c->image->r, c->image->chan, 0, DNofill); + l->prev = c->layers.prev; + l->next = &c->layers; + c->layers.prev->next = l; + c->layers.prev = l; +} + +void +rmlayer(Layer *l) +{ + l->prev->next = l->next; + l->next->prev = l->prev; + freeimage(l->image); + free(l); +} -- cgit v1.2.3