9fans.net/go@v0.0.5/draw/memdraw/poly.go (about) 1 // #include <u.h> 2 // #include <libc.h> 3 // #include <draw.h> 4 // #include <memdraw.h> 5 6 package memdraw 7 8 import "9fans.net/go/draw" 9 10 func Poly(dst *Image, vert []draw.Point, end0, end1 draw.End, radius int, src *Image, sp draw.Point, op draw.Op) { 11 nvert := len(vert) 12 if nvert < 2 { 13 return 14 } 15 d := sp.Sub(vert[0]) 16 for i := 1; i < nvert; i++ { 17 e1 := draw.EndDisc 18 e0 := e1 19 if i == 1 { 20 e0 = end0 21 } 22 if i == nvert-1 { 23 e1 = end1 24 } 25 Line(dst, vert[i-1], vert[i], e0, e1, radius, src, d.Add(vert[i-1]), op) 26 } 27 }