From 6dbcd3cc5980f06496a8f2e0f15245d08b150a60 Mon Sep 17 00:00:00 2001 From: Simon Robertshaw Date: Thu, 30 Aug 2012 00:18:42 +0100 Subject: [PATCH] Fix cursour falling just out zoom window --- src/game/GameController.cpp | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/src/game/GameController.cpp b/src/game/GameController.cpp index 47c9c0f55..225823946 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; }