@visactor/vrender-core
Version:
## Description
32 lines (25 loc) • 1.07 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: !0
}), exports.ThinTriangleSymbol = exports.thinTriangle = void 0;
const vutils_1 = require("@visactor/vutils"), base_1 = require("./base"), sqrt3 = (0,
vutils_1.sqrt)(3);
function thinTriangle(ctx, r, x, y) {
const h = r * sqrt3;
return ctx.moveTo(x, y + -h / 3 * 2), ctx.lineTo(r + x, y + h), ctx.lineTo(x - r, y + h),
ctx.closePath(), !0;
}
exports.thinTriangle = thinTriangle;
class ThinTriangleSymbol extends base_1.BaseSymbol {
constructor() {
super(...arguments), this.type = "thinTriangle", this.pathStr = "M0,-0.5773502691896257L-0.5,0.28867513459481287L0.5,0.28867513459481287Z";
}
draw(ctx, size, x, y) {
return thinTriangle(ctx, this.parseSize(size) / 2 / sqrt3, x, y);
}
drawOffset(ctx, size, x, y, offset) {
return thinTriangle(ctx, this.parseSize(size) / 2 / sqrt3 + offset, x, y);
}
}
exports.ThinTriangleSymbol = ThinTriangleSymbol, exports.default = new ThinTriangleSymbol;
//# sourceMappingURL=thin-triangle.js.map