[Qt] Simplify setTransitionOptions
This commit is contained in:
committed by
Thiago Marcos P. Santos
parent
5437c7b5b3
commit
b8564299e5
@@ -79,7 +79,7 @@ void MapWindow::changeStyle()
|
||||
|
||||
void MapWindow::keyPressEvent(QKeyEvent *ev)
|
||||
{
|
||||
static const QMapbox::TransitionOptions transition { 300, {} };
|
||||
static const qint64 transitionDuration = 300;
|
||||
|
||||
switch (ev->key()) {
|
||||
case Qt::Key_S:
|
||||
@@ -201,7 +201,7 @@ void MapWindow::keyPressEvent(QKeyEvent *ev)
|
||||
m_map->cycleDebugOptions();
|
||||
break;
|
||||
case Qt::Key_R: {
|
||||
m_map->setTransitionOptions(transition);
|
||||
m_map->setTransitionOptions(transitionDuration);
|
||||
if (m_map->hasClass("night")) {
|
||||
m_map->removeClass("night");
|
||||
} else {
|
||||
|
||||
@@ -74,11 +74,6 @@ struct Q_DECL_EXPORT CustomLayerRenderParameters {
|
||||
double altitude;
|
||||
};
|
||||
|
||||
struct Q_DECL_EXPORT TransitionOptions {
|
||||
QVariant duration; // qint64
|
||||
QVariant delay; // qint64
|
||||
};
|
||||
|
||||
typedef void (*CustomLayerInitializeFunction)(void* context) ;
|
||||
typedef void (*CustomLayerRenderFunction)(void* context, const CustomLayerRenderParameters&);
|
||||
typedef void (*CustomLayerDeinitializeFunction)(void* context);
|
||||
|
||||
@@ -147,8 +147,7 @@ public:
|
||||
void setClasses(const QStringList &);
|
||||
QStringList getClasses() const;
|
||||
|
||||
QMapbox::TransitionOptions getTransitionOptions() const;
|
||||
void setTransitionOptions(const QMapbox::TransitionOptions&);
|
||||
void setTransitionOptions(qint64 duration, qint64 delay = 0);
|
||||
|
||||
QMapbox::AnnotationID addPointAnnotation(const QMapbox::PointAnnotation &);
|
||||
QMapbox::AnnotationID addShapeAnnotation(const QMapbox::ShapeAnnotation &);
|
||||
|
||||
@@ -81,26 +81,6 @@ auto fromQMapboxGLShapeAnnotation(const ShapeAnnotation &shapeAnnotation) {
|
||||
return mbgl::StyleSourcedAnnotation { std::move(mbglLineString), styleLayer.toStdString() };
|
||||
}
|
||||
|
||||
auto fromQMapboxTransitionOptions(const QMapbox::TransitionOptions &options) {
|
||||
auto convert = [](auto& value) -> mbgl::optional<mbgl::Duration> {
|
||||
if (value.isValid()) {
|
||||
return std::chrono::duration_cast<mbgl::Duration>(mbgl::Milliseconds(value.template value<qint64>()));
|
||||
};
|
||||
return {};
|
||||
};
|
||||
return mbgl::style::TransitionOptions { convert(options.duration), convert(options.delay) };
|
||||
}
|
||||
|
||||
auto toQMapboxTransitionOptions(const mbgl::style::TransitionOptions &options) {
|
||||
auto convert = [](auto& value) -> QVariant {
|
||||
if (value) {
|
||||
return qint64(std::chrono::duration_cast<mbgl::Milliseconds>(*value).count());
|
||||
}
|
||||
return {};
|
||||
};
|
||||
return QMapbox::TransitionOptions { convert(options.duration), convert(options.delay) };
|
||||
}
|
||||
|
||||
auto fromQStringList(const QStringList &list)
|
||||
{
|
||||
std::vector<std::string> strings;
|
||||
@@ -485,12 +465,12 @@ QStringList QMapboxGL::getClasses() const
|
||||
return classNames;
|
||||
}
|
||||
|
||||
QMapbox::TransitionOptions QMapboxGL::getTransitionOptions() const {
|
||||
return toQMapboxTransitionOptions(d_ptr->mapObj->getTransitionOptions());
|
||||
}
|
||||
void QMapboxGL::setTransitionOptions(qint64 duration, qint64 delay) {
|
||||
static auto convert = [](qint64 value) -> mbgl::optional<mbgl::Duration> {
|
||||
return std::chrono::duration_cast<mbgl::Duration>(mbgl::Milliseconds(value));
|
||||
};
|
||||
|
||||
void QMapboxGL::setTransitionOptions(const QMapbox::TransitionOptions &options) {
|
||||
d_ptr->mapObj->setTransitionOptions(fromQMapboxTransitionOptions(options));
|
||||
d_ptr->mapObj->setTransitionOptions(mbgl::style::TransitionOptions{ convert(duration), convert(delay) });
|
||||
}
|
||||
|
||||
mbgl::Annotation fromPointAnnotation(const PointAnnotation &pointAnnotation) {
|
||||
|
||||
Reference in New Issue
Block a user