xref: /plan9-contrib/sys/src/libdraw/line.c (revision ac57dd0bdfb9d49ce3ebb32937bb07f2cec3da6c)
17dd7cddfSDavid du Colombier #include <u.h>
27dd7cddfSDavid du Colombier #include <libc.h>
37dd7cddfSDavid du Colombier #include <draw.h>
47dd7cddfSDavid du Colombier 
57dd7cddfSDavid du Colombier void
line(Image * dst,Point p0,Point p1,int end0,int end1,int radius,Image * src,Point sp)67dd7cddfSDavid du Colombier line(Image *dst, Point p0, Point p1, int end0, int end1, int radius, Image *src, Point sp)
77dd7cddfSDavid du Colombier {
8*ac57dd0bSDavid du Colombier 	lineop(dst, p0, p1, end0, end1, radius, src, sp, SoverD);
9*ac57dd0bSDavid du Colombier }
10*ac57dd0bSDavid du Colombier 
11*ac57dd0bSDavid du Colombier void
lineop(Image * dst,Point p0,Point p1,int end0,int end1,int radius,Image * src,Point sp,Drawop op)12*ac57dd0bSDavid du Colombier lineop(Image *dst, Point p0, Point p1, int end0, int end1, int radius, Image *src, Point sp, Drawop op)
13*ac57dd0bSDavid du Colombier {
147dd7cddfSDavid du Colombier 	uchar *a;
157dd7cddfSDavid du Colombier 
16*ac57dd0bSDavid du Colombier 	_setdrawop(dst->display, op);
17*ac57dd0bSDavid du Colombier 
187dd7cddfSDavid du Colombier 	a = bufimage(dst->display, 1+4+2*4+2*4+4+4+4+4+2*4);
197dd7cddfSDavid du Colombier 	if(a == 0){
209a747e4fSDavid du Colombier 		fprint(2, "image line: %r\n");
217dd7cddfSDavid du Colombier 		return;
227dd7cddfSDavid du Colombier 	}
237dd7cddfSDavid du Colombier 	a[0] = 'L';
247dd7cddfSDavid du Colombier 	BPLONG(a+1, dst->id);
257dd7cddfSDavid du Colombier 	BPLONG(a+5, p0.x);
267dd7cddfSDavid du Colombier 	BPLONG(a+9, p0.y);
277dd7cddfSDavid du Colombier 	BPLONG(a+13, p1.x);
287dd7cddfSDavid du Colombier 	BPLONG(a+17, p1.y);
297dd7cddfSDavid du Colombier 	BPLONG(a+21, end0);
307dd7cddfSDavid du Colombier 	BPLONG(a+25, end1);
317dd7cddfSDavid du Colombier 	BPLONG(a+29, radius);
327dd7cddfSDavid du Colombier 	BPLONG(a+33, src->id);
337dd7cddfSDavid du Colombier 	BPLONG(a+37, sp.x);
347dd7cddfSDavid du Colombier 	BPLONG(a+41, sp.y);
357dd7cddfSDavid du Colombier }
36