Example #1
0
func (c *Canvas) FillRect(pos, dim *vec.Vec) {
	c.BeginPath()
	c.MoveTo(pos.Pts())
	c.LineTo(pos.X+dim.X, pos.Y)
	c.LineTo(pos.X+dim.X, pos.Y+dim.Y)
	c.LineTo(pos.X, pos.Y+dim.Y)
	c.LineTo(pos.Pts())
	c.Fill()
}
Example #2
0
func (g *StarPattern) Star(p, hct *vec.Vec) {
	p1 := p.Translate(0.0, hct.Y)
	g.MoveTo(p.Pts())

	a1 := p1.Translate(-hct.X, hct.Y)
	a2 := a1.Translate(-hct.X, 0.0)
	g.CubicCurveTo(p1.X, p1.Y, a1.X, a1.Y, a2.X, a2.Y)

	b1 := a1.Translate(hct.X, hct.Y)
	b2 := b1.Translate(0.0, hct.Y)
	g.CubicCurveTo(a1.X, a1.Y, b1.X, b1.Y, b2.X, b2.Y)

	c1 := b1.Translate(hct.X, -hct.Y)
	c2 := c1.Translate(hct.X, 0.0)
	g.CubicCurveTo(b1.X, b1.Y, c1.X, c1.Y, c2.X, c2.Y)

	d1 := c1.Translate(-hct.X, -hct.Y)
	d2 := d1.Translate(0.0, -hct.Y)
	g.CubicCurveTo(c1.X, c1.Y, d1.X, d1.Y, d2.X, d2.Y)
}