summaryrefslogtreecommitdiff
path: root/platform
diff options
context:
space:
mode:
authorBruno de Oliveira Abinader <bruno@mapbox.com>2015-12-18 12:10:41 -0800
committerThiago Marcos P. Santos <thiago@mapbox.com>2016-04-20 20:55:51 +0300
commit7d863d259ae4d2f8a55a211c428a1ff11ae529f1 (patch)
tree870650fcb68e3c559fd8426346df3e036db533d5 /platform
parent41dd14d208e0f485e38a7e32f3eb8df4ef2d8f95 (diff)
downloadqtlocation-mapboxgl-7d863d259ae4d2f8a55a211c428a1ff11ae529f1.tar.gz
[Qt] Added {Map,GLContext,Constrain}Mode settings
Diffstat (limited to 'platform')
-rw-r--r--platform/qt/include/qmapboxgl.hpp28
-rw-r--r--platform/qt/src/qmapboxgl.cpp43
2 files changed, 67 insertions, 4 deletions
diff --git a/platform/qt/include/qmapboxgl.hpp b/platform/qt/include/qmapboxgl.hpp
index 83e5bb1830..de4ae06cab 100644
--- a/platform/qt/include/qmapboxgl.hpp
+++ b/platform/qt/include/qmapboxgl.hpp
@@ -19,6 +19,30 @@ class Q_DECL_EXPORT QMapboxGLSettings
public:
QMapboxGLSettings();
+ enum MapMode {
+ ContinuousMap = 0,
+ StillMap
+ };
+
+ enum GLContextMode {
+ UniqueGLContext = 0,
+ SharedGLContext
+ };
+
+ enum ConstrainMode {
+ ConstrainHeightOnly = 0,
+ ConstrainWidthAndHeight
+ };
+
+ MapMode mapMode() const;
+ void setMapMode(MapMode);
+
+ GLContextMode contextMode() const;
+ void setContextMode(GLContextMode);
+
+ ConstrainMode constrainMode() const;
+ void setConstrainMode(ConstrainMode);
+
unsigned cacheDatabaseMaximumSize() const;
void setCacheDatabaseMaximumSize(unsigned);
@@ -32,6 +56,10 @@ public:
void setAccessToken(const QString &);
private:
+ MapMode m_mapMode;
+ GLContextMode m_contextMode;
+ ConstrainMode m_constrainMode;
+
unsigned m_cacheMaximumSize;
QString m_cacheDatabasePath;
QString m_assetPath;
diff --git a/platform/qt/src/qmapboxgl.cpp b/platform/qt/src/qmapboxgl.cpp
index ae00eadbf2..c9bc863000 100644
--- a/platform/qt/src/qmapboxgl.cpp
+++ b/platform/qt/src/qmapboxgl.cpp
@@ -18,12 +18,45 @@
#include <memory>
QMapboxGLSettings::QMapboxGLSettings()
- : m_cacheMaximumSize(mbgl::util::DEFAULT_MAX_CACHE_SIZE)
+ : m_mapMode(QMapboxGLSettings::ContinuousMap)
+ , m_contextMode(QMapboxGLSettings::UniqueGLContext)
+ , m_constrainMode(QMapboxGLSettings::ConstrainHeightOnly)
+ , m_cacheMaximumSize(mbgl::util::DEFAULT_MAX_CACHE_SIZE)
, m_cacheDatabasePath(":memory:")
, m_assetPath(QCoreApplication::applicationDirPath())
{
}
+QMapboxGLSettings::MapMode QMapboxGLSettings::mapMode() const
+{
+ return m_mapMode;
+}
+
+void QMapboxGLSettings::setMapMode(MapMode mode)
+{
+ m_mapMode = mode;
+}
+
+QMapboxGLSettings::GLContextMode QMapboxGLSettings::contextMode() const
+{
+ return m_contextMode;
+}
+
+void QMapboxGLSettings::setContextMode(GLContextMode mode)
+{
+ m_contextMode = mode;
+}
+
+QMapboxGLSettings::ConstrainMode QMapboxGLSettings::constrainMode() const
+{
+ return m_constrainMode;
+}
+
+void QMapboxGLSettings::setConstrainMode(ConstrainMode mode)
+{
+ m_constrainMode = mode;
+}
+
unsigned QMapboxGLSettings::cacheDatabaseMaximumSize() const
{
return m_cacheMaximumSize;
@@ -67,10 +100,12 @@ QMapboxGL::QMapboxGL(QObject *parent_, const QMapboxGLSettings &settings)
: QObject(parent_)
, d_ptr(new QMapboxGLPrivate(this, settings))
{
- d_ptr->fileSourceObj->setAccessToken(settings.accessToken().toStdString());
+ mbgl::MapMode mapMode = static_cast<mbgl::MapMode>(settings.mapMode());
+ mbgl::GLContextMode contextMode = static_cast<mbgl::GLContextMode>(settings.contextMode());
+ mbgl::ConstrainMode constrainMode = static_cast<mbgl::ConstrainMode>(settings.constrainMode());
- d_ptr->mapObj = std::make_unique<mbgl::Map>(*d_ptr, *d_ptr->fileSourceObj,
- mbgl::MapMode::Continuous, mbgl::GLContextMode::Shared);
+ d_ptr->fileSourceObj->setAccessToken(settings.accessToken().toStdString());
+ d_ptr->mapObj = std::make_unique<mbgl::Map>(*d_ptr, *d_ptr->fileSourceObj, mapMode, contextMode, constrainMode);
}
QMapboxGL::~QMapboxGL()