project/node_modules/zrender/lib/graphic/shape/Ellipse.js

40 lines
1.2 KiB
JavaScript

import { __extends } from "tslib";
import Path from '../Path.js';
var EllipseShape = (function () {
function EllipseShape() {
this.cx = 0;
this.cy = 0;
this.rx = 0;
this.ry = 0;
}
return EllipseShape;
}());
export { EllipseShape };
var Ellipse = (function (_super) {
__extends(Ellipse, _super);
function Ellipse(opts) {
return _super.call(this, opts) || this;
}
Ellipse.prototype.getDefaultShape = function () {
return new EllipseShape();
};
Ellipse.prototype.buildPath = function (ctx, shape) {
var k = 0.5522848;
var x = shape.cx;
var y = shape.cy;
var a = shape.rx;
var b = shape.ry;
var ox = a * k;
var oy = b * k;
ctx.moveTo(x - a, y);
ctx.bezierCurveTo(x - a, y - oy, x - ox, y - b, x, y - b);
ctx.bezierCurveTo(x + ox, y - b, x + a, y - oy, x + a, y);
ctx.bezierCurveTo(x + a, y + oy, x + ox, y + b, x, y + b);
ctx.bezierCurveTo(x - ox, y + b, x - a, y + oy, x - a, y);
ctx.closePath();
};
return Ellipse;
}(Path));
Ellipse.prototype.type = 'ellipse';
export default Ellipse;