@core-graphics/rect
Version:
JS utilities for managing rects
53 lines (42 loc) • 1.38 kB
JavaScript
;
Object.defineProperty(exports, '__esModule', { value: true });
var createForOfIteratorHelper = require('../../dist/createForOfIteratorHelper-af5b9acb.cjs.dev.js');
var lite_dist_coreGraphicsRectLite = require('../../dist/lite-6b05303c.cjs.dev.js');
require('../../dist/unsupportedIterableToArray-7cc9ff15.cjs.dev.js');
require('@core-graphics/point');
require('@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 = lite_dist_coreGraphicsRectLite.Rect.cast(v);
var _iterator = createForOfIteratorHelper._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 (lite_dist_coreGraphicsRectLite.Rect.is(v)) return containsRect(r, v);
return containsPoint(r, v);
}
exports.contains = contains;
exports.containsPoint = containsPoint;
exports.containsRect = containsRect;