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.cpp100
1 files changed, 100 insertions, 0 deletions
diff --git a/platform/qt/src/qquickmapboxgl.cpp b/platform/qt/src/qquickmapboxgl.cpp
index 99f79126f6..96af258214 100644
--- a/platform/qt/src/qquickmapboxgl.cpp
+++ b/platform/qt/src/qquickmapboxgl.cpp
@@ -3,6 +3,7 @@
#include <QQuickMapboxGL>
#include <QQuickItem>
+#include <QtGlobal>
QQuickMapboxGL::QQuickMapboxGL(QQuickItem *parent_)
: QQuickFramebufferObject(parent_)
@@ -21,3 +22,102 @@ QQuickFramebufferObject::Renderer *QQuickMapboxGL::createRenderer() const
{
return new QQuickMapboxGLRenderer();
}
+
+void QQuickMapboxGL::setMinimumZoomLevel(qreal zoom)
+{
+ zoom = qMax(0., zoom);
+ zoom = qMin(m_maximumZoomLevel, zoom);
+
+ if (m_minimumZoomLevel == zoom) {
+ return;
+ }
+
+ m_minimumZoomLevel = zoom;
+
+ emit minimumZoomLevelChanged();
+}
+
+qreal QQuickMapboxGL::minimumZoomLevel() const
+{
+ return m_minimumZoomLevel;
+}
+
+void QQuickMapboxGL::setMaximumZoomLevel(qreal zoom)
+{
+ zoom = qMin(20., zoom);
+ zoom = qMax(m_minimumZoomLevel, zoom);
+
+ if (m_maximumZoomLevel == zoom) {
+ return;
+ }
+
+ m_maximumZoomLevel = zoom;
+
+ emit maximumZoomLevelChanged();
+}
+
+qreal QQuickMapboxGL::maximumZoomLevel() const
+{
+ return m_maximumZoomLevel;
+}
+
+void QQuickMapboxGL::setZoomLevel(qreal zoom)
+{
+ zoom = qMin(m_maximumZoomLevel, zoom);
+ zoom = qMax(m_minimumZoomLevel, zoom);
+
+ if (m_zoomLevel == zoom) {
+ return;
+ }
+
+ m_zoomLevel = zoom;
+
+ m_syncState |= ZoomNeedsSync;
+ update();
+
+ emit zoomLevelChanged(m_zoomLevel);
+}
+
+qreal QQuickMapboxGL::zoomLevel() const
+{
+ return m_zoomLevel;
+}
+
+void QQuickMapboxGL::setCenter(const QGeoCoordinate &coordinate)
+{
+ if (m_center == coordinate) {
+ return;
+ }
+
+ m_center = coordinate;
+
+ m_syncState |= CenterNeedsSync;
+ update();
+
+ emit centerChanged(m_center);
+}
+
+QGeoCoordinate QQuickMapboxGL::center() const
+{
+ return m_center;
+}
+
+
+void QQuickMapboxGL::setVisibleRegion(const QGeoShape &shape)
+{
+ m_visibleRegion = shape;
+}
+
+QGeoShape QQuickMapboxGL::visibleRegion() const
+{
+ return m_visibleRegion;
+}
+
+int QQuickMapboxGL::swapSyncState()
+{
+ int oldState = m_syncState;
+
+ m_syncState = NothingNeedsSync;
+
+ return oldState;
+}