From f83b8d8ea4631aa063d04e3194a84c75ba667dfd Mon Sep 17 00:00:00 2001 From: "Thiago Marcos P. Santos" Date: Mon, 18 Jan 2016 13:22:37 +0200 Subject: [PATCH] [Qt] Do not use Mapbox GL animations Let animations to QPropertyAnimation so it can sync with other Qt animations and let the user define the easing curve Qt-style. --- platform/qt/app/mapwindow.cpp | 6 +++--- platform/qt/include/qmapboxgl.hpp | 14 ++++++------- platform/qt/src/qmapboxgl.cpp | 34 +++++++++++++------------------ 3 files changed, 24 insertions(+), 30 deletions(-) diff --git a/platform/qt/app/mapwindow.cpp b/platform/qt/app/mapwindow.cpp index 8827bea4f..83e0ceab5 100644 --- a/platform/qt/app/mapwindow.cpp +++ b/platform/qt/app/mapwindow.cpp @@ -93,9 +93,9 @@ void MapWindow::mousePressEvent(QMouseEvent *ev) if (ev->type() == QEvent::MouseButtonDblClick) { if (ev->buttons() == Qt::LeftButton) { - m_map.scaleBy(2.0, m_lastPos, 500); + m_map.scaleBy(2.0, m_lastPos); } else if (ev->buttons() == Qt::RightButton) { - m_map.scaleBy(0.5, m_lastPos, 500); + m_map.scaleBy(0.5, m_lastPos); } } @@ -141,7 +141,7 @@ void MapWindow::wheelEvent(QWheelEvent *ev) factor = factor > -1 ? factor : 1 / factor; } - m_map.scaleBy(1 + factor, ev->pos(), 50); + m_map.scaleBy(1 + factor, ev->pos()); ev->accept(); } diff --git a/platform/qt/include/qmapboxgl.hpp b/platform/qt/include/qmapboxgl.hpp index de4ae06ca..0042a73dd 100644 --- a/platform/qt/include/qmapboxgl.hpp +++ b/platform/qt/include/qmapboxgl.hpp @@ -115,27 +115,27 @@ public: void setLongitude(double longitude); double scale() const; - void setScale(double scale, const QPointF ¢er = QPointF(), int milliseconds = 0); + void setScale(double scale, const QPointF ¢er = QPointF()); double zoom() const; - void setZoom(double zoom, int milliseconds = 0); + void setZoom(double zoom); double minimumZoom() const; double maximumZoom() const; double bearing() const; - void setBearing(double degrees, int milliseconds = 0); + void setBearing(double degrees); void setBearing(double degrees, const QPointF ¢er); double pitch() const; - void setPitch(double pitch, int milliseconds = 0); + void setPitch(double pitch); NorthOrientation northOrientation() const; void setNorthOrientation(NorthOrientation); Coordinate coordinate() const; - void setCoordinate(const Coordinate &, int milliseconds = 0); - void setCoordinateZoom(const Coordinate &, double zoom, int milliseconds = 0); + void setCoordinate(const Coordinate &); + void setCoordinateZoom(const Coordinate &, double zoom); void setGestureInProgress(bool inProgress); @@ -160,7 +160,7 @@ public: bool isFullyLoaded() const; void moveBy(const QPointF &offset); - void scaleBy(double scale, const QPointF ¢er = QPointF(), int milliseconds = 0); + void scaleBy(double scale, const QPointF ¢er = QPointF()); void rotateBy(const QPointF &first, const QPointF &second); void resize(const QSize &size); diff --git a/platform/qt/src/qmapboxgl.cpp b/platform/qt/src/qmapboxgl.cpp index c9bc86300..12b36dd97 100644 --- a/platform/qt/src/qmapboxgl.cpp +++ b/platform/qt/src/qmapboxgl.cpp @@ -163,9 +163,9 @@ double QMapboxGL::scale() const return d_ptr->mapObj->getScale(); } -void QMapboxGL::setScale(double scale_, const QPointF ¢er, int milliseconds) +void QMapboxGL::setScale(double scale_, const QPointF ¢er) { - d_ptr->mapObj->setScale(scale_, mbgl::ScreenCoordinate{ center.x(), center.y() }, std::chrono::milliseconds(milliseconds)); + d_ptr->mapObj->setScale(scale_, mbgl::ScreenCoordinate { center.x(), center.y() }); } double QMapboxGL::zoom() const @@ -173,9 +173,9 @@ double QMapboxGL::zoom() const return d_ptr->mapObj->getZoom(); } -void QMapboxGL::setZoom(double zoom_, int milliseconds) +void QMapboxGL::setZoom(double zoom_) { - d_ptr->mapObj->setZoom(zoom_, std::chrono::milliseconds(milliseconds)); + d_ptr->mapObj->setZoom(zoom_); } double QMapboxGL::minimumZoom() const @@ -194,18 +194,14 @@ QMapboxGL::Coordinate QMapboxGL::coordinate() const return Coordinate(latLng.latitude, latLng.longitude); } -void QMapboxGL::setCoordinate(const Coordinate &coordinate_, int milliseconds) +void QMapboxGL::setCoordinate(const Coordinate &coordinate_) { - d_ptr->mapObj->setLatLng( - mbgl::LatLng { coordinate_.first, coordinate_.second }, - mbgl::Duration(std::chrono::milliseconds(milliseconds))); + d_ptr->mapObj->setLatLng(mbgl::LatLng { coordinate_.first, coordinate_.second }); } -void QMapboxGL::setCoordinateZoom(const Coordinate &coordinate_, double zoom_, int milliseconds) +void QMapboxGL::setCoordinateZoom(const Coordinate &coordinate_, double zoom_) { - d_ptr->mapObj->setLatLngZoom( - mbgl::LatLng { coordinate_.first, coordinate_.second }, zoom_, - std::chrono::milliseconds(milliseconds)); + d_ptr->mapObj->setLatLngZoom(mbgl::LatLng { coordinate_.first, coordinate_.second }, zoom_); } double QMapboxGL::bearing() const @@ -213,9 +209,9 @@ double QMapboxGL::bearing() const return d_ptr->mapObj->getBearing(); } -void QMapboxGL::setBearing(double degrees, int milliseconds) +void QMapboxGL::setBearing(double degrees) { - d_ptr->mapObj->setBearing(degrees, mbgl::Duration(std::chrono::milliseconds(milliseconds))); + d_ptr->mapObj->setBearing(degrees); } void QMapboxGL::setBearing(double degrees, const QPointF ¢er) @@ -228,9 +224,9 @@ double QMapboxGL::pitch() const return d_ptr->mapObj->getPitch(); } -void QMapboxGL::setPitch(double pitch_, int milliseconds) +void QMapboxGL::setPitch(double pitch_) { - d_ptr->mapObj->setPitch(pitch_, std::chrono::milliseconds(milliseconds)); + d_ptr->mapObj->setPitch(pitch_); } QMapboxGL::NorthOrientation QMapboxGL::northOrientation() const @@ -410,10 +406,8 @@ void QMapboxGL::moveBy(const QPointF &offset) d_ptr->mapObj->moveBy(mbgl::ScreenCoordinate { offset.x(), offset.y() }); } -void QMapboxGL::scaleBy(double scale_, const QPointF ¢er, int milliseconds) { - d_ptr->mapObj->scaleBy( - scale_, mbgl::ScreenCoordinate { center.x(), center.y() }, - std::chrono::milliseconds(milliseconds)); +void QMapboxGL::scaleBy(double scale_, const QPointF ¢er) { + d_ptr->mapObj->scaleBy(scale_, mbgl::ScreenCoordinate { center.x(), center.y() }); } void QMapboxGL::rotateBy(const QPointF &first, const QPointF &second)