}
// schedule removal of the next tile if the list is not empty
- if (!m_removeStackedTilesList.isEmpty()) {
+ if (!m_removeStackedTilesList.isEmpty())
QTimer::singleShot(0, this, SLOT(runNextStackedTilesRemoval()));
- }
- else {
+ else
m_isRemoveStackedTilesRunning = false;
- qDebug() << __PRETTY_FUNCTION__ << "Stacked tiles removal queue processing finished,"
- << "items count:" << items().count();
- }
}
void MapScene::removeOutOfViewTiles()
QList<QGraphicsItem *> viewTiles = items(m_viewRect, Qt::IntersectsItemBoundingRect);
QList<QGraphicsItem *> allTiles = items();
- qDebug() << __PRETTY_FUNCTION__ << "All tiles:" << allTiles.count();
- qDebug() << __PRETTY_FUNCTION__ << "Tiles in view area:" << viewTiles.count();
-
//Remove tiles which are in view from allTiles
foreach (QGraphicsItem *tile, viewTiles)
allTiles.removeOne(tile);
-
//Remove tiles out of view
foreach (QGraphicsItem *tile, allTiles) {
MapTile *tileToRemove = dynamic_cast<MapTile *>(tile);
if (tileToRemove)
removeTile(tileToRemove);
}
-
- qDebug() << __PRETTY_FUNCTION__ << "finished, items count:" << items().count();
}
void MapScene::removeStackedTiles(MapTile *newTile)
{
qDebug() << __PRETTY_FUNCTION__;
- if (tile) {
- m_mapTilesInScene.remove(MapEngine::tilePath(tile->zoomLevel(),
- tile->tileNumber().x(),
- tile->tileNumber().y()));
- removeItem(tile);
- m_removeStackedTilesList.removeAll(tile);
- delete tile;
- }
+ m_mapTilesInScene.remove(MapEngine::tilePath(tile->zoomLevel(),
+ tile->tileNumber().x(),
+ tile->tileNumber().y()));
+ removeItem(tile);
+ m_removeStackedTilesList.removeAll(tile);
+ delete tile;
}
void MapScene::setTilesDrawingLevels(int zoomLevel)
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)) {
+ 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))
setPos(MapEngine::convertTileNumberToSceneCoordinate(m_zoomLevel, m_tileNumber));
- qDebug() << __PRETTY_FUNCTION__ << "tile position:" << pos();
- }
- else {
+ else
setPos(UNDEFINED, UNDEFINED);
- }
}
{
qDebug() << __PRETTY_FUNCTION__;
- m_zoomAnimation->stop();
- m_zoomAnimation->setDuration(ZOOM_TIME);
- m_zoomAnimation->setStartValue(viewScale());
- m_zoomAnimation->setEndValue(pow(2, zoomLevel - MAX_MAP_ZOOM_LEVEL));
-
- m_zoomAnimation->start();
-}
-
-qreal MapView::currentScale()
-{
- qDebug() << __PRETTY_FUNCTION__;
-
- QTransform currentTransform = transform();
- return currentTransform.m11();
+ if (m_zoomAnimation) {
+ m_zoomAnimation->stop();
+ m_zoomAnimation->setDuration(ZOOM_TIME);
+ m_zoomAnimation->setStartValue(viewScale());
+ m_zoomAnimation->setEndValue(pow(2, zoomLevel - MAX_MAP_ZOOM_LEVEL));
+
+ m_zoomAnimation->start();
+ }
}
qreal MapView::viewScale()
{
qDebug() << __PRETTY_FUNCTION__;
- QTransform currentTransform = transform();
- return currentTransform.m11();
+ return transform().m11();
}
void MapView::setViewScale(qreal viewScale)