@visactor/vrender-core
Version:
## Description
43 lines (35 loc) • 2.03 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: !0
}), exports.CrossSymbol = exports.crossOffset = exports.cross = void 0;
const base_1 = require("./base");
function cross(ctx, r, x, y, z) {
return ctx.moveTo(-3 * r + x, -r + y, z), ctx.lineTo(-r + x, -r + y, z), ctx.lineTo(-r + x, -3 * r + y, z),
ctx.lineTo(r + x, -3 * r + y, z), ctx.lineTo(r + x, -r + y, z), ctx.lineTo(3 * r + x, -r + y, z),
ctx.lineTo(3 * r + x, r + y, z), ctx.lineTo(r + x, r + y, z), ctx.lineTo(r + x, 3 * r + y, z),
ctx.lineTo(-r + x, 3 * r + y, z), ctx.lineTo(-r + x, r + y, z), ctx.lineTo(-3 * r + x, r + y, z),
ctx.closePath(), !0;
}
function crossOffset(ctx, r, x, y, offset, z) {
return ctx.moveTo(-3 * r + x - offset, -r + y - offset, z), ctx.lineTo(-r + x - offset, -r + y - offset, z),
ctx.lineTo(-r + x - offset, -3 * r + y - offset, z), ctx.lineTo(r + x + offset, -3 * r + y - offset, z),
ctx.lineTo(r + x + offset, -r + y - offset, z), ctx.lineTo(3 * r + x + offset, -r + y - offset, z),
ctx.lineTo(3 * r + x + offset, r + y + offset, z), ctx.lineTo(r + x + offset, r + y + offset, z),
ctx.lineTo(r + x + offset, 3 * r + y + offset, z), ctx.lineTo(-r + x - offset, 3 * r + y + offset, z),
ctx.lineTo(-r + x - offset, r + y + offset, z), ctx.lineTo(-3 * r + x - offset, r + y + offset, z),
ctx.closePath(), !0;
}
exports.cross = cross, exports.crossOffset = crossOffset;
class CrossSymbol extends base_1.BaseSymbol {
constructor() {
super(...arguments), this.type = "cross", this.pathStr = "M-0.5,-0.2L-0.5,0.2L-0.2,0.2L-0.2,0.5L0.2,0.5L0.2,0.2L0.5,0.2L0.5,-0.2L0.2,-0.2L0.2,-0.5L-0.2,-0.5L-0.2,-0.2Z";
}
draw(ctx, size, x, y, z) {
return cross(ctx, this.parseSize(size) / 6, x, y, z);
}
drawOffset(ctx, size, x, y, offset, z) {
return crossOffset(ctx, this.parseSize(size) / 6, x, y, offset, z);
}
}
exports.CrossSymbol = CrossSymbol, exports.default = new CrossSymbol;
//# sourceMappingURL=cross.js.map