1*8ccd4a63SDavid du Colombier #include <u.h>
2*8ccd4a63SDavid du Colombier #include <libc.h>
3*8ccd4a63SDavid du Colombier #include <draw.h>
4*8ccd4a63SDavid du Colombier #include <memdraw.h>
5*8ccd4a63SDavid du Colombier #include <memlayer.h>
67dd7cddfSDavid du Colombier
77dd7cddfSDavid du Colombier void
mempoly(Memimage * dst,Point * vert,int nvert,int end0,int end1,int radius,Memimage * src,Point sp,int op)8*8ccd4a63SDavid du Colombier mempoly(Memimage *dst, Point *vert, int nvert, int end0, int end1, int radius, Memimage *src, Point sp, int op)
97dd7cddfSDavid du Colombier {
107dd7cddfSDavid du Colombier int i, e0, e1;
117dd7cddfSDavid du Colombier Point d;
127dd7cddfSDavid du Colombier
137dd7cddfSDavid du Colombier if(nvert < 2)
147dd7cddfSDavid du Colombier return;
15*8ccd4a63SDavid du Colombier d = subpt(sp, vert[0]);
167dd7cddfSDavid du Colombier for(i=1; i<nvert; i++){
177dd7cddfSDavid du Colombier e0 = e1 = Enddisc;
187dd7cddfSDavid du Colombier if(i == 1)
197dd7cddfSDavid du Colombier e0 = end0;
207dd7cddfSDavid du Colombier if(i == nvert-1)
217dd7cddfSDavid du Colombier e1 = end1;
22*8ccd4a63SDavid du Colombier memline(dst, vert[i-1], vert[i], e0, e1, radius, src, addpt(d, vert[i-1]), op);
237dd7cddfSDavid du Colombier }
247dd7cddfSDavid du Colombier }
25