[Qt] Added {Map,GLContext,Constrain}Mode settings
This commit is contained in:
committed by
Thiago Marcos P. Santos
parent
41dd14d208
commit
7d863d259a
@@ -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;
|
||||
|
||||
@@ -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()
|
||||
|
||||
Reference in New Issue
Block a user