diff options
author | rodri <rgl@antares-labs.eu> | 2020-06-15 11:44:41 +0000 |
---|---|---|
committer | rodri <rgl@antares-labs.eu> | 2020-06-15 11:44:41 +0000 |
commit | 828092cc03ce1668d57981a2c65f762037ffe3c8 (patch) | |
tree | 067434f860cf41ff746c63bb557d519d41a092a2 /canvas.c | |
parent | 35490e9f73c182b844b1a32599aa105562e9f455 (diff) | |
download | puppeteer-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.c | 17 |
1 files changed, 16 insertions, 1 deletions
@@ -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; +} |