diff options
-rw-r--r-- | src/imports/location/qdeclarativecirclemapitem.cpp | 6 | ||||
-rw-r--r-- | src/imports/location/qdeclarativegeomap.cpp | 14 | ||||
-rw-r--r-- | src/imports/location/qdeclarativepolygonmapitem.cpp | 4 | ||||
-rw-r--r-- | src/imports/location/qdeclarativepolylinemapitem.cpp | 4 | ||||
-rw-r--r-- | src/imports/location/qgeomapitemgeometry.cpp | 4 | ||||
-rw-r--r-- | src/imports/location/qquickgeomapgesturearea.cpp | 6 | ||||
-rw-r--r-- | src/location/maps/qgeomap.cpp | 20 | ||||
-rw-r--r-- | src/location/maps/qgeomap_p.h | 11 | ||||
-rw-r--r-- | src/location/maps/qgeomap_p_p.h | 9 | ||||
-rw-r--r-- | src/location/maps/qgeotiledmap.cpp | 14 | ||||
-rw-r--r-- | src/location/maps/qgeotiledmap_p.h | 2 | ||||
-rw-r--r-- | src/location/maps/qgeotiledmap_p_p.h | 2 | ||||
-rw-r--r-- | src/plugins/geoservices/nokia/qgeotiledmap_nokia.cpp | 4 | ||||
-rw-r--r-- | tests/auto/qgeotiledmap/tst_qgeotiledmap.cpp | 2 |
14 files changed, 52 insertions, 50 deletions
diff --git a/src/imports/location/qdeclarativecirclemapitem.cpp b/src/imports/location/qdeclarativecirclemapitem.cpp index f6b3c14f..6890703b 100644 --- a/src/imports/location/qdeclarativecirclemapitem.cpp +++ b/src/imports/location/qdeclarativecirclemapitem.cpp @@ -144,7 +144,7 @@ void QGeoMapCircleGeometry::updateScreenPointsInvert(const QGeoMap &map) if (!screenDirty_) return; - if (map.width() == 0 || map.height() == 0) { + if (map.viewportWidth() == 0 || map.viewportHeight() == 0) { clear(); return; } @@ -176,7 +176,7 @@ void QGeoMapCircleGeometry::updateScreenPointsInvert(const QGeoMap &map) geoDistance += 360.0; double mapWidth = 360.0 / geoDistance; - qreal leftOffset = origin.x() - (map.width()/2.0 - mapWidth/2.0) - firstPointOffset_.x(); + qreal leftOffset = origin.x() - (map.viewportWidth()/2.0 - mapWidth/2.0) - firstPointOffset_.x(); qreal topOffset = origin.y() - (midPoint.y() - mapWidth/2.0) - firstPointOffset_.y(); QPainterPath ppiBorder; ppiBorder.moveTo(QPointF(-leftOffset, -topOffset)); @@ -613,7 +613,7 @@ void QDeclarativeCircleMapItem::updateCirclePathForRendering(QList<QGeoCoordinat if ( geoDistance < 0 ) geoDistance += 360; qreal mapWidth = 360.0 / geoDistance; - mapWidth = qMin(static_cast<int>(mapWidth), map()->width()); + mapWidth = qMin(static_cast<int>(mapWidth), map()->viewportWidth()); QDoubleVector2D prev = map()->coordinateToItemPosition(path.at(0), false); // find the points in path where wrapping occurs for (int i = 1; i <= path.count(); ++i) { diff --git a/src/imports/location/qdeclarativegeomap.cpp b/src/imports/location/qdeclarativegeomap.cpp index 0f54929b..1cdde85c 100644 --- a/src/imports/location/qdeclarativegeomap.cpp +++ b/src/imports/location/qdeclarativegeomap.cpp @@ -306,7 +306,7 @@ void QDeclarativeGeoMap::initialize() // try to keep center change signal in the end bool centerHasChanged = false; - setMinimumZoomLevel(m_map->minimumZoomAtMapSize(width(), height())); + setMinimumZoomLevel(m_map->minimumZoomAtViewportSize(width(), height())); // set latitude bundary check m_maximumViewportLatitude = m_map->maximumCenterLatitudeAtZoom(m_cameraData.zoomLevel()); @@ -559,7 +559,7 @@ void QDeclarativeGeoMap::mappingManagerInitialized() // after this has been called at least once, after creation. if (!m_initialized && width() > 0 && height() > 0) { - m_map->setSize(QSize(width(), height())); + m_map->setViewportSize(QSize(width(), height())); initialize(); } @@ -615,7 +615,7 @@ void QDeclarativeGeoMap::setMinimumZoomLevel(qreal minimumZoomLevel) if (m_map) { minimumZoomLevel = qBound(qreal(m_map->cameraCapabilities().minimumZoomLevel()), minimumZoomLevel, maximumZoomLevel()); - double minimumViewportZoomLevel = m_map->minimumZoomAtMapSize(width(),height()); + double minimumViewportZoomLevel = m_map->minimumZoomAtViewportSize(width(),height()); if (minimumZoomLevel < minimumViewportZoomLevel) minimumZoomLevel = minimumViewportZoomLevel; } @@ -1035,8 +1035,8 @@ void QDeclarativeGeoMap::pan(int dx, int dy) if (dx == 0 && dy == 0) return; QGeoCoordinate coord = m_map->itemPositionToCoordinate( - QDoubleVector2D(m_map->width() / 2 + dx, - m_map->height() / 2 + dy)); + QDoubleVector2D(m_map->viewportWidth() / 2 + dx, + m_map->viewportHeight() / 2 + dy)); setCenter(coord); } @@ -1307,12 +1307,12 @@ void QDeclarativeGeoMap::geometryChanged(const QRectF &newGeometry, const QRectF if (!m_map || !newGeometry.size().isValid()) return; - m_map->setSize(newGeometry.size().toSize()); + m_map->setViewportSize(newGeometry.size().toSize()); if (!m_initialized) initialize(); else - setMinimumZoomLevel(m_map->minimumZoomAtMapSize(newGeometry.width(), newGeometry.height())); + setMinimumZoomLevel(m_map->minimumZoomAtViewportSize(newGeometry.width(), newGeometry.height())); /*! The fitViewportTo*() functions depend on a valid map geometry. diff --git a/src/imports/location/qdeclarativepolygonmapitem.cpp b/src/imports/location/qdeclarativepolygonmapitem.cpp index a42892b7..32dbb206 100644 --- a/src/imports/location/qdeclarativepolygonmapitem.cpp +++ b/src/imports/location/qdeclarativepolygonmapitem.cpp @@ -214,7 +214,7 @@ void QGeoMapPolygonGeometry::updateScreenPoints(const QGeoMap &map) if (!screenDirty_) return; - if (map.width() == 0 || map.height() == 0) { + if (map.viewportWidth() == 0 || map.viewportHeight() == 0) { clear(); return; } @@ -223,7 +223,7 @@ void QGeoMapPolygonGeometry::updateScreenPoints(const QGeoMap &map) // Create the viewport rect in the same coordinate system // as the actual points - QRectF viewport(0, 0, map.width(), map.height()); + QRectF viewport(0, 0, map.viewportWidth(), map.viewportHeight()); viewport.translate(-1 * origin.toPointF()); QPainterPath vpPath; diff --git a/src/imports/location/qdeclarativepolylinemapitem.cpp b/src/imports/location/qdeclarativepolylinemapitem.cpp index c44ef129..2153b036 100644 --- a/src/imports/location/qdeclarativepolylinemapitem.cpp +++ b/src/imports/location/qdeclarativepolylinemapitem.cpp @@ -202,7 +202,7 @@ void QGeoMapPolylineGeometry::updateSourcePoints(const QGeoMap &map, QDoubleVector2D origin, lastAddedPoint; - const double mapWidthHalf = map.width()/2.0; + const double mapWidthHalf = map.viewportWidth()/2.0; double unwrapBelowX = 0; if (preserveGeometry_) unwrapBelowX = map.coordinateToItemPosition(geoLeftBound_, false).x(); @@ -400,7 +400,7 @@ void QGeoMapPolylineGeometry::updateScreenPoints(const QGeoMap &map, // Create the viewport rect in the same coordinate system // as the actual points - QRectF viewport(0, 0, map.width(), map.height()); + QRectF viewport(0, 0, map.viewportWidth(), map.viewportHeight()); viewport.adjust(-strokeWidth, -strokeWidth, strokeWidth, strokeWidth); viewport.translate(-1 * origin); diff --git a/src/imports/location/qgeomapitemgeometry.cpp b/src/imports/location/qgeomapitemgeometry.cpp index c8168f67..a22be0af 100644 --- a/src/imports/location/qgeomapitemgeometry.cpp +++ b/src/imports/location/qgeomapitemgeometry.cpp @@ -125,7 +125,7 @@ double QGeoMapItemGeometry::geoDistanceToScreenWidth(const QGeoMap &map, // Do not wrap around half the globe Q_ASSERT(!qFuzzyCompare(fromCoord.longitude(), toCoord.longitude())); - QGeoCoordinate mapMid = map.itemPositionToCoordinate(QDoubleVector2D(map.width()/2.0, 0)); + QGeoCoordinate mapMid = map.itemPositionToCoordinate(QDoubleVector2D(map.viewportWidth()/2.0, 0)); double halfGeoDist = toCoord.longitude() - fromCoord.longitude(); if (toCoord.longitude() < fromCoord.longitude()) halfGeoDist += 360; @@ -133,7 +133,7 @@ double QGeoMapItemGeometry::geoDistanceToScreenWidth(const QGeoMap &map, QGeoCoordinate geoDelta = QGeoCoordinate(0, QLocationUtils::wrapLong(mapMid.longitude() + halfGeoDist)); QDoubleVector2D halfScreenDist = map.coordinateToItemPosition(geoDelta, false) - - QDoubleVector2D(map.width()/2.0, 0); + - QDoubleVector2D(map.viewportWidth()/2.0, 0); return halfScreenDist.x() * 2.0; } diff --git a/src/imports/location/qquickgeomapgesturearea.cpp b/src/imports/location/qquickgeomapgesturearea.cpp index ccf360aa..0baaf98e 100644 --- a/src/imports/location/qquickgeomapgesturearea.cpp +++ b/src/imports/location/qquickgeomapgesturearea.cpp @@ -702,7 +702,7 @@ void QQuickGeoMapGestureArea::handleWheelEvent(QWheelEvent *event) { qreal dx = postZoomPoint.x() - preZoomPoint.x(); qreal dy = postZoomPoint.y() - preZoomPoint.y(); - QPointF mapCenterPoint(m_map->width() / 2.0 + dx, m_map->height() / 2.0 + dy); + QPointF mapCenterPoint(m_map->viewportWidth() / 2.0 + dx, m_map->viewportHeight() / 2.0 + dy); QGeoCoordinate mapCenterCoordinate = m_map->itemPositionToCoordinate(QDoubleVector2D(mapCenterPoint), false); m_declarativeMap->setCenter(mapCenterCoordinate); @@ -1148,8 +1148,8 @@ void QQuickGeoMapGestureArea::updatePan() int dx = static_cast<int>(m_sceneCenter.x() - startPoint.x()); int dy = static_cast<int>(m_sceneCenter.y() - startPoint.y()); QPointF mapCenterPoint; - mapCenterPoint.setY(m_map->height() / 2.0 - dy); - mapCenterPoint.setX(m_map->width() / 2.0 - dx); + mapCenterPoint.setY(m_map->viewportHeight() / 2.0 - dy); + mapCenterPoint.setX(m_map->viewportWidth() / 2.0 - dx); QGeoCoordinate animationStartCoordinate = m_map->itemPositionToCoordinate(QDoubleVector2D(mapCenterPoint), false); m_declarativeMap->setCenter(animationStartCoordinate); } diff --git a/src/location/maps/qgeomap.cpp b/src/location/maps/qgeomap.cpp index c3b01a3e..0e0a2007 100644 --- a/src/location/maps/qgeomap.cpp +++ b/src/location/maps/qgeomap.cpp @@ -51,31 +51,31 @@ QGeoMap::~QGeoMap() { } -void QGeoMap::setSize(const QSize& size) +void QGeoMap::setViewportSize(const QSize& size) { Q_D(QGeoMap); - if (size == d->m_size) + if (size == d->m_viewportSize) return; - d->m_size = size; - d->changeMapSize(size); + d->m_viewportSize = size; + d->changeViewportSize(size); } -QSize QGeoMap::size() const +QSize QGeoMap::viewportSize() const { Q_D(const QGeoMap); - return d->m_size; + return d->m_viewportSize; } -int QGeoMap::width() const +int QGeoMap::viewportWidth() const { Q_D(const QGeoMap); - return d->m_size.width(); + return d->m_viewportSize.width(); } -int QGeoMap::height() const +int QGeoMap::viewportHeight() const { Q_D(const QGeoMap); - return d->m_size.height(); + return d->m_viewportSize.height(); } void QGeoMap::setCameraData(const QGeoCameraData &cameraData) diff --git a/src/location/maps/qgeomap_p.h b/src/location/maps/qgeomap_p.h index c45b1a0c..ea4806c0 100644 --- a/src/location/maps/qgeomap_p.h +++ b/src/location/maps/qgeomap_p.h @@ -70,10 +70,11 @@ class Q_LOCATION_EXPORT QGeoMap : public QObject public: virtual ~QGeoMap(); - void setSize(const QSize& size); - QSize size() const; - int width() const; - int height() const; + // Sets the display size + void setViewportSize(const QSize& viewportSize); + QSize viewportSize() const; + int viewportWidth() const; + int viewportHeight() const; QGeoCameraData cameraData() const; @@ -84,7 +85,7 @@ public: virtual QGeoCoordinate itemPositionToCoordinate(const QDoubleVector2D &pos, bool clipToViewport = true) const = 0; virtual QDoubleVector2D coordinateToItemPosition(const QGeoCoordinate &coordinate, bool clipToViewport = true) const = 0; - virtual double minimumZoomAtMapSize(int width, int height) const = 0; + virtual double minimumZoomAtViewportSize(int viewportWidth, int viewportHeight) const = 0; virtual double maximumCenterLatitudeAtZoom(double zoomLevel) const = 0; virtual QDoubleVector2D referenceCoordinateToItemPosition(const QGeoCoordinate &coordinate) const = 0; diff --git a/src/location/maps/qgeomap_p_p.h b/src/location/maps/qgeomap_p_p.h index f72c35ba..b95c1dc7 100644 --- a/src/location/maps/qgeomap_p_p.h +++ b/src/location/maps/qgeomap_p_p.h @@ -68,12 +68,13 @@ public: virtual ~QGeoMapPrivate(); protected: - virtual void changeMapSize(const QSize &size) = 0; - virtual void changeCameraData(const QGeoCameraData &oldCameraData) = 0; - virtual void changeActiveMapType(const QGeoMapType mapType) = 0; + /* Hooks into the actual map implementations */ + virtual void changeViewportSize(const QSize &size) = 0; // called by QGeoMap::setSize() + virtual void changeCameraData(const QGeoCameraData &oldCameraData) = 0; // called by QGeoMap::setCameraData() + virtual void changeActiveMapType(const QGeoMapType mapType) = 0; // called by QGeoMap::setActiveMapType() protected: - QSize m_size; + QSize m_viewportSize; QPointer<QGeoMappingManagerEngine> m_engine; QGeoMapController *m_controller; QGeoCameraData m_cameraData; diff --git a/src/location/maps/qgeotiledmap.cpp b/src/location/maps/qgeotiledmap.cpp index fedaecbc..04f9ad21 100644 --- a/src/location/maps/qgeotiledmap.cpp +++ b/src/location/maps/qgeotiledmap.cpp @@ -142,8 +142,8 @@ QGeoCoordinate QGeoTiledMap::itemPositionToCoordinate(const QDoubleVector2D &pos { Q_D(const QGeoTiledMap); if (clipToViewport) { - int w = width(); - int h = height(); + int w = viewportWidth(); + int h = viewportHeight(); if ((pos.x() < 0) || (w < pos.x()) || (pos.y() < 0) || (h < pos.y())) return QGeoCoordinate(); @@ -158,8 +158,8 @@ QDoubleVector2D QGeoTiledMap::coordinateToItemPosition(const QGeoCoordinate &coo QDoubleVector2D pos = d->coordinateToItemPosition(coordinate); if (clipToViewport) { - int w = width(); - int h = height(); + int w = viewportWidth(); + int h = viewportHeight(); double x = pos.x(); double y = pos.y(); if ((x < 0.0) || (x > w) || (y < 0) || (y > h) || qIsNaN(x) || qIsNaN(y)) @@ -171,7 +171,7 @@ QDoubleVector2D QGeoTiledMap::coordinateToItemPosition(const QGeoCoordinate &coo // This method returns the minimum zoom level that this specific qgeomap type allows // at a given canvas size (width,height) and for a given tile size (usually 256). -double QGeoTiledMap::minimumZoomAtMapSize(int width, int height) const +double QGeoTiledMap::minimumZoomAtViewportSize(int width, int height) const { Q_D(const QGeoTiledMap); double maxSize = qMax(width,height); @@ -192,7 +192,7 @@ double QGeoTiledMap::maximumCenterLatitudeAtZoom(double zoomLevel) const mapEdgeSize *= d->m_visibleTiles->tileSize(); // At init time weird things happen - int clampedWindowHeight = (height() > mapEdgeSize) ? mapEdgeSize : height(); + int clampedWindowHeight = (viewportHeight() > mapEdgeSize) ? mapEdgeSize : viewportHeight(); // Use the window height divided by 2 as the topmost allowed center, with respect to the map size in pixels double mercatorTopmost = (clampedWindowHeight * 0.5) / mapEdgeSize ; @@ -375,7 +375,7 @@ void QGeoTiledMapPrivate::clearScene() updateScene(); } -void QGeoTiledMapPrivate::changeMapSize(const QSize& size) +void QGeoTiledMapPrivate::changeViewportSize(const QSize& size) { Q_Q(QGeoTiledMap); diff --git a/src/location/maps/qgeotiledmap_p.h b/src/location/maps/qgeotiledmap_p.h index 791384c7..d00a1ed9 100644 --- a/src/location/maps/qgeotiledmap_p.h +++ b/src/location/maps/qgeotiledmap_p.h @@ -86,7 +86,7 @@ public: QGeoCoordinate itemPositionToCoordinate(const QDoubleVector2D &pos, bool clipToViewport = true) const Q_DECL_OVERRIDE; QDoubleVector2D coordinateToItemPosition(const QGeoCoordinate &coordinate, bool clipToViewport = true) const Q_DECL_OVERRIDE; - double minimumZoomAtMapSize(int width, int height) const Q_DECL_OVERRIDE; + double minimumZoomAtViewportSize(int viewportWidth, int viewportHeight) const Q_DECL_OVERRIDE; double maximumCenterLatitudeAtZoom(double zoomLevel) const Q_DECL_OVERRIDE; diff --git a/src/location/maps/qgeotiledmap_p_p.h b/src/location/maps/qgeotiledmap_p_p.h index ab36f6f7..01646d66 100644 --- a/src/location/maps/qgeotiledmap_p_p.h +++ b/src/location/maps/qgeotiledmap_p_p.h @@ -83,7 +83,7 @@ public: QGeoMapType activeMapType(); protected: - void changeMapSize(const QSize& size) Q_DECL_OVERRIDE; + void changeViewportSize(const QSize& size) Q_DECL_OVERRIDE; void changeCameraData(const QGeoCameraData &cameraData) Q_DECL_OVERRIDE; void changeActiveMapType(const QGeoMapType mapType) Q_DECL_OVERRIDE; void changeTileVersion(int version); diff --git a/src/plugins/geoservices/nokia/qgeotiledmap_nokia.cpp b/src/plugins/geoservices/nokia/qgeotiledmap_nokia.cpp index d83ad0f9..5179fff4 100644 --- a/src/plugins/geoservices/nokia/qgeotiledmap_nokia.cpp +++ b/src/plugins/geoservices/nokia/qgeotiledmap_nokia.cpp @@ -72,13 +72,13 @@ void QGeoTiledMapNokia::evaluateCopyrights(const QSet<QGeoTileSpec> &visibleTile const QString copyrightsString = m_engine->evaluateCopyrightsText(activeMapType(), cameraData().zoomLevel(), visibleTiles); - if (width() > 0 && height() > 0 && ((copyrightsString.isNull() && m_copyrightsSlab.isNull()) || copyrightsString != m_lastCopyrightsString)) { + if (viewportWidth() > 0 && viewportHeight() > 0 && ((copyrightsString.isNull() && m_copyrightsSlab.isNull()) || copyrightsString != m_lastCopyrightsString)) { QFont font("Sans Serif"); font.setPixelSize(fontSize); font.setStyleHint(QFont::SansSerif); font.setWeight(QFont::Bold); - QRect textBounds = QFontMetrics(font).boundingRect(0, 0, width(), height(), Qt::AlignBottom | Qt::AlignLeft | Qt::TextWordWrap, copyrightsString); + QRect textBounds = QFontMetrics(font).boundingRect(0, 0, viewportWidth(), viewportHeight(), Qt::AlignBottom | Qt::AlignLeft | Qt::TextWordWrap, copyrightsString); m_copyrightsSlab = QImage(m_logo.width() + textBounds.width() + spaceToLogo + blurRate * 2, qMax(m_logo.height(), textBounds.height() + blurRate * 2), diff --git a/tests/auto/qgeotiledmap/tst_qgeotiledmap.cpp b/tests/auto/qgeotiledmap/tst_qgeotiledmap.cpp index e7026cff..cc2672b2 100644 --- a/tests/auto/qgeotiledmap/tst_qgeotiledmap.cpp +++ b/tests/auto/qgeotiledmap/tst_qgeotiledmap.cpp @@ -109,7 +109,7 @@ void tst_QGeoTiledMap::initTestCase() QVERIFY2(provider->error() == QGeoServiceProvider::NoError, "Could not load plugin: " + provider->errorString().toLatin1()); m_map.reset(static_cast<QGeoTiledMapTest*>(mappingManager->createMap(this))); QVERIFY(m_map); - m_map->setSize(QSize(16, 16)); + m_map->setViewportSize(QSize(16, 16)); m_fetcher = static_cast<QGeoTileFetcherTest*>(m_map->m_engine->tileFetcher()); m_tilesCounter.reset(new FetchTileCounter()); connect(m_fetcher, SIGNAL(tileFetched(const QGeoTileSpec&)), m_tilesCounter.data(), SLOT(tileFetched(const QGeoTileSpec&))); |