Files
lan-manager/web/node_modules/@antv/g-canvas/esm/util/util.js
openclaw 0a5f6a8047 Initial commit: Lan-manager project code
- Go backend (server/)
- Frontend (web/, server/static/)
- Database and deployment files
- Scripts and docs

Co-Authored-By: 狸花猫/Claude-Qwen3.6-Plus 🐾
2026-04-20 00:52:58 +08:00

52 lines
1.7 KiB
JavaScript

export function getPixelRatio() {
return window ? window.devicePixelRatio : 1;
}
/**
* 两点之间的距离
* @param {number} x1 起始点 x
* @param {number} y1 起始点 y
* @param {number} x2 结束点 x
* @param {number} y2 结束点 y
*/
export function distance(x1, y1, x2, y2) {
var dx = x1 - x2;
var dy = y1 - y2;
return Math.sqrt(dx * dx + dy * dy);
}
/**
* 是否在包围盒内
* @param {number} minX 包围盒开始的点 x
* @param {number} minY 包围盒开始的点 y
* @param {number} width 宽度
* @param {number} height 高度
* @param {[type]} x 检测点的 x
* @param {[type]} y 监测点的 y
*/
export function inBox(minX, minY, width, height, x, y) {
return x >= minX && x <= minX + width && y >= minY && y <= minY + height;
}
export function intersectRect(box1, box2) {
return !(box2.minX > box1.maxX || box2.maxX < box1.minX || box2.minY > box1.maxY || box2.maxY < box1.minY);
}
// 合并两个区域
export function mergeRegion(region1, region2) {
if (!region1 || !region2) {
return region1 || region2;
}
return {
minX: Math.min(region1.minX, region2.minX),
minY: Math.min(region1.minY, region2.minY),
maxX: Math.max(region1.maxX, region2.maxX),
maxY: Math.max(region1.maxY, region2.maxY),
};
}
/**
* 判断两个点是否重合,点坐标的格式为 [x, y]
* @param {Array} point1 第一个点
* @param {Array} point2 第二个点
*/
export function isSamePoint(point1, point2) {
return point1[0] === point2[0] && point1[1] === point2[1];
}
export { isNil, isString, isFunction, isArray, each, toRadian, mod, isNumberEqual, requestAnimationFrame, clearAnimationFrame, } from '@antv/util';
//# sourceMappingURL=util.js.map