UNPKG

@core-graphics/rect

Version:
53 lines (43 loc) 993 B
function getClosestSideToRect(ref, rect) { if (rect.maxX <= ref.minX) return "left"; if (rect.minX >= ref.maxX) return "right"; if (rect.maxY <= ref.minY) return "top"; if (rect.minY >= ref.maxY) return "bottom"; return "left"; } function getClosestSideToPoint(ref, point) { var _point$clone = point.clone(), x = _point$clone.x, y = _point$clone.y; var dl = x - ref.x; var dr = ref.maxX - x; var dt = y - ref.y; var db = ref.maxY - y; var closest = dl; var side = "left"; if (dr < closest) { closest = dr; side = "right"; } if (dt < closest) { closest = dt; side = "top"; } if (db < closest) { side = "bottom"; } return side; } function getOppositeSide(side) { switch (side) { case "left": return "right"; case "right": return "left"; case "top": return "bottom"; case "bottom": return "top"; } } export { getClosestSideToPoint, getClosestSideToRect, getOppositeSide };