From mboxrd@z Thu Jan 1 00:00:00 1970 From: erik quanstrom Date: Sat, 12 Dec 2009 11:09:54 -0500 To: 9fans@9fans.net Message-ID: <769f60484d9fa178a33b89972ecdf4bd@brasstown.quanstro.net> In-Reply-To: <> References: <> MIME-Version: 1.0 Content-Type: text/plain; charset="US-ASCII" Content-Transfer-Encoding: 7bit Subject: Re: [9fans] radar for plan 9, and two draw funnies. Topicbox-Message-UUID: aec7bac8-ead5-11e9-9d60-3106f5b1d025 i'm sure this could be smaller, but i've got to run. the images are here: /n/sources/contrib/quanstro/drawfunny/images/ ; 8.out <{jpg -t9 /lib/radar/*.jpg} <{gif -t9 /lib/radar/hw.gif} <{gif -t9 /lib/radar/radar.gif}|page #include #include #include #include #include #include enum { CHAN = RGBA32, }; void usage(void) { fprint(2, "usage: composetst...\n"); exits("usage"); } Memimage* newimage(int fd, ulong chan) { Memimage *t, *im; im = readmemimage(fd); if(im == nil) sysfatal("readmemimage: %r"); if(chan != 0){ t = allocmemimage(im->r, chan); if(t == nil) sysfatal("readmemimage: %r"); memfillcolor(t, DTransparent); memdraw(t, im->r, im, ZP, nil, ZP, SoverD); freememimage(im); im = t; } return im; } void main(int argc, char **argv) { int i, fd; Memimage *im, *scr; ARGBEGIN{ default: usage(); }ARGEND if(argc == 0) usage(); memimageinit(); fd = open(argv[0], OREAD); if(fd == -1) sysfatal("open: %r"); scr = newimage(fd, CHAN); for(i = 1; i < argc; i++){ fd = open(argv[i], OREAD); if(fd == -1) sysfatal("open: %r"); im = newimage(fd, 0); memdraw(scr, scr->r, im, ZP, nil, ZP, SoverD); freememimage(im); } writememimage(1, scr); exits(""); }