mirror of
https://github.com/The-Powder-Toy/The-Powder-Toy.git
synced 2025-09-01 04:01:56 +02:00
Fix the zoom window producing out of bounds coordinates
Also fixes sim.adjustCoords doing the same.
This commit is contained in:
@@ -1106,7 +1106,7 @@ bool GameModel::MouseInZoom(ui::Point position)
|
|||||||
ui::Point zoomWindowPosition = GetZoomWindowPosition();
|
ui::Point zoomWindowPosition = GetZoomWindowPosition();
|
||||||
ui::Point zoomWindowSize = ui::Point(GetZoomSize()*zoomFactor, GetZoomSize()*zoomFactor);
|
ui::Point zoomWindowSize = ui::Point(GetZoomSize()*zoomFactor, GetZoomSize()*zoomFactor);
|
||||||
|
|
||||||
if (position.X >= zoomWindowPosition.X && position.Y >= zoomWindowPosition.Y && position.X <= zoomWindowPosition.X+zoomWindowSize.X && position.Y <= zoomWindowPosition.Y+zoomWindowSize.Y)
|
if (position.X >= zoomWindowPosition.X && position.Y >= zoomWindowPosition.Y && position.X < zoomWindowPosition.X+zoomWindowSize.X && position.Y < zoomWindowPosition.Y+zoomWindowSize.Y)
|
||||||
return true;
|
return true;
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
@@ -1120,7 +1120,7 @@ ui::Point GameModel::AdjustZoomCoords(ui::Point position)
|
|||||||
ui::Point zoomWindowPosition = GetZoomWindowPosition();
|
ui::Point zoomWindowPosition = GetZoomWindowPosition();
|
||||||
ui::Point zoomWindowSize = ui::Point(GetZoomSize()*zoomFactor, GetZoomSize()*zoomFactor);
|
ui::Point zoomWindowSize = ui::Point(GetZoomSize()*zoomFactor, GetZoomSize()*zoomFactor);
|
||||||
|
|
||||||
if (position.X >= zoomWindowPosition.X && position.Y >= zoomWindowPosition.Y && position.X <= zoomWindowPosition.X+zoomWindowSize.X && position.Y <= zoomWindowPosition.Y+zoomWindowSize.Y)
|
if (position.X >= zoomWindowPosition.X && position.Y >= zoomWindowPosition.Y && position.X < zoomWindowPosition.X+zoomWindowSize.X && position.Y < zoomWindowPosition.Y+zoomWindowSize.Y)
|
||||||
return ((position-zoomWindowPosition)/GetZoomFactor())+GetZoomPosition();
|
return ((position-zoomWindowPosition)/GetZoomFactor())+GetZoomPosition();
|
||||||
return position;
|
return position;
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user