square.js 1.1 KB

1234567891011121314151617181920212223
  1. import { __assign } from "tslib";
  2. import { registerShape } from '@antv/g2';
  3. registerShape('polygon', 'square', {
  4. draw: function (cfg, group) {
  5. var _a, _b;
  6. var cx = cfg.x;
  7. var cy = cfg.y;
  8. var points = this.parsePoints(cfg.points);
  9. var width = Math.abs(points[2].x - points[1].x);
  10. var height = Math.abs(points[1].y - points[0].y);
  11. var maxSideLength = Math.min(width, height);
  12. var value = Number(cfg.shape[1]);
  13. var sizeRatio = Number(cfg.shape[2]);
  14. var lenRatio = Math.sqrt(sizeRatio);
  15. var sideLength = maxSideLength * lenRatio * Math.sqrt(value);
  16. var fill = ((_a = cfg.style) === null || _a === void 0 ? void 0 : _a.fill) || cfg.color || ((_b = cfg.defaultStyle) === null || _b === void 0 ? void 0 : _b.fill);
  17. var polygon = group.addShape('rect', {
  18. attrs: __assign(__assign(__assign({ x: cx - sideLength / 2, y: cy - sideLength / 2, width: sideLength, height: sideLength }, cfg.defaultStyle), cfg.style), { fill: fill }),
  19. });
  20. return polygon;
  21. },
  22. });
  23. //# sourceMappingURL=square.js.map