@antv/x6
Version:
JavaScript diagramming library that uses SVG and HTML for rendering
28 lines • 1.37 kB
JavaScript
Object.defineProperty(exports, "__esModule", { value: true });
exports.bottomRight = exports.bottomLeft = exports.topRight = exports.topLeft = exports.right = exports.left = exports.bottom = exports.top = exports.center = void 0;
const x6_common_1 = require("@antv/x6-common");
exports.center = createBBoxAnchor('center');
exports.top = createBBoxAnchor('topCenter');
exports.bottom = createBBoxAnchor('bottomCenter');
exports.left = createBBoxAnchor('leftMiddle');
exports.right = createBBoxAnchor('rightMiddle');
exports.topLeft = createBBoxAnchor('topLeft');
exports.topRight = createBBoxAnchor('topRight');
exports.bottomLeft = createBBoxAnchor('bottomLeft');
exports.bottomRight = createBBoxAnchor('bottomRight');
function createBBoxAnchor(method) {
return function (view, magnet, ref, options = {}) {
const bbox = options.rotate
? view.getUnrotatedBBoxOfElement(magnet)
: view.getBBoxOfElement(magnet);
const result = bbox[method];
result.x += x6_common_1.NumberExt.normalizePercentage(options.dx, bbox.width);
result.y += x6_common_1.NumberExt.normalizePercentage(options.dy, bbox.height);
const cell = view.cell;
return options.rotate
? result.rotate(-cell.getAngle(), cell.getBBox().getCenter())
: result;
};
}
//# sourceMappingURL=bbox.js.map
;