aboutsummaryrefslogtreecommitdiff
path: root/canvas.c
diff options
context:
space:
mode:
authorrodri <rgl@antares-labs.eu>2020-06-15 11:44:41 +0000
committerrodri <rgl@antares-labs.eu>2020-06-15 11:44:41 +0000
commit828092cc03ce1668d57981a2c65f762037ffe3c8 (patch)
tree067434f860cf41ff746c63bb557d519d41a092a2 /canvas.c
parent35490e9f73c182b844b1a32599aa105562e9f455 (diff)
downloadpuppeteer-828092cc03ce1668d57981a2c65f762037ffe3c8.tar.gz
puppeteer-828092cc03ce1668d57981a2c65f762037ffe3c8.tar.bz2
puppeteer-828092cc03ce1668d57981a2c65f762037ffe3c8.zip
move the mmb menu over to rmb. allow for drawing over the current layer.
Diffstat (limited to 'canvas.c')
-rw-r--r--canvas.c17
1 files changed, 16 insertions, 1 deletions
diff --git a/canvas.c b/canvas.c
index d2632bb..36a0aec 100644
--- a/canvas.c
+++ b/canvas.c
@@ -15,7 +15,7 @@ newcanvas(char *name, Point2 p, Rectangle r, ulong chan)
c->bx = Vec2(1,0);
c->by = Vec2(0,1);
c->name = strdup(name);
- c->image = eallocimage(display, r, chan, 0, alphachan(chan)? DTransparent: DNofill);
+ c->image = eallocimage(display, r, chan, 0, alphachan(chan)? DTransparent: DWhite);
memset(&c->layers, 0, sizeof(Layer));
c->layers.next = &c->layers;
c->layers.prev = &c->layers;
@@ -34,3 +34,18 @@ rmcanvas(Canvas *c)
free(c->name);
free(c);
}
+
+Layer*
+addlayer(Canvas *c, char *name)
+{
+ Layer *l;
+
+ l = newlayer(name, c->image->r, c->image->chan);
+ l->prev = c->layers.prev;
+ l->next = &c->layers;
+ c->layers.prev->next = l;
+ c->layers.prev = l;
+ if(c->curlayer == nil)
+ c->curlayer = l;
+ return l;
+}