@core-graphics/rect
Version:
JS utilities for managing rects
47 lines (38 loc) • 1.13 kB
JavaScript
import { _ as _createForOfIteratorHelper } from '../../dist/createForOfIteratorHelper-20bcc2b4.esm.js';
import { R as Rect } from '../../dist/lite-3fdd983e.esm.js';
import '../../dist/unsupportedIterableToArray-9785118b.esm.js';
import '@core-graphics/point';
import '@core-graphics/size';
/**
* Returns whether a rectangle contains a specified point.
*/
function containsPoint(r, p) {
return r.minX <= p.x && p.x <= r.maxX && r.minY <= p.y && p.y <= r.maxY;
}
/**
* Checks if a rectangle contains another rectangle
*/
function containsRect(rA, v) {
var rB = Rect.cast(v);
var _iterator = _createForOfIteratorHelper(rB.cornerPoints),
_step;
try {
for (_iterator.s(); !(_step = _iterator.n()).done;) {
var point = _step.value;
if (!containsPoint(rA, point)) return false;
}
} catch (err) {
_iterator.e(err);
} finally {
_iterator.f();
}
return true;
}
/**
* Returns whether a Point or Rect is within this Rect
*/
function contains(r, v) {
if (Rect.is(v)) return containsRect(r, v);
return containsPoint(r, v);
}
export { contains, containsPoint, containsRect };