UNPKG

@core-graphics/rect

Version:
59 lines (47 loc) 1.15 kB
'use strict'; Object.defineProperty(exports, '__esModule', { value: true }); 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"; } } exports.getClosestSideToPoint = getClosestSideToPoint; exports.getClosestSideToRect = getClosestSideToRect; exports.getOppositeSide = getOppositeSide;