import smoothBezier from './smoothBezier.js'; 
 | 
export function buildPath(ctx, shape, closePath) { 
 | 
    var smooth = shape.smooth; 
 | 
    var points = shape.points; 
 | 
    if (points && points.length >= 2) { 
 | 
        if (smooth) { 
 | 
            var controlPoints = smoothBezier(points, smooth, closePath, shape.smoothConstraint); 
 | 
            ctx.moveTo(points[0][0], points[0][1]); 
 | 
            var len = points.length; 
 | 
            for (var i = 0; i < (closePath ? len : len - 1); i++) { 
 | 
                var cp1 = controlPoints[i * 2]; 
 | 
                var cp2 = controlPoints[i * 2 + 1]; 
 | 
                var p = points[(i + 1) % len]; 
 | 
                ctx.bezierCurveTo(cp1[0], cp1[1], cp2[0], cp2[1], p[0], p[1]); 
 | 
            } 
 | 
        } 
 | 
        else { 
 | 
            ctx.moveTo(points[0][0], points[0][1]); 
 | 
            for (var i = 1, l = points.length; i < l; i++) { 
 | 
                ctx.lineTo(points[i][0], points[i][1]); 
 | 
            } 
 | 
        } 
 | 
        closePath && ctx.closePath(); 
 | 
    } 
 | 
} 
 |