6 loadimage(Image *i, Rectangle r, uchar *data, int ndata)
13 chunk = i->display->bufsize - 64;
15 if(!rectinrect(r, i->r)){
16 werrstr("loadimage: bad rectangle");
19 bpl = bytesperline(r, i->depth);
22 werrstr("loadimage: insufficient data");
26 while(r.max.y > r.min.y){
27 dy = r.max.y - r.min.y;
31 werrstr("loadimage: image too wide for buffer");
35 a = bufimage(i->display, 21+n);
37 werrstr("bufimage failed");
44 BPLONG(a+13, r.max.x);
45 BPLONG(a+17, r.min.y+dy);
46 memmove(a+21, data, n);
51 if(flushimage(i->display, 0) < 0)