|
@@ -1,528 +0,0 @@
|
|
-From 4bcacd0dc8f73de7b9e5e5f5fa2129fd88bdff3b Mon Sep 17 00:00:00 2001
|
|
|
|
-From: Michal Klocek <michal.klocek@qt.io>
|
|
|
|
-Date: Mon, 11 Jan 2021 16:02:14 +0100
|
|
|
|
-Subject: [PATCH] Fix compilation for no opengl builds
|
|
|
|
-
|
|
|
|
-Disables experimental labs qml plugin, which
|
|
|
|
-since a4469cad40 depends heavily on opengl backend.
|
|
|
|
-
|
|
|
|
-Fix warnings with msvc when compiling without experimental
|
|
|
|
-plugin.
|
|
|
|
-
|
|
|
|
-Task-number: QTBUG-91623
|
|
|
|
-Fixes: QTBUG-88017
|
|
|
|
-Change-Id: I53c5da915981bd05f39134ba57f585d0a0786aa8
|
|
|
|
-
|
|
|
|
-Signed-off-by: Michal Klocek <michal.klocek@qt.io>
|
|
|
|
-Signed-off-by: Alex Blasche <alexander.blasche@qt.io>
|
|
|
|
-
|
|
|
|
-[Retrieved from: https://codereview.qt-project.org/c/qt/qtlocation/+/340353]
|
|
|
|
-Signed-off-by: Adam Duskett <aduskett@gmail.com>
|
|
|
|
----
|
|
|
|
- src/location/configure.json | 1 +
|
|
|
|
- .../qdeclarativecirclemapitem.cpp | 20 +++++++++++--
|
|
|
|
- .../qdeclarativecirclemapitem_p_p.h | 2 ++
|
|
|
|
- .../qdeclarativepolygonmapitem.cpp | 27 +++++++++++++----
|
|
|
|
- .../qdeclarativepolygonmapitem_p_p.h | 6 ++++
|
|
|
|
- .../qdeclarativepolylinemapitem.cpp | 30 +++++++++++++++----
|
|
|
|
- .../qdeclarativepolylinemapitem_p.h | 2 ++
|
|
|
|
- .../qdeclarativepolylinemapitem_p_p.h | 5 +++-
|
|
|
|
- .../qdeclarativerectanglemapitem.cpp | 17 +++++++++--
|
|
|
|
- .../qdeclarativerectanglemapitem_p_p.h | 2 ++
|
|
|
|
- src/location/location.pro | 9 +++++-
|
|
|
|
- .../itemsoverlay/qgeomapitemsoverlay.cpp | 9 +++++-
|
|
|
|
- 12 files changed, 109 insertions(+), 21 deletions(-)
|
|
|
|
-
|
|
|
|
-diff --git a/src/location/configure.json b/src/location/configure.json
|
|
|
|
-index 62ab029..6d01a9a 100644
|
|
|
|
---- a/src/location/configure.json
|
|
|
|
-+++ b/src/location/configure.json
|
|
|
|
-@@ -9,6 +9,7 @@
|
|
|
|
- "label": "Qt.labs.location experimental QML plugin",
|
|
|
|
- "purpose": "Provides experimental QtLocation QML types",
|
|
|
|
- "section": "Location",
|
|
|
|
-+ "condition": "config.opengl",
|
|
|
|
- "output": [ "privateFeature" ]
|
|
|
|
- },
|
|
|
|
- "geoservices_osm": {
|
|
|
|
-diff --git a/src/location/declarativemaps/qdeclarativecirclemapitem.cpp b/src/location/declarativemaps/qdeclarativecirclemapitem.cpp
|
|
|
|
-index 841c29a..955de2c 100644
|
|
|
|
---- a/src/location/declarativemaps/qdeclarativecirclemapitem.cpp
|
|
|
|
-+++ b/src/location/declarativemaps/qdeclarativecirclemapitem.cpp
|
|
|
|
-@@ -446,6 +446,7 @@ void QDeclarativeCircleMapItem::updatePolish()
|
|
|
|
- */
|
|
|
|
- void QDeclarativeCircleMapItem::possiblySwitchBackend(const QGeoCoordinate &oldCenter, qreal oldRadius, const QGeoCoordinate &newCenter, qreal newRadius)
|
|
|
|
- {
|
|
|
|
-+#if QT_CONFIG(opengl)
|
|
|
|
- if (m_backend != QDeclarativeCircleMapItem::OpenGL)
|
|
|
|
- return;
|
|
|
|
-
|
|
|
|
-@@ -459,6 +460,9 @@ void QDeclarativeCircleMapItem::possiblySwitchBackend(const QGeoCoordinate &oldC
|
|
|
|
- QScopedPointer<QDeclarativeCircleMapItemPrivate> d(static_cast<QDeclarativeCircleMapItemPrivate *>(new QDeclarativeCircleMapItemPrivateOpenGL(*this)));
|
|
|
|
- m_d.swap(d);
|
|
|
|
- }
|
|
|
|
-+#else
|
|
|
|
-+ return;
|
|
|
|
-+#endif
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
- /*!
|
|
|
|
-@@ -534,9 +538,17 @@ void QDeclarativeCircleMapItem::setBackend(QDeclarativeCircleMapItem::Backend b)
|
|
|
|
- if (b == m_backend)
|
|
|
|
- return;
|
|
|
|
- m_backend = b;
|
|
|
|
-- QScopedPointer<QDeclarativeCircleMapItemPrivate> d((m_backend == Software)
|
|
|
|
-- ? static_cast<QDeclarativeCircleMapItemPrivate *>(new QDeclarativeCircleMapItemPrivateCPU(*this))
|
|
|
|
-- : static_cast<QDeclarativeCircleMapItemPrivate * >(new QDeclarativeCircleMapItemPrivateOpenGL(*this)));
|
|
|
|
-+ QScopedPointer<QDeclarativeCircleMapItemPrivate> d(
|
|
|
|
-+ (m_backend == Software) ? static_cast<QDeclarativeCircleMapItemPrivate *>(
|
|
|
|
-+ new QDeclarativeCircleMapItemPrivateCPU(*this))
|
|
|
|
-+#if QT_CONFIG(opengl)
|
|
|
|
-+ : static_cast<QDeclarativeCircleMapItemPrivate *>(
|
|
|
|
-+ new QDeclarativeCircleMapItemPrivateOpenGL(*this)));
|
|
|
|
-+#else
|
|
|
|
-+ : nullptr);
|
|
|
|
-+ qFatal("Requested non software rendering backend, but source code is compiled wihtout opengl "
|
|
|
|
-+ "support");
|
|
|
|
-+#endif
|
|
|
|
- m_d.swap(d);
|
|
|
|
- m_d->onGeoGeometryChanged();
|
|
|
|
- emit backendChanged();
|
|
|
|
-@@ -565,7 +577,9 @@ QDeclarativeCircleMapItemPrivate::~QDeclarativeCircleMapItemPrivate() {}
|
|
|
|
-
|
|
|
|
- QDeclarativeCircleMapItemPrivateCPU::~QDeclarativeCircleMapItemPrivateCPU() {}
|
|
|
|
-
|
|
|
|
-+#if QT_CONFIG(opengl)
|
|
|
|
- QDeclarativeCircleMapItemPrivateOpenGL::~QDeclarativeCircleMapItemPrivateOpenGL() {}
|
|
|
|
-+#endif
|
|
|
|
-
|
|
|
|
- bool QDeclarativeCircleMapItemPrivate::preserveCircleGeometry (QList<QDoubleVector2D> &path,
|
|
|
|
- const QGeoCoordinate ¢er, qreal distance, const QGeoProjectionWebMercator &p)
|
|
|
|
-diff --git a/src/location/declarativemaps/qdeclarativecirclemapitem_p_p.h b/src/location/declarativemaps/qdeclarativecirclemapitem_p_p.h
|
|
|
|
-index 4cf4217..dbe6c8b 100644
|
|
|
|
---- a/src/location/declarativemaps/qdeclarativecirclemapitem_p_p.h
|
|
|
|
-+++ b/src/location/declarativemaps/qdeclarativecirclemapitem_p_p.h
|
|
|
|
-@@ -275,6 +275,7 @@ public:
|
|
|
|
- MapPolygonNode *m_node = nullptr;
|
|
|
|
- };
|
|
|
|
-
|
|
|
|
-+#if QT_CONFIG(opengl)
|
|
|
|
- class Q_LOCATION_PRIVATE_EXPORT QDeclarativeCircleMapItemPrivateOpenGL: public QDeclarativeCircleMapItemPrivate
|
|
|
|
- {
|
|
|
|
- public:
|
|
|
|
-@@ -443,6 +444,7 @@ public:
|
|
|
|
- MapPolygonNodeGL *m_node = nullptr;
|
|
|
|
- MapPolylineNodeOpenGLExtruded *m_polylinenode = nullptr;
|
|
|
|
- };
|
|
|
|
-+#endif // QT_CONFIG(opengl)
|
|
|
|
-
|
|
|
|
- QT_END_NAMESPACE
|
|
|
|
-
|
|
|
|
-diff --git a/src/location/declarativemaps/qdeclarativepolygonmapitem.cpp b/src/location/declarativemaps/qdeclarativepolygonmapitem.cpp
|
|
|
|
-index fa6ee17..af4f55e 100644
|
|
|
|
---- a/src/location/declarativemaps/qdeclarativepolygonmapitem.cpp
|
|
|
|
-+++ b/src/location/declarativemaps/qdeclarativepolygonmapitem.cpp
|
|
|
|
-@@ -334,6 +334,7 @@ void QGeoMapPolygonGeometry::updateScreenPoints(const QGeoMap &map, qreal stroke
|
|
|
|
- this->translate(QPointF(strokeWidth, strokeWidth));
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
-+#if QT_CONFIG(opengl)
|
|
|
|
- QGeoMapPolygonGeometryOpenGL::QGeoMapPolygonGeometryOpenGL(){
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
-@@ -344,6 +345,7 @@ void QGeoMapPolygonGeometryOpenGL::updateSourcePoints(const QGeoMap &map, const
|
|
|
|
- geopath.append(QWebMercator::mercatorToCoord(c));
|
|
|
|
- updateSourcePoints(map, geopath);
|
|
|
|
- }
|
|
|
|
-+#endif
|
|
|
|
-
|
|
|
|
- // wrapPath always preserves the geometry
|
|
|
|
- // This one handles holes
|
|
|
|
-@@ -452,6 +454,7 @@ static void cutPathEars(const QList<QDoubleVector2D> &wrappedPath,
|
|
|
|
- screenIndices << quint32(i);
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
-+#if QT_CONFIG(opengl)
|
|
|
|
- /*!
|
|
|
|
- \internal
|
|
|
|
- */
|
|
|
|
-@@ -594,7 +597,7 @@ void QGeoMapPolygonGeometryOpenGL::updateQuickGeometry(const QGeoProjectionWebMe
|
|
|
|
- sourceBounds_.setWidth(brect.width());
|
|
|
|
- sourceBounds_.setHeight(brect.height());
|
|
|
|
- }
|
|
|
|
--
|
|
|
|
-+#endif // QT_CONFIG(opengl)
|
|
|
|
- /*
|
|
|
|
- * QDeclarativePolygonMapItem Private Implementations
|
|
|
|
- */
|
|
|
|
-@@ -603,8 +606,9 @@ QDeclarativePolygonMapItemPrivate::~QDeclarativePolygonMapItemPrivate() {}
|
|
|
|
-
|
|
|
|
- QDeclarativePolygonMapItemPrivateCPU::~QDeclarativePolygonMapItemPrivateCPU() {}
|
|
|
|
-
|
|
|
|
-+#if QT_CONFIG(opengl)
|
|
|
|
- QDeclarativePolygonMapItemPrivateOpenGL::~QDeclarativePolygonMapItemPrivateOpenGL() {}
|
|
|
|
--
|
|
|
|
-+#endif
|
|
|
|
- /*
|
|
|
|
- * QDeclarativePolygonMapItem Implementation
|
|
|
|
- */
|
|
|
|
-@@ -689,9 +693,17 @@ void QDeclarativePolygonMapItem::setBackend(QDeclarativePolygonMapItem::Backend
|
|
|
|
- if (b == m_backend)
|
|
|
|
- return;
|
|
|
|
- m_backend = b;
|
|
|
|
-- QScopedPointer<QDeclarativePolygonMapItemPrivate> d((m_backend == Software)
|
|
|
|
-- ? static_cast<QDeclarativePolygonMapItemPrivate *>(new QDeclarativePolygonMapItemPrivateCPU(*this))
|
|
|
|
-- : static_cast<QDeclarativePolygonMapItemPrivate * >(new QDeclarativePolygonMapItemPrivateOpenGL(*this)));
|
|
|
|
-+ QScopedPointer<QDeclarativePolygonMapItemPrivate> d(
|
|
|
|
-+ (m_backend == Software) ? static_cast<QDeclarativePolygonMapItemPrivate *>(
|
|
|
|
-+ new QDeclarativePolygonMapItemPrivateCPU(*this))
|
|
|
|
-+#if QT_CONFIG(opengl)
|
|
|
|
-+ : static_cast<QDeclarativePolygonMapItemPrivate *>(
|
|
|
|
-+ new QDeclarativePolygonMapItemPrivateOpenGL(*this)));
|
|
|
|
-+#else
|
|
|
|
-+ : nullptr);
|
|
|
|
-+ qFatal("Requested non software rendering backend, but source code is compiled wihtout opengl "
|
|
|
|
-+ "support");
|
|
|
|
-+#endif
|
|
|
|
- m_d.swap(d);
|
|
|
|
- m_d->onGeoGeometryChanged();
|
|
|
|
- emit backendChanged();
|
|
|
|
-@@ -898,6 +910,7 @@ void QDeclarativePolygonMapItem::geometryChanged(const QRectF &newGeometry, cons
|
|
|
|
-
|
|
|
|
- //////////////////////////////////////////////////////////////////////
|
|
|
|
-
|
|
|
|
-+#if QT_CONFIG(opengl)
|
|
|
|
- QSGMaterialShader *MapPolygonMaterial::createShader() const
|
|
|
|
- {
|
|
|
|
- return new MapPolygonShader();
|
|
|
|
-@@ -916,6 +929,7 @@ QSGMaterialType *MapPolygonMaterial::type() const
|
|
|
|
- static QSGMaterialType type;
|
|
|
|
- return &type;
|
|
|
|
- }
|
|
|
|
-+#endif
|
|
|
|
-
|
|
|
|
- MapPolygonNode::MapPolygonNode() :
|
|
|
|
- border_(new MapPolylineNode()),
|
|
|
|
-@@ -967,6 +981,7 @@ void MapPolygonNode::update(const QColor &fillColor, const QColor &borderColor,
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
-+#if QT_CONFIG(opengl)
|
|
|
|
- MapPolygonNodeGL::MapPolygonNodeGL() :
|
|
|
|
- //fill_material_(this),
|
|
|
|
- fill_material_(),
|
|
|
|
-@@ -1052,5 +1067,5 @@ void MapPolygonShader::updateState(const QSGMaterialShader::RenderState &state,
|
|
|
|
- program()->setUniformValue(m_center_lowpart_id, vecCenter_lowpart);
|
|
|
|
- program()->setUniformValue(m_wrapOffset_id, float(newMaterial->wrapOffset()));
|
|
|
|
- }
|
|
|
|
--
|
|
|
|
-+#endif // QT_CONFIG(opengl)
|
|
|
|
- QT_END_NAMESPACE
|
|
|
|
-diff --git a/src/location/declarativemaps/qdeclarativepolygonmapitem_p_p.h b/src/location/declarativemaps/qdeclarativepolygonmapitem_p_p.h
|
|
|
|
-index 8d566e6..5e75deb 100644
|
|
|
|
---- a/src/location/declarativemaps/qdeclarativepolygonmapitem_p_p.h
|
|
|
|
-+++ b/src/location/declarativemaps/qdeclarativepolygonmapitem_p_p.h
|
|
|
|
-@@ -89,6 +89,7 @@ protected:
|
|
|
|
- bool assumeSimple_;
|
|
|
|
- };
|
|
|
|
-
|
|
|
|
-+#if QT_CONFIG(opengl)
|
|
|
|
- class Q_LOCATION_PRIVATE_EXPORT QGeoMapPolygonGeometryOpenGL : public QGeoMapItemGeometry
|
|
|
|
- {
|
|
|
|
- public:
|
|
|
|
-@@ -197,6 +198,7 @@ private:
|
|
|
|
- int m_color_id;
|
|
|
|
- int m_wrapOffset_id;
|
|
|
|
- };
|
|
|
|
-+#endif // QT_CONFIG(opengl)
|
|
|
|
-
|
|
|
|
- class Q_LOCATION_PRIVATE_EXPORT MapPolygonMaterial : public QSGFlatColorMaterial
|
|
|
|
- {
|
|
|
|
-@@ -269,6 +271,7 @@ private:
|
|
|
|
- QSGGeometry geometry_;
|
|
|
|
- };
|
|
|
|
-
|
|
|
|
-+#if QT_CONFIG(opengl)
|
|
|
|
- class Q_LOCATION_PRIVATE_EXPORT MapPolygonNodeGL : public MapItemGeometryNode
|
|
|
|
- {
|
|
|
|
-
|
|
|
|
-@@ -284,6 +287,7 @@ public:
|
|
|
|
- MapPolygonMaterial fill_material_;
|
|
|
|
- QSGGeometry geometry_;
|
|
|
|
- };
|
|
|
|
-+#endif // QT_CONFIG(opengl)
|
|
|
|
-
|
|
|
|
- class Q_LOCATION_PRIVATE_EXPORT QDeclarativePolygonMapItemPrivate
|
|
|
|
- {
|
|
|
|
-@@ -479,6 +483,7 @@ public:
|
|
|
|
- MapPolygonNode *m_node = nullptr;
|
|
|
|
- };
|
|
|
|
-
|
|
|
|
-+#if QT_CONFIG(opengl)
|
|
|
|
- class Q_LOCATION_PRIVATE_EXPORT QDeclarativePolygonMapItemPrivateOpenGL: public QDeclarativePolygonMapItemPrivate
|
|
|
|
- {
|
|
|
|
- public:
|
|
|
|
-@@ -662,6 +667,7 @@ public:
|
|
|
|
- MapPolygonNodeGL *m_node = nullptr;
|
|
|
|
- MapPolylineNodeOpenGLExtruded *m_polylinenode = nullptr;
|
|
|
|
- };
|
|
|
|
-+#endif // QT_CONFIG(opengl)
|
|
|
|
-
|
|
|
|
- QT_END_NAMESPACE
|
|
|
|
-
|
|
|
|
-diff --git a/src/location/declarativemaps/qdeclarativepolylinemapitem.cpp b/src/location/declarativemaps/qdeclarativepolylinemapitem.cpp
|
|
|
|
-index d59704d..83d253f 100644
|
|
|
|
---- a/src/location/declarativemaps/qdeclarativepolylinemapitem.cpp
|
|
|
|
-+++ b/src/location/declarativemaps/qdeclarativepolylinemapitem.cpp
|
|
|
|
-@@ -769,6 +769,7 @@ bool QGeoMapPolylineGeometry::contains(const QPointF &point) const
|
|
|
|
- return false;
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
-+#if QT_CONFIG(opengl)
|
|
|
|
- void QGeoMapPolylineGeometryOpenGL::updateSourcePoints(const QGeoMap &map, const QGeoPolygon &poly)
|
|
|
|
- {
|
|
|
|
- if (!sourceDirty_)
|
|
|
|
-@@ -921,6 +922,7 @@ void QGeoMapPolylineGeometryOpenGL::updateQuickGeometry(const QGeoProjectionWebM
|
|
|
|
- sourceBounds_.setWidth(brect.width() + strokeWidth);
|
|
|
|
- sourceBounds_.setHeight(brect.height() + strokeWidth);
|
|
|
|
- }
|
|
|
|
-+#endif // QT_CONFIG(opengl)
|
|
|
|
-
|
|
|
|
- /*
|
|
|
|
- * QDeclarativePolygonMapItem Private Implementations
|
|
|
|
-@@ -928,12 +930,13 @@ void QGeoMapPolylineGeometryOpenGL::updateQuickGeometry(const QGeoProjectionWebM
|
|
|
|
-
|
|
|
|
- QDeclarativePolylineMapItemPrivate::~QDeclarativePolylineMapItemPrivate() {}
|
|
|
|
-
|
|
|
|
--
|
|
|
|
- QDeclarativePolylineMapItemPrivateCPU::~QDeclarativePolylineMapItemPrivateCPU() {}
|
|
|
|
-
|
|
|
|
-+#if QT_CONFIG(opengl)
|
|
|
|
- QDeclarativePolylineMapItemPrivateOpenGLLineStrip::~QDeclarativePolylineMapItemPrivateOpenGLLineStrip() {}
|
|
|
|
-
|
|
|
|
- QDeclarativePolylineMapItemPrivateOpenGLExtruded::~QDeclarativePolylineMapItemPrivateOpenGLExtruded() {}
|
|
|
|
-+#endif
|
|
|
|
-
|
|
|
|
- /*
|
|
|
|
- * QDeclarativePolygonMapItem Implementation
|
|
|
|
-@@ -941,10 +944,12 @@ QDeclarativePolylineMapItemPrivateOpenGLExtruded::~QDeclarativePolylineMapItemPr
|
|
|
|
-
|
|
|
|
- struct PolylineBackendSelector
|
|
|
|
- {
|
|
|
|
-+#if QT_CONFIG(opengl)
|
|
|
|
- PolylineBackendSelector()
|
|
|
|
- {
|
|
|
|
- backend = (qgetenv("QTLOCATION_OPENGL_ITEMS").toInt()) ? QDeclarativePolylineMapItem::OpenGLExtruded : QDeclarativePolylineMapItem::Software;
|
|
|
|
- }
|
|
|
|
-+#endif
|
|
|
|
- QDeclarativePolylineMapItem::Backend backend = QDeclarativePolylineMapItem::Software;
|
|
|
|
- };
|
|
|
|
-
|
|
|
|
-@@ -1236,11 +1241,22 @@ void QDeclarativePolylineMapItem::setBackend(QDeclarativePolylineMapItem::Backen
|
|
|
|
- if (b == m_backend)
|
|
|
|
- return;
|
|
|
|
- m_backend = b;
|
|
|
|
-- QScopedPointer<QDeclarativePolylineMapItemPrivate> d((m_backend == Software)
|
|
|
|
-- ? static_cast<QDeclarativePolylineMapItemPrivate *>(new QDeclarativePolylineMapItemPrivateCPU(*this))
|
|
|
|
-- : ((m_backend == OpenGLExtruded)
|
|
|
|
-- ? static_cast<QDeclarativePolylineMapItemPrivate * >(new QDeclarativePolylineMapItemPrivateOpenGLExtruded(*this))
|
|
|
|
-- : static_cast<QDeclarativePolylineMapItemPrivate * >(new QDeclarativePolylineMapItemPrivateOpenGLLineStrip(*this))));
|
|
|
|
-+ QScopedPointer<QDeclarativePolylineMapItemPrivate> d(
|
|
|
|
-+ (m_backend == Software)
|
|
|
|
-+ ? static_cast<QDeclarativePolylineMapItemPrivate *>(
|
|
|
|
-+ new QDeclarativePolylineMapItemPrivateCPU(*this))
|
|
|
|
-+#if QT_CONFIG(opengl)
|
|
|
|
-+ : ((m_backend == OpenGLExtruded)
|
|
|
|
-+ ? static_cast<QDeclarativePolylineMapItemPrivate *>(
|
|
|
|
-+ new QDeclarativePolylineMapItemPrivateOpenGLExtruded(*this))
|
|
|
|
-+ : static_cast<QDeclarativePolylineMapItemPrivate *>(
|
|
|
|
-+ new QDeclarativePolylineMapItemPrivateOpenGLLineStrip(
|
|
|
|
-+ *this))));
|
|
|
|
-+#else
|
|
|
|
-+ : nullptr);
|
|
|
|
-+ qFatal("Requested non software rendering backend, but source code is compiled wihtout opengl "
|
|
|
|
-+ "support");
|
|
|
|
-+#endif
|
|
|
|
- m_d.swap(d);
|
|
|
|
- m_d->onGeoGeometryChanged();
|
|
|
|
- emit backendChanged();
|
|
|
|
-@@ -1477,6 +1493,7 @@ void MapPolylineNode::update(const QColor &fillColor,
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
-+#if QT_CONFIG(opengl)
|
|
|
|
- MapPolylineNodeOpenGLLineStrip::MapPolylineNodeOpenGLLineStrip()
|
|
|
|
- : geometry_(QSGGeometry::defaultAttributes_Point2D(), 0)
|
|
|
|
- {
|
|
|
|
-@@ -2080,5 +2097,6 @@ unsigned int QGeoMapItemLODGeometry::zoomForLOD(unsigned int zoom)
|
|
|
|
- return res;
|
|
|
|
- return res + 1; // give more resolution when closing in
|
|
|
|
- }
|
|
|
|
-+#endif // QT_CONFIG(opengl)
|
|
|
|
-
|
|
|
|
- QT_END_NAMESPACE
|
|
|
|
-diff --git a/src/location/declarativemaps/qdeclarativepolylinemapitem_p.h b/src/location/declarativemaps/qdeclarativepolylinemapitem_p.h
|
|
|
|
-index 9cd20ea..d3d0ebd 100644
|
|
|
|
---- a/src/location/declarativemaps/qdeclarativepolylinemapitem_p.h
|
|
|
|
-+++ b/src/location/declarativemaps/qdeclarativepolylinemapitem_p.h
|
|
|
|
-@@ -97,8 +97,10 @@ class Q_LOCATION_PRIVATE_EXPORT QDeclarativePolylineMapItem : public QDeclarativ
|
|
|
|
- public:
|
|
|
|
- enum Backend {
|
|
|
|
- Software = 0,
|
|
|
|
-+#if QT_CONFIG(opengl)
|
|
|
|
- OpenGLLineStrip = 1,
|
|
|
|
- OpenGLExtruded = 2,
|
|
|
|
-+#endif
|
|
|
|
- };
|
|
|
|
-
|
|
|
|
- explicit QDeclarativePolylineMapItem(QQuickItem *parent = 0);
|
|
|
|
-diff --git a/src/location/declarativemaps/qdeclarativepolylinemapitem_p_p.h b/src/location/declarativemaps/qdeclarativepolylinemapitem_p_p.h
|
|
|
|
-index 2a921e2..e184391 100644
|
|
|
|
---- a/src/location/declarativemaps/qdeclarativepolylinemapitem_p_p.h
|
|
|
|
-+++ b/src/location/declarativemaps/qdeclarativepolylinemapitem_p_p.h
|
|
|
|
-@@ -213,6 +213,7 @@ protected:
|
|
|
|
- QSGGeometry geometry_;
|
|
|
|
- };
|
|
|
|
-
|
|
|
|
-+#if QT_CONFIG(opengl)
|
|
|
|
- class Q_LOCATION_PRIVATE_EXPORT QGeoMapItemLODGeometry
|
|
|
|
- {
|
|
|
|
- public:
|
|
|
|
-@@ -566,6 +567,7 @@ protected:
|
|
|
|
- MapPolylineMaterialExtruded fill_material_;
|
|
|
|
- QSGGeometry m_geometryTriangulating;
|
|
|
|
- };
|
|
|
|
-+#endif // QT_CONFIG(opengl)
|
|
|
|
-
|
|
|
|
- class Q_LOCATION_PRIVATE_EXPORT QDeclarativePolylineMapItemPrivate
|
|
|
|
- {
|
|
|
|
-@@ -720,6 +722,7 @@ public:
|
|
|
|
- MapPolylineNode *m_node = nullptr;
|
|
|
|
- };
|
|
|
|
-
|
|
|
|
-+#if QT_CONFIG(opengl)
|
|
|
|
- class Q_LOCATION_PRIVATE_EXPORT QDeclarativePolylineMapItemPrivateOpenGLLineStrip: public QDeclarativePolylineMapItemPrivate
|
|
|
|
- {
|
|
|
|
- public:
|
|
|
|
-@@ -884,7 +887,7 @@ public:
|
|
|
|
-
|
|
|
|
- MapPolylineNodeOpenGLExtruded *m_nodeTri = nullptr;
|
|
|
|
- };
|
|
|
|
--
|
|
|
|
-+#endif // QT_CONFIG(opengl)
|
|
|
|
- QT_END_NAMESPACE
|
|
|
|
-
|
|
|
|
- #endif // QDECLARATIVEPOLYLINEMAPITEM_P_P_H
|
|
|
|
-diff --git a/src/location/declarativemaps/qdeclarativerectanglemapitem.cpp b/src/location/declarativemaps/qdeclarativerectanglemapitem.cpp
|
|
|
|
-index 74d2cc1..6192be0 100644
|
|
|
|
---- a/src/location/declarativemaps/qdeclarativerectanglemapitem.cpp
|
|
|
|
-+++ b/src/location/declarativemaps/qdeclarativerectanglemapitem.cpp
|
|
|
|
-@@ -185,9 +185,18 @@ void QDeclarativeRectangleMapItem::setBackend(QDeclarativeRectangleMapItem::Back
|
|
|
|
- if (b == m_backend)
|
|
|
|
- return;
|
|
|
|
- m_backend = b;
|
|
|
|
-- QScopedPointer<QDeclarativeRectangleMapItemPrivate> d((m_backend == Software)
|
|
|
|
-- ? static_cast<QDeclarativeRectangleMapItemPrivate *>(new QDeclarativeRectangleMapItemPrivateCPU(*this))
|
|
|
|
-- : static_cast<QDeclarativeRectangleMapItemPrivate * >(new QDeclarativeRectangleMapItemPrivateOpenGL(*this)));
|
|
|
|
-+ QScopedPointer<QDeclarativeRectangleMapItemPrivate> d(
|
|
|
|
-+ (m_backend == Software) ? static_cast<QDeclarativeRectangleMapItemPrivate *>(
|
|
|
|
-+ new QDeclarativeRectangleMapItemPrivateCPU(*this))
|
|
|
|
-+#if QT_CONFIG(opengl)
|
|
|
|
-+ : static_cast<QDeclarativeRectangleMapItemPrivate *>(
|
|
|
|
-+ new QDeclarativeRectangleMapItemPrivateOpenGL(*this)));
|
|
|
|
-+#else
|
|
|
|
-+ : nullptr);
|
|
|
|
-+ qFatal("Requested non software rendering backend, but source code is compiled wihtout opengl "
|
|
|
|
-+ "support");
|
|
|
|
-+#endif
|
|
|
|
-+
|
|
|
|
- m_d.swap(d);
|
|
|
|
- m_d->onGeoGeometryChanged();
|
|
|
|
- emit backendChanged();
|
|
|
|
-@@ -397,6 +406,8 @@ QDeclarativeRectangleMapItemPrivate::~QDeclarativeRectangleMapItemPrivate() {}
|
|
|
|
-
|
|
|
|
- QDeclarativeRectangleMapItemPrivateCPU::~QDeclarativeRectangleMapItemPrivateCPU() {}
|
|
|
|
-
|
|
|
|
-+#if QT_CONFIG(opengl)
|
|
|
|
- QDeclarativeRectangleMapItemPrivateOpenGL::~QDeclarativeRectangleMapItemPrivateOpenGL() {}
|
|
|
|
-+#endif
|
|
|
|
-
|
|
|
|
- QT_END_NAMESPACE
|
|
|
|
-diff --git a/src/location/declarativemaps/qdeclarativerectanglemapitem_p_p.h b/src/location/declarativemaps/qdeclarativerectanglemapitem_p_p.h
|
|
|
|
-index 65d2f61..f7ecd2a 100644
|
|
|
|
---- a/src/location/declarativemaps/qdeclarativerectanglemapitem_p_p.h
|
|
|
|
-+++ b/src/location/declarativemaps/qdeclarativerectanglemapitem_p_p.h
|
|
|
|
-@@ -244,6 +244,7 @@ public:
|
|
|
|
- MapPolygonNode *m_node = nullptr;
|
|
|
|
- };
|
|
|
|
-
|
|
|
|
-+#if QT_CONFIG(opengl)
|
|
|
|
- class Q_LOCATION_PRIVATE_EXPORT QDeclarativeRectangleMapItemPrivateOpenGL: public QDeclarativeRectangleMapItemPrivate
|
|
|
|
- {
|
|
|
|
- public:
|
|
|
|
-@@ -410,6 +411,7 @@ public:
|
|
|
|
- MapPolygonNodeGL *m_node = nullptr;
|
|
|
|
- MapPolylineNodeOpenGLExtruded *m_polylinenode = nullptr;
|
|
|
|
- };
|
|
|
|
-+#endif // QT_CONFIG(opengl)
|
|
|
|
-
|
|
|
|
- QT_END_NAMESPACE
|
|
|
|
-
|
|
|
|
-diff --git a/src/location/location.pro b/src/location/location.pro
|
|
|
|
-index b0e2c3f..ae20271 100644
|
|
|
|
---- a/src/location/location.pro
|
|
|
|
-+++ b/src/location/location.pro
|
|
|
|
-@@ -39,7 +39,14 @@ include(maps/maps.pri)
|
|
|
|
- include(places/places.pri)
|
|
|
|
- include(declarativemaps/declarativemaps.pri)
|
|
|
|
- include(declarativeplaces/declarativeplaces.pri)
|
|
|
|
--qtConfig(location-labs-plugin):include(labs/labs.pri)
|
|
|
|
-+qtConfig(location-labs-plugin) {
|
|
|
|
-+ include(labs/labs.pri)
|
|
|
|
-+} else {
|
|
|
|
-+ # FIXME: this should be moved out of plugin source code, geojson is referenced from other places
|
|
|
|
-+ # within codebase,however compilation of location-labs-plugin is optional
|
|
|
|
-+ PRIVATE_HEADERS += labs/qgeojson_p.h
|
|
|
|
-+ SOURCES += labs/qgeojson.cpp
|
|
|
|
-+}
|
|
|
|
-
|
|
|
|
- HEADERS += $$PUBLIC_HEADERS $$PRIVATE_HEADERS
|
|
|
|
-
|
|
|
|
-diff --git a/src/plugins/geoservices/itemsoverlay/qgeomapitemsoverlay.cpp b/src/plugins/geoservices/itemsoverlay/qgeomapitemsoverlay.cpp
|
|
|
|
-index 1ebad08..a764438 100644
|
|
|
|
---- a/src/plugins/geoservices/itemsoverlay/qgeomapitemsoverlay.cpp
|
|
|
|
-+++ b/src/plugins/geoservices/itemsoverlay/qgeomapitemsoverlay.cpp
|
|
|
|
-@@ -103,6 +103,7 @@ QGeoMap::Capabilities QGeoMapItemsOverlay::capabilities() const
|
|
|
|
- bool QGeoMapItemsOverlay::createMapObjectImplementation(QGeoMapObject *obj)
|
|
|
|
- {
|
|
|
|
- #ifndef LOCATIONLABS
|
|
|
|
-+ Q_UNUSED(obj);
|
|
|
|
- return false;
|
|
|
|
- #else
|
|
|
|
- Q_D(QGeoMapItemsOverlay);
|
|
|
|
-@@ -132,7 +133,9 @@ QSGNode *QGeoMapItemsOverlay::updateSceneGraph(QSGNode *node, QQuickWindow *wind
|
|
|
|
-
|
|
|
|
- void QGeoMapItemsOverlay::removeMapObject(QGeoMapObject *obj)
|
|
|
|
- {
|
|
|
|
--#ifdef LOCATIONLABS
|
|
|
|
-+#ifndef LOCATIONLABS
|
|
|
|
-+ Q_UNUSED(obj);
|
|
|
|
-+#else
|
|
|
|
- Q_D(QGeoMapItemsOverlay);
|
|
|
|
- d->removeMapObject(obj);
|
|
|
|
- #endif
|
|
|
|
-@@ -169,7 +172,11 @@ QRectF QGeoMapItemsOverlayPrivate::visibleArea() const
|
|
|
|
- QGeoMapItemsOverlayPrivate::QGeoMapItemsOverlayPrivate(QGeoMappingManagerEngineItemsOverlay *engine, QGeoMapItemsOverlay *map)
|
|
|
|
- : QGeoMapPrivate(engine, new QGeoProjectionWebMercator)
|
|
|
|
- {
|
|
|
|
-+#ifndef LOCATIONLABS
|
|
|
|
-+ Q_UNUSED(map);
|
|
|
|
-+#else
|
|
|
|
- m_qsgSupport.m_map = map;
|
|
|
|
-+#endif
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
- QGeoMapItemsOverlayPrivate::~QGeoMapItemsOverlayPrivate()
|
|
|
|
---
|
|
|
|
-2.33.1
|
|
|
|
-
|
|
|