samples/geometry/geometry.go
func Draw(gc draw2d.GraphicContext, width, height float64) {
	mx, my := width*0.025, height*0.025 // margin
	dx, dy := (width-2*mx)/4, (height-2*my)/3
	w, h := dx-2*mx, dy-2*my
	x0, y := 2*mx, 2*my
	x := x0
	Bubble(gc, x, y, w, h)
	x += dx
	CurveRectangle(gc, x, y, w, h, color.NRGBA{0x80, 0, 0, 0x80}, color.NRGBA{0x80, 0x80, 0xFF, 0xFF})
	x += dx
	Dash(gc, x, y, w, h)
	x += dx
	Arc(gc, x, y, w, h)
	x = x0
	y += dy
	ArcNegative(gc, x, y, w, h)
	x += dx
	CubicCurve(gc, x, y, w, h)
	x += dx
	FillString(gc, x, y, w, h)
	x += dx
	FillStroke(gc, x, y, w, h)
	x = x0
	y += dy
	FillStyle(gc, x, y, w, h)
	x += dx
	PathTransform(gc, x, y, w, h)
	x += dx
	Star(gc, x, y, w, h)
	x += dx
	gopher2.Draw(gc, x, y, w, h/2)
}
func Draw(gc draw2d.GraphicContext, width, height float64) {
	mx, my := width*0.025, height*0.025 // margin
	dx, dy := (width-2*mx)/4, (height-2*my)/3
	w, h := dx-2*mx, dy-2*my
	x0, y := 2*mx, 2*my
	x := x0
	Bubble(gc, x, y, w, h)
	x += dx
	CurveRectangle(gc, x, y, w, h, color.NRGBA{0x80, 0, 0, 0x80}, color.NRGBA{0x80, 0x80, 0xFF, 0xFF})
	x += dx
	Dash(gc, x, y, w, h)
	x += dx
	Arc(gc, x, y, w, h)
	x = x0
	y += dy
	ArcNegative(gc, x, y, w, h)
	x += dx
	CubicCurve(gc, x, y, w, h)
	x += dx
	FillString(gc, x, y, w, h)
	x += dx
	FillStroke(gc, x, y, w, h)
	x = x0
	y += dy
	FillStyle(gc, x, y, w, h)
	x += dx
	PathTransform(gc, x, y, w, h)
	x += dx
	Star(gc, x, y, w, h)
	x += dx
	gopher2.Draw(gc, x, y, w, h/2)
}
// Draw all figures in a nice 4x3 grid.