react-aim
Version:
Determine the cursor aim for triggering mouse events.
31 lines (24 loc) • 684 B
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = function (point, vs) {
// ray-casting algorithm based on
// http://www.ecse.rpi.edu/Homepages/wrf/Research/Short_Notes/pnpoly.html
var x = point[0],
y = point[1];
var inside = false;
for (var i = 0, j = vs.length - 1; i < vs.length; j = i++) {
var xi = vs[i][0],
yi = vs[i][1];
var xj = vs[j][0],
yj = vs[j][1];
var intersect = yi > y != yj > y && x < (xj - xi) * (y - yi) / (yj - yi) + xi;
if (intersect) inside = !inside;
}
return inside;
};
; /**
* @license MIT
* @url https://github.com/substack/point-in-polygon
*/