| import { __extends } from "tslib"; | 
| import Path from '../Path.js'; | 
| var PI = Math.PI; | 
| var cos = Math.cos; | 
| var sin = Math.sin; | 
| var StarShape = (function () { | 
|     function StarShape() { | 
|         this.cx = 0; | 
|         this.cy = 0; | 
|         this.n = 3; | 
|         this.r = 0; | 
|     } | 
|     return StarShape; | 
| }()); | 
| export { StarShape }; | 
| var Star = (function (_super) { | 
|     __extends(Star, _super); | 
|     function Star(opts) { | 
|         return _super.call(this, opts) || this; | 
|     } | 
|     Star.prototype.getDefaultShape = function () { | 
|         return new StarShape(); | 
|     }; | 
|     Star.prototype.buildPath = function (ctx, shape) { | 
|         var n = shape.n; | 
|         if (!n || n < 2) { | 
|             return; | 
|         } | 
|         var x = shape.cx; | 
|         var y = shape.cy; | 
|         var r = shape.r; | 
|         var r0 = shape.r0; | 
|         if (r0 == null) { | 
|             r0 = n > 4 | 
|                 ? r * cos(2 * PI / n) / cos(PI / n) | 
|                 : r / 3; | 
|         } | 
|         var dStep = PI / n; | 
|         var deg = -PI / 2; | 
|         var xStart = x + r * cos(deg); | 
|         var yStart = y + r * sin(deg); | 
|         deg += dStep; | 
|         ctx.moveTo(xStart, yStart); | 
|         for (var i = 0, end = n * 2 - 1, ri = void 0; i < end; i++) { | 
|             ri = i % 2 === 0 ? r0 : r; | 
|             ctx.lineTo(x + ri * cos(deg), y + ri * sin(deg)); | 
|             deg += dStep; | 
|         } | 
|         ctx.closePath(); | 
|     }; | 
|     return Star; | 
| }(Path)); | 
| Star.prototype.type = 'star'; | 
| export default Star; |