Added basic zoom functionality
[situare] / src / map / mapengine.cpp
index dbfc315..633b6b2 100644 (file)
@@ -137,8 +137,10 @@ QRect MapEngine::calculateGrid(QPointF sceneCoordinate)
 
 void MapEngine::setLocation(QPointF sceneCoordinate)
 {
+    /// @todo SAVE LOCATION
     emit locationChanged(sceneCoordinate);
 
+    /// @todo REFACTOR, MAKE NEW METHOD FOR MAP TILE LOGIC
     QRect grid = calculateGrid(sceneCoordinate);
     int topLeftX = grid.topLeft().x();
     int topLeftY = grid.topLeft().y();
@@ -172,3 +174,22 @@ void MapEngine::setLocation(QPointF sceneCoordinate)
     }
 }
 
+void MapEngine::zoomIn()
+{
+    if (m_zoomLevel >= MAX_ZOOM_LEVEL)
+        return;
+
+    m_zoomLevel++;
+    emit zoomLevelChanged(m_zoomLevel);
+    /// @todo START FETCHING TILES
+}
+
+void MapEngine::zoomOut()
+{
+    if (m_zoomLevel <= MIN_ZOOM_LEVEL)
+        return;
+
+    m_zoomLevel--;
+    emit zoomLevelChanged(m_zoomLevel);
+    /// @todo START FETCHING TILES
+}