@visactor/vrender-core
Version:
## Description
34 lines (27 loc) • 1.07 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: !0
}), exports.CircleSymbol = exports.circle = void 0;
const vutils_1 = require("@visactor/vutils"), base_1 = require("./base");
function circle(ctx, r, x, y, z) {
return z ? ctx.arc(x, y, r, 0, vutils_1.tau, !1, z) : ctx.arc(x, y, r, 0, vutils_1.tau),
!1;
}
exports.circle = circle;
class CircleSymbol extends base_1.BaseSymbol {
constructor() {
super(...arguments), this.type = "circle", this.pathStr = "M0.5,0A0.5,0.5,0,1,1,-0.5,0A0.5,0.5,0,1,1,0.5,0";
}
draw(ctx, size, x, y, z) {
return circle(ctx, this.parseSize(size) / 2, x, y, z);
}
drawOffset(ctx, size, x, y, offset, z) {
return circle(ctx, this.parseSize(size) / 2 + offset, x, y, z);
}
drawToSvgPath(size, x, y, z) {
const r = this.parseSize(size) / 2;
return `M ${x - r}, ${y} a ${r},${r} 0 1,0 ${2 * r},0 a ${r},${r} 0 1,0 -${2 * r},0`;
}
}
exports.CircleSymbol = CircleSymbol, exports.default = new CircleSymbol;
//# sourceMappingURL=circle.js.map