44 lines
1.6 KiB
JavaScript
44 lines
1.6 KiB
JavaScript
"use strict";
|
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
exports.getTargetAnchor = exports.getSourceAnchor = exports.getTargetBBox = exports.getSourceBBox = exports.getPaddingBox = exports.getPointBBox = void 0;
|
|
const x6_common_1 = require("@antv/x6-common");
|
|
const x6_geometry_1 = require("@antv/x6-geometry");
|
|
function getPointBBox(p) {
|
|
return new x6_geometry_1.Rectangle(p.x, p.y, 0, 0);
|
|
}
|
|
exports.getPointBBox = getPointBBox;
|
|
function getPaddingBox(options = {}) {
|
|
const sides = x6_common_1.NumberExt.normalizeSides(options.padding || 20);
|
|
return {
|
|
x: -sides.left,
|
|
y: -sides.top,
|
|
width: sides.left + sides.right,
|
|
height: sides.top + sides.bottom,
|
|
};
|
|
}
|
|
exports.getPaddingBox = getPaddingBox;
|
|
function getSourceBBox(view, options = {}) {
|
|
return view.sourceBBox.clone().moveAndExpand(getPaddingBox(options));
|
|
}
|
|
exports.getSourceBBox = getSourceBBox;
|
|
function getTargetBBox(view, options = {}) {
|
|
return view.targetBBox.clone().moveAndExpand(getPaddingBox(options));
|
|
}
|
|
exports.getTargetBBox = getTargetBBox;
|
|
function getSourceAnchor(view, options = {}) {
|
|
if (view.sourceAnchor) {
|
|
return view.sourceAnchor;
|
|
}
|
|
const bbox = getSourceBBox(view, options);
|
|
return bbox.getCenter();
|
|
}
|
|
exports.getSourceAnchor = getSourceAnchor;
|
|
function getTargetAnchor(view, options = {}) {
|
|
if (view.targetAnchor) {
|
|
return view.targetAnchor;
|
|
}
|
|
const bbox = getTargetBBox(view, options);
|
|
return bbox.getCenter();
|
|
}
|
|
exports.getTargetAnchor = getTargetAnchor;
|
|
//# sourceMappingURL=util.js.map
|