[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.
This commit is contained in:
Thiago Marcos P. Santos
2016-01-18 13:22:37 +02:00
parent 7d863d259a
commit f83b8d8ea4
3 changed files with 24 additions and 30 deletions

View File

@@ -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();
}

View File

@@ -115,27 +115,27 @@ public:
void setLongitude(double longitude);
double scale() const;
void setScale(double scale, const QPointF &center = QPointF(), int milliseconds = 0);
void setScale(double scale, const QPointF &center = 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 &center);
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 &center = QPointF(), int milliseconds = 0);
void scaleBy(double scale, const QPointF &center = QPointF());
void rotateBy(const QPointF &first, const QPointF &second);
void resize(const QSize &size);

View File

@@ -163,9 +163,9 @@ double QMapboxGL::scale() const
return d_ptr->mapObj->getScale();
}
void QMapboxGL::setScale(double scale_, const QPointF &center, int milliseconds)
void QMapboxGL::setScale(double scale_, const QPointF &center)
{
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 &center)
@@ -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 &center, int milliseconds) {
d_ptr->mapObj->scaleBy(
scale_, mbgl::ScreenCoordinate { center.x(), center.y() },
std::chrono::milliseconds(milliseconds));
void QMapboxGL::scaleBy(double scale_, const QPointF &center) {
d_ptr->mapObj->scaleBy(scale_, mbgl::ScreenCoordinate { center.x(), center.y() });
}
void QMapboxGL::rotateBy(const QPointF &first, const QPointF &second)