Changes for setting the zValue of the MapTile
[situare] / src / map / maptile.cpp
index cc68743..c538f5d 100644 (file)
@@ -31,6 +31,7 @@ MapTile::MapTile()
     , m_zoomLevel(UNDEFINED)
 {    
     setPos(UNDEFINED, UNDEFINED);
+    setShapeMode(QGraphicsPixmapItem::BoundingRectShape);
 }
 
 int MapTile::zoomLevel()
@@ -38,12 +39,12 @@ int MapTile::zoomLevel()
     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);
@@ -51,7 +52,6 @@ void MapTile::setZoomLevel(int zoomLevel)
 
 void MapTile::setSceneLevel(int currentZoomLevel)
 {
-    /// @todo DONE Sami: bbb
     if (currentZoomLevel < m_zoomLevel) {
         qreal z = static_cast<qreal>(MIN_MAP_SCENE_NORMAL_LEVEL + currentZoomLevel
                                      - (m_zoomLevel - currentZoomLevel)) + 0.5;
@@ -81,11 +81,11 @@ void MapTile::setPosition()
     const int maxTileNumber = (1 << m_zoomLevel) - 1;
 
     if ((m_zoomLevel >= MIN_MAP_ZOOM_LEVEL) && (m_zoomLevel <= MAX_MAP_ZOOM_LEVEL) &&
-            (m_tileNumber.x() >= 0) && (m_tileNumber.x() <= maxTileNumber) &&
-            (m_tileNumber.y() >= 0) && (m_tileNumber.y() <= maxTileNumber)) {
+        (m_tileNumber.x() >= 0) && (m_tileNumber.x() <= maxTileNumber) &&
+        (m_tileNumber.y() >= 0) && (m_tileNumber.y() <= maxTileNumber)) {
+
         setPos(MapEngine::convertTileNumberToSceneCoordinate(m_zoomLevel, m_tileNumber));
         //qDebug() << __PRETTY_FUNCTION__ << "tile position:" << pos();
-        /// @todo DONE Sami: return
     }
     else {
         setPos(UNDEFINED, UNDEFINED);