func (p *Path) CubicCurveTo(cx1, cy1, cx2, cy2, x, y float64) {
	if len(p.Components) == 0 { //special case when no move has been done
		p.MoveTo(x, y)
	} else {
		p.appendToPath(CubicCurveToCmp, cx1, cy1, cx2, cy2, x, y)
	}
	p.x = x
	p.y = y
}
func (p *Path) CubicCurveTo(cx1, cy1, cx2, cy2, x, y float64) {
	if len(p.Components) == 0 { 
		p.MoveTo(x, y)
	} else {
		p.appendToPath(CubicCurveToCmp, cx1, cy1, cx2, cy2, x, y)
	}
	p.x = x
	p.y = y
}
func ( p * Path ) CubicCurveTo ( cx1 , cy1 , cx2 , cy2 , x , y float64 ) { if len ( p . Components ) == 0 { //special case when no move has been done p . MoveTo ( x , y ) } else { p . appendToPath ( CubicCurveToCmp , cx1 , cy1 , cx2 , cy2 , x , y ) } p . x = x p . y = y }
// CubicCurveTo adds a cubic bezier curve to the current path
CubicCurveTo adds a cubic bezier curve to the current path