in packages/shared/src/coordinate.ts [170:201]
export function calcQuadrantOfPointToRect(point: IPoint, rect: IRect) {
const isInner = isPointInRect(point, rect)
if (point.x <= rect.x + rect.width / 2) {
if (point.y <= rect.y + rect.height / 2) {
if (isInner) {
return RectQuadrant.Inner1
} else {
return RectQuadrant.Outer1
}
} else {
if (isInner) {
return RectQuadrant.Inner4
} else {
return RectQuadrant.Outer4
}
}
} else {
if (point.y <= rect.y + rect.height / 2) {
if (isInner) {
return RectQuadrant.Inner2
} else {
return RectQuadrant.Outer2
}
} else {
if (isInner) {
return RectQuadrant.Inner3
} else {
return RectQuadrant.Outer3
}
}
}
}