@antv/g6
Version:
A Graph Visualization Framework in JavaScript
38 lines • 1.39 kB
JavaScript
Object.defineProperty(exports, "__esModule", { value: true });
exports.Star = void 0;
const element_1 = require("../../constants/element");
const element_2 = require("../../utils/element");
const polygon_1 = require("../shapes/polygon");
/**
* <zh/> 五角星节点
*
* <en/> Star node
*/
class Star extends polygon_1.Polygon {
constructor(options) {
super(options);
}
getInnerR(attributes) {
return attributes.innerR || (this.getOuterR(attributes) * 3) / 8;
}
getOuterR(attributes) {
return Math.min(...this.getSize(attributes)) / 2;
}
getPoints(attributes) {
return (0, element_2.getStarPoints)(this.getOuterR(attributes), this.getInnerR(attributes));
}
getIconStyle(attributes) {
const style = super.getIconStyle(attributes);
const size = this.getInnerR(attributes) * 2 * element_1.ICON_SIZE_RATIO;
return style ? Object.assign({ width: size, height: size }, style) : false;
}
getPortXY(attributes, style) {
const { placement = 'top' } = style;
const bbox = this.getShape('key').getLocalBounds();
const ports = (0, element_2.getStarPorts)(this.getOuterR(attributes), this.getInnerR(attributes));
return (0, element_2.getPortXYByPlacement)(bbox, placement, ports, false);
}
}
exports.Star = Star;
//# sourceMappingURL=star.js.map
;