if (!m_mapScene->isTileInScene(hashKey)) {
MapTile *mapTile = new MapTile();
- /// @todo SET SCENE LEVEL AUTOMATICALLY WHEN CHANGING ZOOM LEVEL
- mapTile->setZoomLevel(zoom);
- mapTile->setSceneLevel(m_zoomLevel);
+ mapTile->setZoomLevel(zoom, m_zoomLevel);
mapTile->setTileNumber(QPoint(x, y));
mapTile->setPixmap(pixmap);
m_mapScene->debugItemsCount();
m_mapScene->enqueueRemoveStackedTiles(mapTile);
- //m_mapScene->removeStackedTiles(mapTile, viewRect());
}
}
return m_zoomLevel;
}
-void MapTile::setZoomLevel(int zoomLevel)
+void MapTile::setZoomLevel(int tileZoomLevel, int currentViewZoomLevel)
{
- m_zoomLevel = zoomLevel;
+ m_zoomLevel = tileZoomLevel;
setPosition();
- setZValue(static_cast<qreal>(MIN_MAP_SCENE_NORMAL_LEVEL + zoomLevel));
+ setSceneLevel(currentViewZoomLevel);
qreal zoomFactor = static_cast<qreal>(1 << (MAX_MAP_ZOOM_LEVEL - m_zoomLevel));
setScale(zoomFactor);
/**
* @brief Setter for zoom level
*
- * @param zoomLevel Zoom level
+ * Does also set the zValue.
+ *
+ * @param tileZoomLevel Zoom level of the tile
+ * @param currentViewZoomLevel Current view zoom level
*/
- void setZoomLevel(int zoomLevel);
+ void setZoomLevel(int tileZoomLevel, int currentViewZoomLevel);
/**
* @brief Getter for tile number