func (gc *GraphicContext) Stroke(paths ...*draw2d.Path) {
	paths = append(paths, gc.Current.Path)
	gc.strokeRasterizer.UseNonZeroWinding = true

	stroker := draw2dbase.NewLineStroker(gc.Current.Cap, gc.Current.Join, draw2dbase.Transformer{Tr: gc.Current.Tr, Flattener: FtLineBuilder{Adder: gc.strokeRasterizer}})
	stroker.HalfLineWidth = gc.Current.LineWidth / 2

	var liner draw2dbase.Flattener
	if gc.Current.Dash != nil && len(gc.Current.Dash) > 0 {
		liner = draw2dbase.NewDashConverter(gc.Current.Dash, gc.Current.DashOffset, stroker)
	} else {
		liner = stroker
	}
	for _, p := range paths {
		draw2dbase.Flatten(p, liner, gc.Current.Tr.GetScale())
	}

	gc.paint(gc.strokeRasterizer, gc.Current.StrokeColor)
}
func (gc *GraphicContext) Stroke(paths ...*draw2d.Path) {
	paths = append(paths, gc.Current.Path)
	gc.strokeRasterizer.UseNonZeroWinding = true

	stroker := draw2dbase.NewLineStroker(gc.Current.Cap, gc.Current.Join, draw2dbase.Transformer{Tr: gc.Current.Tr, Flattener: FtLineBuilder{Adder: gc.strokeRasterizer}})
	stroker.HalfLineWidth = gc.Current.LineWidth / 2

	var liner draw2dbase.Flattener
	if gc.Current.Dash != nil && len(gc.Current.Dash) > 0 {
		liner = draw2dbase.NewDashConverter(gc.Current.Dash, gc.Current.DashOffset, stroker)
	} else {
		liner = stroker
	}
	for _, p := range paths {
		draw2dbase.Flatten(p, liner, gc.Current.Tr.GetScale())
	}

	gc.paint(gc.strokeRasterizer, gc.Current.StrokeColor)
}
func ( gc * GraphicContext ) Stroke ( paths ... * draw2d . Path ) { paths = append ( paths , gc . Current . Path ) gc . strokeRasterizer . UseNonZeroWinding = true stroker := draw2dbase . NewLineStroker ( gc . Current . Cap , gc . Current . Join , draw2dbase . Transformer { Tr : gc . Current . Tr , Flattener : FtLineBuilder { Adder : gc . strokeRasterizer } } ) stroker . HalfLineWidth = gc . Current . LineWidth / 2 var liner draw2dbase . Flattener if gc . Current . Dash != nil && len ( gc . Current . Dash ) > 0 { liner = draw2dbase . NewDashConverter ( gc . Current . Dash , gc . Current . DashOffset , stroker ) } else { liner = stroker } for _ , p := range paths { draw2dbase . Flatten ( p , liner , gc . Current . Tr . GetScale ( ) ) } gc . paint ( gc . strokeRasterizer , gc . Current . StrokeColor ) }
// Stroke strokes the paths with the color specified by SetStrokeColor
Stroke strokes the paths with the color specified by SetStrokeColor