diff options
author | Bruno de Oliveira Abinader <bruno@mapbox.com> | 2015-12-18 12:10:41 -0800 |
---|---|---|
committer | Thiago Marcos P. Santos <thiago@mapbox.com> | 2016-04-20 20:55:51 +0300 |
commit | 7d863d259ae4d2f8a55a211c428a1ff11ae529f1 (patch) | |
tree | 870650fcb68e3c559fd8426346df3e036db533d5 | |
parent | 41dd14d208e0f485e38a7e32f3eb8df4ef2d8f95 (diff) | |
download | qtlocation-mapboxgl-7d863d259ae4d2f8a55a211c428a1ff11ae529f1.tar.gz |
[Qt] Added {Map,GLContext,Constrain}Mode settings
-rw-r--r-- | platform/qt/include/qmapboxgl.hpp | 28 | ||||
-rw-r--r-- | platform/qt/src/qmapboxgl.cpp | 43 |
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() |