1 ed7c8e8d 2003-09-30 devnull #include <u.h>
2 ed7c8e8d 2003-09-30 devnull #include <libc.h>
3 ed7c8e8d 2003-09-30 devnull #include <draw.h>
6 ed7c8e8d 2003-09-30 devnull _setdrawop(Display *d, Drawop op)
10 ed7c8e8d 2003-09-30 devnull if(op != SoverD){
11 ed7c8e8d 2003-09-30 devnull a = bufimage(d, 1+1);
12 ed7c8e8d 2003-09-30 devnull if(a == 0)
14 ed7c8e8d 2003-09-30 devnull a[0] = 'O';
15 ed7c8e8d 2003-09-30 devnull a[1] = op;
19 ed7c8e8d 2003-09-30 devnull static void
20 ed7c8e8d 2003-09-30 devnull draw1(Image *dst, Rectangle *r, Image *src, Point *p0, Image *mask, Point *p1, Drawop op)
22 ed7c8e8d 2003-09-30 devnull uchar *a;
24 ed7c8e8d 2003-09-30 devnull _setdrawop(dst->display, op);
26 ed7c8e8d 2003-09-30 devnull a = bufimage(dst->display, 1+4+4+4+4*4+2*4+2*4);
27 ed7c8e8d 2003-09-30 devnull if(a == 0)
29 ed7c8e8d 2003-09-30 devnull if(src == nil)
30 ed7c8e8d 2003-09-30 devnull src = dst->display->black;
31 ed7c8e8d 2003-09-30 devnull if(mask == nil)
32 ed7c8e8d 2003-09-30 devnull mask = dst->display->opaque;
33 ed7c8e8d 2003-09-30 devnull a[0] = 'd';
34 ed7c8e8d 2003-09-30 devnull BPLONG(a+1, dst->id);
35 ed7c8e8d 2003-09-30 devnull BPLONG(a+5, src->id);
36 ed7c8e8d 2003-09-30 devnull BPLONG(a+9, mask->id);
37 ed7c8e8d 2003-09-30 devnull BPLONG(a+13, r->min.x);
38 ed7c8e8d 2003-09-30 devnull BPLONG(a+17, r->min.y);
39 ed7c8e8d 2003-09-30 devnull BPLONG(a+21, r->max.x);
40 ed7c8e8d 2003-09-30 devnull BPLONG(a+25, r->max.y);
41 ed7c8e8d 2003-09-30 devnull BPLONG(a+29, p0->x);
42 ed7c8e8d 2003-09-30 devnull BPLONG(a+33, p0->y);
43 ed7c8e8d 2003-09-30 devnull BPLONG(a+37, p1->x);
44 ed7c8e8d 2003-09-30 devnull BPLONG(a+41, p1->y);
48 ed7c8e8d 2003-09-30 devnull draw(Image *dst, Rectangle r, Image *src, Image *mask, Point p1)
50 ed7c8e8d 2003-09-30 devnull draw1(dst, &r, src, &p1, mask, &p1, SoverD);
54 ed7c8e8d 2003-09-30 devnull drawop(Image *dst, Rectangle r, Image *src, Image *mask, Point p1, Drawop op)
56 ed7c8e8d 2003-09-30 devnull draw1(dst, &r, src, &p1, mask, &p1, op);
60 ed7c8e8d 2003-09-30 devnull gendraw(Image *dst, Rectangle r, Image *src, Point p0, Image *mask, Point p1)
62 ed7c8e8d 2003-09-30 devnull draw1(dst, &r, src, &p0, mask, &p1, SoverD);
66 ed7c8e8d 2003-09-30 devnull gendrawop(Image *dst, Rectangle r, Image *src, Point p0, Image *mask, Point p1, Drawop op)
68 ed7c8e8d 2003-09-30 devnull draw1(dst, &r, src, &p0, mask, &p1, op);