From 37da2899f40661e3e9631e497da8dc59b971cbd0 Mon Sep 17 00:00:00 2001 From: "Charles.Forsyth" Date: Fri, 22 Dec 2006 17:07:39 +0000 Subject: 20060303a --- libdraw/line.c | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) create mode 100644 libdraw/line.c (limited to 'libdraw/line.c') diff --git a/libdraw/line.c b/libdraw/line.c new file mode 100644 index 00000000..32a1213d --- /dev/null +++ b/libdraw/line.c @@ -0,0 +1,34 @@ +#include "lib9.h" +#include "draw.h" + +void +line(Image *dst, Point p0, Point p1, int end0, int end1, int radius, Image *src, Point sp) +{ + lineop(dst, p0, p1, end0, end1, radius, src, sp, SoverD); +} + +void +lineop(Image *dst, Point p0, Point p1, int end0, int end1, int radius, Image *src, Point sp, Drawop op) +{ + uchar *a; + + _setdrawop(dst->display, op); + + a = bufimage(dst->display, 1+4+2*4+2*4+4+4+4+4+2*4); + if(a == 0){ + _drawprint(2, "image line: %r\n"); + return; + } + a[0] = 'L'; + BPLONG(a+1, dst->id); + BPLONG(a+5, p0.x); + BPLONG(a+9, p0.y); + BPLONG(a+13, p1.x); + BPLONG(a+17, p1.y); + BPLONG(a+21, end0); + BPLONG(a+25, end1); + BPLONG(a+29, radius); + BPLONG(a+33, src->id); + BPLONG(a+37, sp.x); + BPLONG(a+41, sp.y); +} -- cgit v1.2.3