From e881795ed10484ecfe8de73aaaa349c44eb259db Mon Sep 17 00:00:00 2001 From: "Thiago Marcos P. Santos" Date: Tue, 27 Sep 2016 16:18:04 +0300 Subject: [Qt] Header cleanup (#6477) Make some headers private, so we only commit with the QML API. --- platform/qt/config.cmake | 4 + platform/qt/include/QQuickMapboxGL | 1 - platform/qt/include/QQuickMapboxGLMapParameter | 1 - platform/qt/include/qmapbox.hpp | 1 + platform/qt/include/qquickmapboxgl.hpp | 178 --------------------- platform/qt/include/qquickmapboxglmapparameter.hpp | 37 ----- platform/qt/qmlapp/main.cpp | 10 +- platform/qt/qt.cmake | 16 +- platform/qt/qt4.cmake | 6 +- platform/qt/qt5.cmake | 16 +- platform/qt/src/async_task.cpp | 3 +- platform/qt/src/qmapbox.cpp | 16 +- platform/qt/src/qmapboxgl.cpp | 2 +- platform/qt/src/qmapboxgl_p.hpp | 3 +- platform/qt/src/qquickmapboxgl.cpp | 9 +- platform/qt/src/qquickmapboxgl.hpp | 175 ++++++++++++++++++++ platform/qt/src/qquickmapboxglmapparameter.cpp | 3 +- platform/qt/src/qquickmapboxglmapparameter.hpp | 34 ++++ platform/qt/src/qquickmapboxglrenderer.cpp | 4 +- platform/qt/src/qquickmapboxglrenderer.hpp | 6 +- platform/qt/src/qt_geojson.hpp | 6 +- platform/qt/src/run_loop.cpp | 3 +- platform/qt/src/timer.cpp | 5 +- 23 files changed, 273 insertions(+), 266 deletions(-) delete mode 100644 platform/qt/include/QQuickMapboxGL delete mode 100644 platform/qt/include/QQuickMapboxGLMapParameter delete mode 100644 platform/qt/include/qquickmapboxgl.hpp delete mode 100644 platform/qt/include/qquickmapboxglmapparameter.hpp create mode 100644 platform/qt/src/qquickmapboxgl.hpp create mode 100644 platform/qt/src/qquickmapboxglmapparameter.hpp (limited to 'platform') diff --git a/platform/qt/config.cmake b/platform/qt/config.cmake index 3294310006..d8ede6b450 100644 --- a/platform/qt/config.cmake +++ b/platform/qt/config.cmake @@ -57,6 +57,10 @@ macro(mbgl_platform_test) target_add_mason_package(mbgl-test PRIVATE sqlite) target_link_libraries(mbgl-test + PRIVATE qmapboxgl ${MBGL_QT_LIBRARIES} ) endmacro() + +target_add_mason_package(qmapboxgl PRIVATE geojson) +target_add_mason_package(qmapboxgl PRIVATE rapidjson) diff --git a/platform/qt/include/QQuickMapboxGL b/platform/qt/include/QQuickMapboxGL deleted file mode 100644 index db109a1d3a..0000000000 --- a/platform/qt/include/QQuickMapboxGL +++ /dev/null @@ -1 +0,0 @@ -#include "qquickmapboxgl.hpp" diff --git a/platform/qt/include/QQuickMapboxGLMapParameter b/platform/qt/include/QQuickMapboxGLMapParameter deleted file mode 100644 index 603fb2bd51..0000000000 --- a/platform/qt/include/QQuickMapboxGLMapParameter +++ /dev/null @@ -1 +0,0 @@ -#include "qquickmapboxglmapparameter.hpp" diff --git a/platform/qt/include/qmapbox.hpp b/platform/qt/include/qmapbox.hpp index 4975076eee..9de4a7041d 100644 --- a/platform/qt/include/qmapbox.hpp +++ b/platform/qt/include/qmapbox.hpp @@ -84,6 +84,7 @@ typedef void (*CustomLayerRenderFunction)(void* context, const CustomLayerRender typedef void (*CustomLayerDeinitializeFunction)(void* context); Q_DECL_EXPORT void initializeGLExtensions(); +Q_DECL_EXPORT void registerTypes(); } // namespace QMapbox diff --git a/platform/qt/include/qquickmapboxgl.hpp b/platform/qt/include/qquickmapboxgl.hpp deleted file mode 100644 index 44878c246e..0000000000 --- a/platform/qt/include/qquickmapboxgl.hpp +++ /dev/null @@ -1,178 +0,0 @@ -#ifndef QQUICKMAPBOXGL_H -#define QQUICKMAPBOXGL_H - -#include -#include -#include -#include -#include -#include -#include -#include - -#include -#include - -class QDeclarativeGeoServiceProvider; -class QQuickItem; -class QQuickMapboxGLRenderer; - -class Q_DECL_EXPORT QQuickMapboxGL : public QQuickFramebufferObject -{ - Q_OBJECT - - // Map QML Type interface. - Q_ENUMS(QGeoServiceProvider::Error) - Q_PROPERTY(QDeclarativeGeoServiceProvider *plugin READ plugin WRITE setPlugin NOTIFY pluginChanged) - Q_PROPERTY(qreal minimumZoomLevel READ minimumZoomLevel WRITE setMinimumZoomLevel NOTIFY minimumZoomLevelChanged) - Q_PROPERTY(qreal maximumZoomLevel READ maximumZoomLevel WRITE setMaximumZoomLevel NOTIFY maximumZoomLevelChanged) - Q_PROPERTY(qreal zoomLevel READ zoomLevel WRITE setZoomLevel NOTIFY zoomLevelChanged) - Q_PROPERTY(QGeoCoordinate center READ center WRITE setCenter NOTIFY centerChanged) - Q_PROPERTY(QGeoServiceProvider::Error error READ error NOTIFY errorChanged) - Q_PROPERTY(QString errorString READ errorString NOTIFY errorChanged) - Q_PROPERTY(QGeoShape visibleRegion READ visibleRegion WRITE setVisibleRegion) - Q_PROPERTY(bool copyrightsVisible READ copyrightsVisible WRITE setCopyrightsVisible NOTIFY copyrightsVisibleChanged) - Q_PROPERTY(QColor color READ color WRITE setColor NOTIFY colorChanged) - - // Proposed Qt interface - based on the example documentation below: - // http://doc.qt.io/qt-5/qtqml-referenceexamples-properties-example.html - Q_PROPERTY(QQmlListProperty parameters READ parameters) - -public: - QQuickMapboxGL(QQuickItem *parent = 0); - virtual ~QQuickMapboxGL(); - - // QQuickFramebufferObject implementation. - virtual Renderer *createRenderer() const Q_DECL_FINAL; - - // Map QML Type interface implementation. - void setPlugin(QDeclarativeGeoServiceProvider *plugin); - QDeclarativeGeoServiceProvider *plugin() const; - - void setMinimumZoomLevel(qreal minimumZoomLevel); - qreal minimumZoomLevel() const; - - void setMaximumZoomLevel(qreal maximumZoomLevel); - qreal maximumZoomLevel() const; - - void setZoomLevel(qreal zoomLevel); - qreal zoomLevel() const; - - QGeoCoordinate center() const; - - QGeoServiceProvider::Error error() const; - QString errorString() const; - - void setVisibleRegion(const QGeoShape &shape); - QGeoShape visibleRegion() const; - - void setCopyrightsVisible(bool visible); - bool copyrightsVisible() const; - - void setColor(const QColor &color); - QColor color() const; - - Q_INVOKABLE void pan(int dx, int dy); - - // Proposed Qt interface implementation. - QQmlListProperty parameters(); - -protected: - // QQmlParserStatus implementation - void componentComplete() override; - -signals: - // Map QML Type signals. - void minimumZoomLevelChanged(); - void maximumZoomLevelChanged(); - void zoomLevelChanged(qreal zoomLevel); - void centerChanged(const QGeoCoordinate &coordinate); - void colorChanged(const QColor &color); - void errorChanged(); - - // Compatibility with Map QML Type, but no-op. - void pluginChanged(QDeclarativeGeoServiceProvider *plugin); - void copyrightLinkActivated(const QString &link); - void copyrightsVisibleChanged(bool visible); - -public slots: - void setCenter(const QGeoCoordinate ¢er); - -private slots: - void onMapChanged(QMapbox::MapChange); - void onParameterPropertyUpdated(const QString &name); - -private: - static void appendParameter(QQmlListProperty *prop, QQuickMapboxGLMapParameter *mapObject); - static int countParameters(QQmlListProperty *prop); - static QQuickMapboxGLMapParameter *parameterAt(QQmlListProperty *prop, int index); - static void clearParameter(QQmlListProperty *prop); - - enum SyncState { - NothingNeedsSync = 0, - ZoomNeedsSync = 1 << 0, - CenterNeedsSync = 1 << 1, - StyleNeedsSync = 1 << 2, - PanNeedsSync = 1 << 3, - BearingNeedsSync = 1 << 4, - PitchNeedsSync = 1 << 5, - }; - - struct Image { - QString name; - QImage sprite; - }; - - struct StyleProperty { - enum Type { - Paint = 0, - Layout - }; - - Type type; - QString layer; - QString property; - QVariant value; - QString klass; - }; - - void processMapParameter(QQuickMapboxGLMapParameter *); - bool parseImage(QQuickMapboxGLMapParameter *); - bool parseStyle(QQuickMapboxGLMapParameter *); - bool parseStyleProperty(QQuickMapboxGLMapParameter *, const QString &name); - bool parseStyleLayer(QQuickMapboxGLMapParameter *); - bool parseStyleSource(QQuickMapboxGLMapParameter *); - bool parseStyleFilter(QQuickMapboxGLMapParameter *); - bool parseBearing(QQuickMapboxGLMapParameter *); - bool parsePitch(QQuickMapboxGLMapParameter *); - - qreal m_minimumZoomLevel = 0; - qreal m_maximumZoomLevel = 20; - qreal m_zoomLevel = 20; - - QPointF m_pan; - - QGeoCoordinate m_center; - QGeoShape m_visibleRegion; - QColor m_color; - QString m_styleUrl; - QList m_imageChanges; - QList m_stylePropertyChanges; - QList m_layerChanges; - QList m_sourceChanges; - QList m_filterChanges; - QList m_parameters; - - QGeoServiceProvider::Error m_error = QGeoServiceProvider::NoError; - QString m_errorString; - - qreal m_bearing = 0; - qreal m_pitch = 0; - - int m_syncState = NothingNeedsSync; - bool m_styleLoaded = false; - - friend class QQuickMapboxGLRenderer; -}; - -#endif // QQUICKMAPBOXGL_H diff --git a/platform/qt/include/qquickmapboxglmapparameter.hpp b/platform/qt/include/qquickmapboxglmapparameter.hpp deleted file mode 100644 index 914b8e6790..0000000000 --- a/platform/qt/include/qquickmapboxglmapparameter.hpp +++ /dev/null @@ -1,37 +0,0 @@ -#ifndef QQUICKMAPBOXGLMAPPARAMETER_H -#define QQUICKMAPBOXGLMAPPARAMETER_H - -#include -#include -#include -#include - -class Q_DECL_EXPORT QQuickMapboxGLMapParameter : public QObject, public QQmlParserStatus -{ - Q_OBJECT - Q_INTERFACES(QQmlParserStatus) - -public: - QQuickMapboxGLMapParameter(QObject *parent = 0); - virtual ~QQuickMapboxGLMapParameter() {}; - - int propertyOffset() const { return m_metaPropertyOffset; } - -signals: - void propertyUpdated(const QString &name); - -protected: - // QQmlParserStatus implementation - void classBegin() override {} - void componentComplete() override; - -private slots: - void onPropertyUpdated(int index); - -private: - int m_metaPropertyOffset; -}; - -QML_DECLARE_TYPE(QQuickMapboxGLMapParameter) - -#endif // QQUICKMAPBOXGLMAPPARAMETER_H diff --git a/platform/qt/qmlapp/main.cpp b/platform/qt/qmlapp/main.cpp index 030f6cc4bd..0dd8c96b7d 100644 --- a/platform/qt/qmlapp/main.cpp +++ b/platform/qt/qmlapp/main.cpp @@ -1,11 +1,10 @@ +#include + #include #include #include #include -#include -#include - int main(int argc, char *argv[]) { QGuiApplication app(argc, argv); @@ -14,8 +13,9 @@ int main(int argc, char *argv[]) app.setWindowIcon(QIcon(":icon.png")); #endif - qmlRegisterType("QQuickMapboxGL", 1, 0, "MapboxMap"); - qmlRegisterType("QQuickMapboxGL", 1, 0, "MapParameter"); + // Exposes the QQuickMapboxGL module so we + // can do `import QQuickMapboxGL 1.0`. + QMapbox::registerTypes(); QQmlApplicationEngine engine; engine.load(QUrl(QStringLiteral("qrc:/main.qml"))); diff --git a/platform/qt/qt.cmake b/platform/qt/qt.cmake index bee8e3e27b..e606750be7 100644 --- a/platform/qt/qt.cmake +++ b/platform/qt/qt.cmake @@ -37,24 +37,26 @@ set(MBGL_QT_FILES PRIVATE platform/qt/src/http_request.cpp PRIVATE platform/qt/src/http_request.hpp PRIVATE platform/qt/src/image.cpp - PRIVATE platform/qt/src/qmapbox.cpp - PRIVATE platform/qt/src/qmapboxgl.cpp - PRIVATE platform/qt/src/qmapboxgl_p.hpp PRIVATE platform/qt/src/run_loop.cpp PRIVATE platform/qt/src/run_loop_impl.hpp PRIVATE platform/qt/src/string_stdlib.cpp PRIVATE platform/qt/src/timer.cpp PRIVATE platform/qt/src/timer_impl.hpp - - # Public headers - PRIVATE platform/qt/include/qmapbox.hpp - PRIVATE platform/qt/include/qmapboxgl.hpp ) include_directories( PRIVATE platform/qt/include ) +# Shared library +add_library(qmapboxgl SHARED + platform/qt/include/qmapbox.hpp + platform/qt/include/qmapboxgl.hpp + platform/qt/src/qmapbox.cpp + platform/qt/src/qmapboxgl.cpp + platform/qt/src/qmapboxgl_p.hpp +) + # C++ app add_executable(mbgl-qt platform/qt/app/main.cpp diff --git a/platform/qt/qt4.cmake b/platform/qt/qt4.cmake index 451edbc15b..56e41e847a 100644 --- a/platform/qt/qt4.cmake +++ b/platform/qt/qt4.cmake @@ -9,11 +9,11 @@ set(MBGL_QT_LIBRARIES PRIVATE Qt4::QtOpenGL ) -add_library(qmapboxgl SHARED) - target_link_libraries(qmapboxgl - PUBLIC mbgl-core + PRIVATE mbgl-core PRIVATE Qt4::QtCore + PRIVATE Qt4::QtGui + PRIVATE Qt4::QtOpenGL ) target_link_libraries(mbgl-qt diff --git a/platform/qt/qt5.cmake b/platform/qt/qt5.cmake index 45b82e0311..687a041b18 100644 --- a/platform/qt/qt5.cmake +++ b/platform/qt/qt5.cmake @@ -11,17 +11,19 @@ QT5_ADD_RESOURCES(MBGL_QT_FILES platform/qt/qmapbox.qrc) set(MBGL_QT_LIBRARIES PRIVATE Qt5::Core PRIVATE Qt5::Gui + PRIVATE Qt5::Location PRIVATE Qt5::Network PRIVATE Qt5::OpenGL + PRIVATE Qt5::Quick ) -add_library(qmapboxgl SHARED - platform/qt/include/qquickmapboxgl.hpp - platform/qt/include/qquickmapboxglmapparameter.hpp - platform/qt/src/qquickmapboxgl.cpp - platform/qt/src/qquickmapboxglmapparameter.cpp - platform/qt/src/qquickmapboxglrenderer.cpp - platform/qt/src/qquickmapboxglrenderer.hpp +target_sources(qmapboxgl + PRIVATE platform/qt/src/qquickmapboxgl.cpp + PRIVATE platform/qt/src/qquickmapboxgl.hpp + PRIVATE platform/qt/src/qquickmapboxglmapparameter.cpp + PRIVATE platform/qt/src/qquickmapboxglmapparameter.hpp + PRIVATE platform/qt/src/qquickmapboxglrenderer.cpp + PRIVATE platform/qt/src/qquickmapboxglrenderer.hpp ) target_link_libraries(qmapboxgl diff --git a/platform/qt/src/async_task.cpp b/platform/qt/src/async_task.cpp index c376c1c370..79abd2945e 100644 --- a/platform/qt/src/async_task.cpp +++ b/platform/qt/src/async_task.cpp @@ -1,7 +1,6 @@ -#include - #include "async_task_impl.hpp" +#include #include #include diff --git a/platform/qt/src/qmapbox.cpp b/platform/qt/src/qmapbox.cpp index a101eb4986..7e7a3c5f84 100644 --- a/platform/qt/src/qmapbox.cpp +++ b/platform/qt/src/qmapbox.cpp @@ -1,12 +1,14 @@ -#include +#include "qmapbox.hpp" + #include +#include #include #include #include -#include - #if QT_VERSION >= 0x050000 +#include "qquickmapboxgl.hpp" +#include "qquickmapboxglmapparameter.hpp" #include #else #include @@ -73,4 +75,12 @@ Q_DECL_EXPORT void initializeGLExtensions() }); } +Q_DECL_EXPORT void registerTypes() +{ +#if QT_VERSION >= 0x050000 + qmlRegisterType("QQuickMapboxGL", 1, 0, "MapboxMap"); + qmlRegisterType("QQuickMapboxGL", 1, 0, "MapParameter"); +#endif +} + } diff --git a/platform/qt/src/qmapboxgl.cpp b/platform/qt/src/qmapboxgl.cpp index 74238bd240..103ed83256 100644 --- a/platform/qt/src/qmapboxgl.cpp +++ b/platform/qt/src/qmapboxgl.cpp @@ -1,3 +1,4 @@ +#include "qmapboxgl.hpp" #include "qmapboxgl_p.hpp" #include "qt_conversion.hpp" @@ -28,7 +29,6 @@ #include #include -#include #include #include #include diff --git a/platform/qt/src/qmapboxgl_p.hpp b/platform/qt/src/qmapboxgl_p.hpp index 106ce97d50..11b5f695ca 100644 --- a/platform/qt/src/qmapboxgl_p.hpp +++ b/platform/qt/src/qmapboxgl_p.hpp @@ -1,11 +1,12 @@ #pragma once +#include "qmapboxgl.hpp" + #include #include #include #include -#include #include #include diff --git a/platform/qt/src/qquickmapboxgl.cpp b/platform/qt/src/qquickmapboxgl.cpp index f71f869c9c..b17d8bfe3e 100644 --- a/platform/qt/src/qquickmapboxgl.cpp +++ b/platform/qt/src/qquickmapboxgl.cpp @@ -1,11 +1,11 @@ +#include "qquickmapboxgl.hpp" + +#include "qmapbox.hpp" +#include "qquickmapboxglmapparameter.hpp" #include "qquickmapboxglrenderer.hpp" #include -#include -#include -#include - #include #include #include @@ -14,7 +14,6 @@ #include #include - namespace { static const QRegularExpression s_camelCase {"([a-z0-9])([A-Z])"}; diff --git a/platform/qt/src/qquickmapboxgl.hpp b/platform/qt/src/qquickmapboxgl.hpp new file mode 100644 index 0000000000..64cc41bf78 --- /dev/null +++ b/platform/qt/src/qquickmapboxgl.hpp @@ -0,0 +1,175 @@ +#pragma once + +#include "qmapbox.hpp" +#include "qquickmapboxglmapparameter.hpp" + +#include +#include +#include +#include +#include +#include +#include +#include + +class QDeclarativeGeoServiceProvider; +class QQuickItem; +class QQuickMapboxGLRenderer; + +class Q_DECL_EXPORT QQuickMapboxGL : public QQuickFramebufferObject +{ + Q_OBJECT + + // Map QML Type interface. + Q_ENUMS(QGeoServiceProvider::Error) + Q_PROPERTY(QDeclarativeGeoServiceProvider *plugin READ plugin WRITE setPlugin NOTIFY pluginChanged) + Q_PROPERTY(qreal minimumZoomLevel READ minimumZoomLevel WRITE setMinimumZoomLevel NOTIFY minimumZoomLevelChanged) + Q_PROPERTY(qreal maximumZoomLevel READ maximumZoomLevel WRITE setMaximumZoomLevel NOTIFY maximumZoomLevelChanged) + Q_PROPERTY(qreal zoomLevel READ zoomLevel WRITE setZoomLevel NOTIFY zoomLevelChanged) + Q_PROPERTY(QGeoCoordinate center READ center WRITE setCenter NOTIFY centerChanged) + Q_PROPERTY(QGeoServiceProvider::Error error READ error NOTIFY errorChanged) + Q_PROPERTY(QString errorString READ errorString NOTIFY errorChanged) + Q_PROPERTY(QGeoShape visibleRegion READ visibleRegion WRITE setVisibleRegion) + Q_PROPERTY(bool copyrightsVisible READ copyrightsVisible WRITE setCopyrightsVisible NOTIFY copyrightsVisibleChanged) + Q_PROPERTY(QColor color READ color WRITE setColor NOTIFY colorChanged) + + // Proposed Qt interface - based on the example documentation below: + // http://doc.qt.io/qt-5/qtqml-referenceexamples-properties-example.html + Q_PROPERTY(QQmlListProperty parameters READ parameters) + +public: + QQuickMapboxGL(QQuickItem *parent = 0); + virtual ~QQuickMapboxGL(); + + // QQuickFramebufferObject implementation. + virtual Renderer *createRenderer() const Q_DECL_FINAL; + + // Map QML Type interface implementation. + void setPlugin(QDeclarativeGeoServiceProvider *plugin); + QDeclarativeGeoServiceProvider *plugin() const; + + void setMinimumZoomLevel(qreal minimumZoomLevel); + qreal minimumZoomLevel() const; + + void setMaximumZoomLevel(qreal maximumZoomLevel); + qreal maximumZoomLevel() const; + + void setZoomLevel(qreal zoomLevel); + qreal zoomLevel() const; + + QGeoCoordinate center() const; + + QGeoServiceProvider::Error error() const; + QString errorString() const; + + void setVisibleRegion(const QGeoShape &shape); + QGeoShape visibleRegion() const; + + void setCopyrightsVisible(bool visible); + bool copyrightsVisible() const; + + void setColor(const QColor &color); + QColor color() const; + + Q_INVOKABLE void pan(int dx, int dy); + + // Proposed Qt interface implementation. + QQmlListProperty parameters(); + +protected: + // QQmlParserStatus implementation + void componentComplete() override; + +signals: + // Map QML Type signals. + void minimumZoomLevelChanged(); + void maximumZoomLevelChanged(); + void zoomLevelChanged(qreal zoomLevel); + void centerChanged(const QGeoCoordinate &coordinate); + void colorChanged(const QColor &color); + void errorChanged(); + + // Compatibility with Map QML Type, but no-op. + void pluginChanged(QDeclarativeGeoServiceProvider *plugin); + void copyrightLinkActivated(const QString &link); + void copyrightsVisibleChanged(bool visible); + +public slots: + void setCenter(const QGeoCoordinate ¢er); + +private slots: + void onMapChanged(QMapbox::MapChange); + void onParameterPropertyUpdated(const QString &name); + +private: + static void appendParameter(QQmlListProperty *prop, QQuickMapboxGLMapParameter *mapObject); + static int countParameters(QQmlListProperty *prop); + static QQuickMapboxGLMapParameter *parameterAt(QQmlListProperty *prop, int index); + static void clearParameter(QQmlListProperty *prop); + + enum SyncState { + NothingNeedsSync = 0, + ZoomNeedsSync = 1 << 0, + CenterNeedsSync = 1 << 1, + StyleNeedsSync = 1 << 2, + PanNeedsSync = 1 << 3, + BearingNeedsSync = 1 << 4, + PitchNeedsSync = 1 << 5, + }; + + struct Image { + QString name; + QImage sprite; + }; + + struct StyleProperty { + enum Type { + Paint = 0, + Layout + }; + + Type type; + QString layer; + QString property; + QVariant value; + QString klass; + }; + + void processMapParameter(QQuickMapboxGLMapParameter *); + bool parseImage(QQuickMapboxGLMapParameter *); + bool parseStyle(QQuickMapboxGLMapParameter *); + bool parseStyleProperty(QQuickMapboxGLMapParameter *, const QString &name); + bool parseStyleLayer(QQuickMapboxGLMapParameter *); + bool parseStyleSource(QQuickMapboxGLMapParameter *); + bool parseStyleFilter(QQuickMapboxGLMapParameter *); + bool parseBearing(QQuickMapboxGLMapParameter *); + bool parsePitch(QQuickMapboxGLMapParameter *); + + qreal m_minimumZoomLevel = 0; + qreal m_maximumZoomLevel = 20; + qreal m_zoomLevel = 20; + + QPointF m_pan; + + QGeoCoordinate m_center; + QGeoShape m_visibleRegion; + QColor m_color; + QString m_styleUrl; + QList m_imageChanges; + QList m_stylePropertyChanges; + QList m_layerChanges; + QList m_sourceChanges; + QList m_filterChanges; + QList m_parameters; + + QGeoServiceProvider::Error m_error = QGeoServiceProvider::NoError; + QString m_errorString; + + qreal m_bearing = 0; + qreal m_pitch = 0; + + int m_syncState = NothingNeedsSync; + bool m_styleLoaded = false; + + friend class QQuickMapboxGLRenderer; +}; diff --git a/platform/qt/src/qquickmapboxglmapparameter.cpp b/platform/qt/src/qquickmapboxglmapparameter.cpp index 68fe8fac85..abf6e5ff1c 100644 --- a/platform/qt/src/qquickmapboxglmapparameter.cpp +++ b/platform/qt/src/qquickmapboxglmapparameter.cpp @@ -1,11 +1,10 @@ -#include "QQuickMapboxGLMapParameter" +#include "qquickmapboxglmapparameter.hpp" #include #include #include #include - QQuickMapboxGLMapParameter::QQuickMapboxGLMapParameter(QObject *parent) : QObject(parent) , m_metaPropertyOffset(metaObject()->propertyCount()) diff --git a/platform/qt/src/qquickmapboxglmapparameter.hpp b/platform/qt/src/qquickmapboxglmapparameter.hpp new file mode 100644 index 0000000000..1dca0cf55d --- /dev/null +++ b/platform/qt/src/qquickmapboxglmapparameter.hpp @@ -0,0 +1,34 @@ +#pragma once + +#include +#include +#include +#include + +class Q_DECL_EXPORT QQuickMapboxGLMapParameter : public QObject, public QQmlParserStatus +{ + Q_OBJECT + Q_INTERFACES(QQmlParserStatus) + +public: + QQuickMapboxGLMapParameter(QObject *parent = 0); + virtual ~QQuickMapboxGLMapParameter() {}; + + int propertyOffset() const { return m_metaPropertyOffset; } + +signals: + void propertyUpdated(const QString &name); + +protected: + // QQmlParserStatus implementation + void classBegin() override {} + void componentComplete() override; + +private slots: + void onPropertyUpdated(int index); + +private: + int m_metaPropertyOffset; +}; + +QML_DECLARE_TYPE(QQuickMapboxGLMapParameter) diff --git a/platform/qt/src/qquickmapboxglrenderer.cpp b/platform/qt/src/qquickmapboxglrenderer.cpp index 4208047380..d550794d64 100644 --- a/platform/qt/src/qquickmapboxglrenderer.cpp +++ b/platform/qt/src/qquickmapboxglrenderer.cpp @@ -1,7 +1,7 @@ #include "qquickmapboxglrenderer.hpp" -#include -#include +#include "qmapboxgl.hpp" +#include "qquickmapboxgl.hpp" #include #include diff --git a/platform/qt/src/qquickmapboxglrenderer.hpp b/platform/qt/src/qquickmapboxglrenderer.hpp index fa9b81ec7f..e0fc767d58 100644 --- a/platform/qt/src/qquickmapboxglrenderer.hpp +++ b/platform/qt/src/qquickmapboxglrenderer.hpp @@ -1,12 +1,12 @@ #pragma once +#include "qmapbox.hpp" +#include "qmapboxgl.hpp" + #include #include #include -#include -#include - class QGeoCoordinate; class QOpenGLFramebufferObject; class QSize; diff --git a/platform/qt/src/qt_geojson.hpp b/platform/qt/src/qt_geojson.hpp index fd2b689fed..07813623fd 100644 --- a/platform/qt/src/qt_geojson.hpp +++ b/platform/qt/src/qt_geojson.hpp @@ -4,12 +4,12 @@ #include #include -#include -#include - #include #include +#include +#include + namespace mbgl { namespace style { namespace conversion { diff --git a/platform/qt/src/run_loop.cpp b/platform/qt/src/run_loop.cpp index d33eb9cda6..1c199be9de 100644 --- a/platform/qt/src/run_loop.cpp +++ b/platform/qt/src/run_loop.cpp @@ -4,11 +4,10 @@ #include +#include #include #include -#include - namespace { using namespace mbgl::util; diff --git a/platform/qt/src/timer.cpp b/platform/qt/src/timer.cpp index 6d0ccb41d7..a0c1328d63 100644 --- a/platform/qt/src/timer.cpp +++ b/platform/qt/src/timer.cpp @@ -1,11 +1,10 @@ -#include +#include "timer_impl.hpp" #include +#include #include -#include "timer_impl.hpp" - namespace mbgl { namespace util { -- cgit v1.2.1