diff options
-rw-r--r-- | src/tilehighlight_type.h | 2 | ||||
-rw-r--r-- | src/viewport.cpp | 11 | ||||
-rw-r--r-- | src/window.cpp | 5 |
3 files changed, 14 insertions, 4 deletions
diff --git a/src/tilehighlight_type.h b/src/tilehighlight_type.h index 0e9ce8bc6..a37b97d97 100644 --- a/src/tilehighlight_type.h +++ b/src/tilehighlight_type.h @@ -74,6 +74,8 @@ struct TileHighlightData { ViewportPlaceMethod select_method; ///< The method which governs how tiles are selected. ViewportDragDropSelectionProcess select_proc; ///< The procedure that has to be called when the selection is done. + void Reset(); + bool IsDraggingDiagonal(); Window *GetCallbackWnd(); }; diff --git a/src/viewport.cpp b/src/viewport.cpp index e5e398eb8..f5848a1b9 100644 --- a/src/viewport.cpp +++ b/src/viewport.cpp @@ -2008,6 +2008,17 @@ static HighLightStyle GetAutorailHT(int x, int y) } /** + * Reset tile highlighting. + */ +void TileHighlightData::Reset() +{ + this->pos.x = 0; + this->pos.y = 0; + this->new_pos.x = 0; + this->new_pos.y = 0; +} + +/** * Is the user dragging a 'diagonal rectangle'? * @return User is dragging a rotated rectangle. */ diff --git a/src/window.cpp b/src/window.cpp index 3e601d212..4dca8403a 100644 --- a/src/window.cpp +++ b/src/window.cpp @@ -1366,10 +1366,7 @@ void ResetWindowSystem() { UnInitWindowSystem(); InitWindowSystem(); - _thd.pos.x = 0; - _thd.pos.y = 0; - _thd.new_pos.x = 0; - _thd.new_pos.y = 0; + _thd.Reset(); } static void DecreaseWindowCounters() |