summaryrefslogtreecommitdiff
path: root/platform/qt/src/qquickmapboxgl.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'platform/qt/src/qquickmapboxgl.cpp')
-rw-r--r--platform/qt/src/qquickmapboxgl.cpp17
1 files changed, 16 insertions, 1 deletions
diff --git a/platform/qt/src/qquickmapboxgl.cpp b/platform/qt/src/qquickmapboxgl.cpp
index a368ba56fe..9ebe526939 100644
--- a/platform/qt/src/qquickmapboxgl.cpp
+++ b/platform/qt/src/qquickmapboxgl.cpp
@@ -18,7 +18,7 @@
namespace {
static const QRegularExpression s_camelCase {"([a-z0-9])([A-Z])"};
-static const QStringList s_parameterTypes = QStringList() << "style" << "paint" << "layout" << "layer" << "source" << "filter";
+static const QStringList s_parameterTypes = QStringList() << "style" << "paint" << "layout" << "layer" << "source" << "filter" << "image";
} // namespace
@@ -251,6 +251,15 @@ void QQuickMapboxGL::onMapChanged(QMapbox::MapChange change)
}
}
+bool QQuickMapboxGL::parseImage(QQuickMapboxGLMapParameter *param)
+{
+ m_imageChanges << Image {
+ param->property("name").toString(),
+ QImage(param->property("sprite").toString())
+ };
+ return true;
+}
+
bool QQuickMapboxGL::parseStyle(QQuickMapboxGLMapParameter *param)
{
QString url = param->property("url").toString();
@@ -367,6 +376,9 @@ void QQuickMapboxGL::processMapParameter(QQuickMapboxGLMapParameter *param)
case 5: // filter
needsUpdate |= parseStyleFilter(param);
break;
+ case 6: // image
+ needsUpdate |= parseImage(param);
+ break;
}
if (needsUpdate) update();
}
@@ -405,6 +417,9 @@ void QQuickMapboxGL::onParameterPropertyUpdated(const QString &propertyName)
case 5: // filter
needsUpdate |= parseStyleFilter(param);
break;
+ case 6: // image
+ needsUpdate |= parseImage(param);
+ break;
}
if (needsUpdate) update();
}