in src/engine/tools2d/ToolRect.js [77:106]
getEditPoint(vScr, store) {
const numRects = this.m_rects.length;
for (let i = 0; i < numRects; i++) {
const objRect = this.m_rects[i];
const vScrMin = ToolDistance.textureToScreen(objRect.vMin.x, objRect.vMin.y, this.m_wScreen, this.m_hScreen, store);
const vScrMax = ToolDistance.textureToScreen(objRect.vMax.x, objRect.vMax.y, this.m_wScreen, this.m_hScreen, store);
// Check if the point is inside or on the border of the rectangle
if (
(vScrMin.x < vScrMax.x && vScrMin.x <= vScr.x && vScr.x <= vScrMax.x && vScrMin.y <= vScr.y && vScr.y <= vScrMax.y) ||
(vScrMin.x < vScrMax.x &&
vScrMin.y > vScrMax.y &&
vScrMin.x <= vScr.x &&
vScr.x <= vScrMax.x &&
vScrMin.y >= vScr.y &&
vScr.y >= vScrMax.y) ||
(vScrMin.x > vScrMax.x && vScrMin.x >= vScr.x && vScr.x >= vScrMax.x && vScrMin.y <= vScr.y && vScr.y <= vScrMax.y) ||
(vScrMin.x > vScrMax.x &&
vScrMin.y > vScrMax.y &&
vScrMin.x >= vScr.x &&
vScr.x >= vScrMax.x &&
vScrMin.y >= vScr.y &&
vScr.y >= vScrMax.y)
) {
this.m_objEdit = objRect;
return objRect.vMin;
}
}
return null;
}