summaryrefslogtreecommitdiff
path: root/src/game/GameController.cpp
diff options
context:
space:
mode:
authorSimon Robertshaw <simon@hardwired.org.uk>2012-08-29 23:18:42 (GMT)
committer Simon Robertshaw <simon@hardwired.org.uk>2012-08-29 23:18:42 (GMT)
commit6dbcd3cc5980f06496a8f2e0f15245d08b150a60 (patch)
tree30f124739590021b11714bdb161978a00c3fc201 /src/game/GameController.cpp
parent58dc2559aad5abb3ae23f89155a4cdf37e0de885 (diff)
downloadpowder-6dbcd3cc5980f06496a8f2e0f15245d08b150a60.zip
powder-6dbcd3cc5980f06496a8f2e0f15245d08b150a60.tar.gz
Fix cursour falling just out zoom window
Diffstat (limited to 'src/game/GameController.cpp')
-rw-r--r--src/game/GameController.cpp11
1 files changed, 10 insertions, 1 deletions
diff --git a/src/game/GameController.cpp b/src/game/GameController.cpp
index 47c9c0f..2258239 100644
--- a/src/game/GameController.cpp
+++ b/src/game/GameController.cpp
@@ -336,6 +336,15 @@ void GameController::AdjustZoomSize(int direction, bool logarithmic)
ui::Point GameController::PointTranslate(ui::Point point)
{
+ if(point.X >= XRES)
+ point.X = XRES-1;
+ if(point.Y >= YRES)
+ point.Y = YRES+1;
+ if(point.Y < 0)
+ point.Y = 0;
+ if(point.X < 0)
+ point.X = 0;
+
bool zoomEnabled = gameModel->GetZoomEnabled();
if(!zoomEnabled)
return point;
@@ -344,7 +353,7 @@ ui::Point GameController::PointTranslate(ui::Point point)
ui::Point zoomWindowPosition = gameModel->GetZoomWindowPosition();
ui::Point zoomWindowSize = ui::Point(gameModel->GetZoomSize()*zoomFactor, gameModel->GetZoomSize()*zoomFactor);
- if(point.X > zoomWindowPosition.X && point.X > zoomWindowPosition.Y && point.X < zoomWindowPosition.X+zoomWindowSize.X && point.Y < zoomWindowPosition.Y+zoomWindowSize.Y)
+ if(point.X >= zoomWindowPosition.X && point.X >= zoomWindowPosition.Y && point.X <= zoomWindowPosition.X+zoomWindowSize.X && point.Y <= zoomWindowPosition.Y+zoomWindowSize.Y)
return ((point-zoomWindowPosition)/gameModel->GetZoomFactor())+gameModel->GetZoomPosition();
return point;
}