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  }