[Qt] Statically assert reflected Qt enums
This commit is contained in:
@@ -31,7 +31,8 @@ public:
|
||||
};
|
||||
|
||||
enum ConstrainMode {
|
||||
ConstrainHeightOnly = 0,
|
||||
NoConstrain = 0,
|
||||
ConstrainHeightOnly,
|
||||
ConstrainWidthAndHeight
|
||||
};
|
||||
|
||||
@@ -89,19 +90,19 @@ public:
|
||||
// Reflects mbgl::MapChange.
|
||||
enum MapChange {
|
||||
MapChangeRegionWillChange = 0,
|
||||
MapChangeRegionWillChangeAnimated = 1,
|
||||
MapChangeRegionIsChanging = 2,
|
||||
MapChangeRegionDidChange = 3,
|
||||
MapChangeRegionDidChangeAnimated = 4,
|
||||
MapChangeWillStartLoadingMap = 5,
|
||||
MapChangeDidFinishLoadingMap = 6,
|
||||
MapChangeDidFailLoadingMap = 7,
|
||||
MapChangeWillStartRenderingFrame = 8,
|
||||
MapChangeDidFinishRenderingFrame = 9,
|
||||
MapChangeDidFinishRenderingFrameFullyRendered = 10,
|
||||
MapChangeWillStartRenderingMap = 11,
|
||||
MapChangeDidFinishRenderingMap = 12,
|
||||
MapChangeDidFinishRenderingMapFullyRendered = 13
|
||||
MapChangeRegionWillChangeAnimated,
|
||||
MapChangeRegionIsChanging,
|
||||
MapChangeRegionDidChange,
|
||||
MapChangeRegionDidChangeAnimated,
|
||||
MapChangeWillStartLoadingMap,
|
||||
MapChangeDidFinishLoadingMap,
|
||||
MapChangeDidFailLoadingMap,
|
||||
MapChangeWillStartRenderingFrame,
|
||||
MapChangeDidFinishRenderingFrame,
|
||||
MapChangeDidFinishRenderingFrameFullyRendered,
|
||||
MapChangeWillStartRenderingMap,
|
||||
MapChangeDidFinishRenderingMap,
|
||||
MapChangeDidFinishRenderingMapFullyRendered
|
||||
};
|
||||
|
||||
QMapboxGL(QObject *parent = 0, const QMapboxGLSettings& = QMapboxGLSettings());
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
#include <mbgl/gl/gl.hpp>
|
||||
#include <mbgl/storage/network_status.hpp>
|
||||
#include <mbgl/util/default_styles.hpp>
|
||||
#include <mbgl/util/traits.hpp>
|
||||
|
||||
#include <QMapbox>
|
||||
|
||||
@@ -8,31 +9,20 @@
|
||||
#include <QOpenGLContext>
|
||||
#endif
|
||||
|
||||
// mbgl::MapMode
|
||||
static_assert(mbgl::underlying_type(QMapbox::Online) == mbgl::underlying_type(mbgl::NetworkStatus::Status::Online), "error");
|
||||
static_assert(mbgl::underlying_type(QMapbox::Offline) == mbgl::underlying_type(mbgl::NetworkStatus::Status::Offline), "error");
|
||||
|
||||
namespace QMapbox {
|
||||
|
||||
Q_DECL_EXPORT NetworkMode networkMode()
|
||||
{
|
||||
switch (mbgl::NetworkStatus::Get()) {
|
||||
case mbgl::NetworkStatus::Status::Online:
|
||||
return NetworkMode::Online;
|
||||
case mbgl::NetworkStatus::Status::Offline:
|
||||
return NetworkMode::Offline;
|
||||
}
|
||||
|
||||
// Silence compile warnings, should never happen.
|
||||
return NetworkMode::Online;
|
||||
return static_cast<NetworkMode>(mbgl::NetworkStatus::Get());
|
||||
}
|
||||
|
||||
Q_DECL_EXPORT void setNetworkMode(NetworkMode mode)
|
||||
{
|
||||
switch (mode) {
|
||||
case Online:
|
||||
mbgl::NetworkStatus::Set(mbgl::NetworkStatus::Status::Online);
|
||||
break;
|
||||
case Offline:
|
||||
mbgl::NetworkStatus::Set(mbgl::NetworkStatus::Status::Offline);
|
||||
break;
|
||||
}
|
||||
mbgl::NetworkStatus::Set(static_cast<mbgl::NetworkStatus::Status>(mode));
|
||||
}
|
||||
|
||||
Q_DECL_EXPORT QList<QPair<QString, QString>>& defaultStyles()
|
||||
|
||||
@@ -9,6 +9,7 @@
|
||||
#include <mbgl/storage/network_status.hpp>
|
||||
#include <mbgl/util/constants.hpp>
|
||||
#include <mbgl/util/geo.hpp>
|
||||
#include <mbgl/util/traits.hpp>
|
||||
#include <mbgl/util/vec.hpp>
|
||||
|
||||
#include <QCoreApplication>
|
||||
@@ -22,6 +23,41 @@
|
||||
|
||||
using namespace QMapbox;
|
||||
|
||||
// mbgl::MapMode
|
||||
static_assert(mbgl::underlying_type(QMapboxGLSettings::ContinuousMap) == mbgl::underlying_type(mbgl::MapMode::Continuous), "error");
|
||||
static_assert(mbgl::underlying_type(QMapboxGLSettings::StillMap) == mbgl::underlying_type(mbgl::MapMode::Still), "error");
|
||||
|
||||
// mbgl::GLContextMode
|
||||
static_assert(mbgl::underlying_type(QMapboxGLSettings::UniqueGLContext) == mbgl::underlying_type(mbgl::GLContextMode::Unique), "error");
|
||||
static_assert(mbgl::underlying_type(QMapboxGLSettings::SharedGLContext) == mbgl::underlying_type(mbgl::GLContextMode::Shared), "error");
|
||||
|
||||
// mbgl::ConstrainMode
|
||||
static_assert(mbgl::underlying_type(QMapboxGLSettings::NoConstrain) == mbgl::underlying_type(mbgl::ConstrainMode::None), "error");
|
||||
static_assert(mbgl::underlying_type(QMapboxGLSettings::ConstrainHeightOnly) == mbgl::underlying_type(mbgl::ConstrainMode::HeightOnly), "error");
|
||||
static_assert(mbgl::underlying_type(QMapboxGLSettings::ConstrainWidthAndHeight) == mbgl::underlying_type(mbgl::ConstrainMode::WidthAndHeight), "error");
|
||||
|
||||
// mbgl::NorthOrientation
|
||||
static_assert(mbgl::underlying_type(QMapboxGL::NorthUpwards) == mbgl::underlying_type(mbgl::NorthOrientation::Upwards), "error");
|
||||
static_assert(mbgl::underlying_type(QMapboxGL::NorthRightwards) == mbgl::underlying_type(mbgl::NorthOrientation::Rightwards), "error");
|
||||
static_assert(mbgl::underlying_type(QMapboxGL::NorthDownwards) == mbgl::underlying_type(mbgl::NorthOrientation::Downwards), "error");
|
||||
static_assert(mbgl::underlying_type(QMapboxGL::NorthLeftwards) == mbgl::underlying_type(mbgl::NorthOrientation::Leftwards), "error");
|
||||
|
||||
// mbgl::MapChange
|
||||
static_assert(mbgl::underlying_type(QMapboxGL::MapChangeRegionWillChange) == mbgl::underlying_type(mbgl::MapChangeRegionWillChange), "error");
|
||||
static_assert(mbgl::underlying_type(QMapboxGL::MapChangeRegionWillChangeAnimated) == mbgl::underlying_type(mbgl::MapChangeRegionWillChangeAnimated), "error");
|
||||
static_assert(mbgl::underlying_type(QMapboxGL::MapChangeRegionIsChanging) == mbgl::underlying_type(mbgl::MapChangeRegionIsChanging), "error");
|
||||
static_assert(mbgl::underlying_type(QMapboxGL::MapChangeRegionDidChange) == mbgl::underlying_type(mbgl::MapChangeRegionDidChange), "error");
|
||||
static_assert(mbgl::underlying_type(QMapboxGL::MapChangeRegionDidChangeAnimated) == mbgl::underlying_type(mbgl::MapChangeRegionDidChangeAnimated), "error");
|
||||
static_assert(mbgl::underlying_type(QMapboxGL::MapChangeWillStartLoadingMap) == mbgl::underlying_type(mbgl::MapChangeWillStartLoadingMap), "error");
|
||||
static_assert(mbgl::underlying_type(QMapboxGL::MapChangeDidFinishLoadingMap) == mbgl::underlying_type(mbgl::MapChangeDidFinishLoadingMap), "error");
|
||||
static_assert(mbgl::underlying_type(QMapboxGL::MapChangeDidFailLoadingMap) == mbgl::underlying_type(mbgl::MapChangeDidFailLoadingMap), "error");
|
||||
static_assert(mbgl::underlying_type(QMapboxGL::MapChangeWillStartRenderingFrame) == mbgl::underlying_type(mbgl::MapChangeWillStartRenderingFrame), "error");
|
||||
static_assert(mbgl::underlying_type(QMapboxGL::MapChangeDidFinishRenderingFrame) == mbgl::underlying_type(mbgl::MapChangeDidFinishRenderingFrame), "error");
|
||||
static_assert(mbgl::underlying_type(QMapboxGL::MapChangeDidFinishRenderingFrameFullyRendered) == mbgl::underlying_type(mbgl::MapChangeDidFinishRenderingFrameFullyRendered), "error");
|
||||
static_assert(mbgl::underlying_type(QMapboxGL::MapChangeWillStartRenderingMap) == mbgl::underlying_type(mbgl::MapChangeWillStartRenderingMap), "error");
|
||||
static_assert(mbgl::underlying_type(QMapboxGL::MapChangeDidFinishRenderingMap) == mbgl::underlying_type(mbgl::MapChangeDidFinishRenderingMap), "error");
|
||||
static_assert(mbgl::underlying_type(QMapboxGL::MapChangeDidFinishRenderingMapFullyRendered) == mbgl::underlying_type(mbgl::MapChangeDidFinishRenderingMapFullyRendered), "error");
|
||||
|
||||
QMapboxGLSettings::QMapboxGLSettings()
|
||||
: m_mapMode(QMapboxGLSettings::ContinuousMap)
|
||||
, m_contextMode(QMapboxGLSettings::SharedGLContext)
|
||||
@@ -257,24 +293,12 @@ void QMapboxGL::setPitch(double pitch_)
|
||||
|
||||
QMapboxGL::NorthOrientation QMapboxGL::northOrientation() const
|
||||
{
|
||||
using NO = mbgl::NorthOrientation;
|
||||
switch (d_ptr->mapObj->getNorthOrientation()) {
|
||||
case NO::Rightwards: return NorthRightwards;
|
||||
case NO::Downwards: return NorthDownwards;
|
||||
case NO::Leftwards: return NorthLeftwards;
|
||||
default: return NorthUpwards;
|
||||
}
|
||||
return static_cast<QMapboxGL::NorthOrientation>(d_ptr->mapObj->getNorthOrientation());
|
||||
}
|
||||
|
||||
void QMapboxGL::setNorthOrientation(NorthOrientation orientation)
|
||||
{
|
||||
using NO = mbgl::NorthOrientation;
|
||||
switch (orientation) {
|
||||
case NorthRightwards: d_ptr->mapObj->setNorthOrientation(NO::Rightwards); break;
|
||||
case NorthDownwards: d_ptr->mapObj->setNorthOrientation(NO::Downwards); break;
|
||||
case NorthLeftwards: d_ptr->mapObj->setNorthOrientation(NO::Leftwards); break;
|
||||
default: d_ptr->mapObj->setNorthOrientation(NO::Upwards); break;
|
||||
}
|
||||
d_ptr->mapObj->setNorthOrientation(static_cast<mbgl::NorthOrientation>(orientation));
|
||||
}
|
||||
|
||||
void QMapboxGL::setGestureInProgress(bool inProgress)
|
||||
|
||||
Reference in New Issue
Block a user