@visactor/vrender-core
Version:
```typescript import { xxx } from '@visactor/vrender-core'; ```
27 lines (22 loc) • 866 B
JavaScript
import { tau } from "@visactor/vutils";
import { BaseSymbol } from "./base";
export function circle(ctx, r, x, y, z) {
return z ? ctx.arc(x, y, r, 0, tau, !1, z) : ctx.arc(x, y, r, 0, tau), !1;
}
export class CircleSymbol extends 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`;
}
}
export default new CircleSymbol;
//# sourceMappingURL=circle.js.map