1 /**************************************************************************** 2 ** 3 ** Copyright (C) 2017 The Qt Company Ltd. 4 ** Copyright (C) 2017 Mapbox, Inc. 5 ** Contact: http://www.qt.io/licensing/ 6 ** 7 ** This file is part of the QtLocation module of the Qt Toolkit. 8 ** 9 ** $QT_BEGIN_LICENSE:LGPL3$ 10 ** Commercial License Usage 11 ** Licensees holding valid commercial Qt licenses may use this file in 12 ** accordance with the commercial license agreement provided with the 13 ** Software or, alternatively, in accordance with the terms contained in 14 ** a written agreement between you and The Qt Company. For licensing terms 15 ** and conditions see http://www.qt.io/terms-conditions. For further 16 ** information use the contact form at http://www.qt.io/contact-us. 17 ** 18 ** GNU Lesser General Public License Usage 19 ** Alternatively, this file may be used under the terms of the GNU Lesser 20 ** General Public License version 3 as published by the Free Software 21 ** Foundation and appearing in the file LICENSE.LGPLv3 included in the 22 ** packaging of this file. Please review the following information to 23 ** ensure the GNU Lesser General Public License version 3 requirements 24 ** will be met: https://www.gnu.org/licenses/lgpl.html. 25 ** 26 ** GNU General Public License Usage 27 ** Alternatively, this file may be used under the terms of the GNU 28 ** General Public License version 2.0 or later as published by the Free 29 ** Software Foundation and appearing in the file LICENSE.GPL included in 30 ** the packaging of this file. Please review the following information to 31 ** ensure the GNU General Public License version 2.0 requirements will be 32 ** met: http://www.gnu.org/licenses/gpl-2.0.html. 33 ** 34 ** $QT_END_LICENSE$ 35 ** 36 ****************************************************************************/ 37 38 #ifndef QGEOMAPMAPBOXGL_H 39 #define QGEOMAPMAPBOXGL_H 40 41 #include "qgeomappingmanagerenginemapboxgl.h" 42 #include <QtLocation/private/qgeomap_p.h> 43 #include <QtLocation/private/qgeomapparameter_p.h> 44 45 class QGeoMapMapboxGLPrivate; 46 47 class QGeoMapMapboxGL : public QGeoMap 48 { 49 Q_OBJECT 50 Q_DECLARE_PRIVATE(QGeoMapMapboxGL) 51 52 public: 53 QGeoMapMapboxGL(QGeoMappingManagerEngineMapboxGL *engine, QObject *parent); 54 virtual ~QGeoMapMapboxGL(); 55 56 QString copyrightsStyleSheet() const override; 57 void setMapboxGLSettings(const QMapboxGLSettings &, bool useChinaEndpoint); 58 void setUseFBO(bool); 59 void setMapItemsBefore(const QString &); 60 Capabilities capabilities() const override; 61 62 private Q_SLOTS: 63 // QMapboxGL 64 void onMapChanged(QMapboxGL::MapChange); 65 66 // QDeclarativeGeoMapItemBase 67 void onMapItemPropertyChanged(); 68 void onMapItemSubPropertyChanged(); 69 void onMapItemUnsupportedPropertyChanged(); 70 void onMapItemGeometryChanged(); 71 72 // QGeoMapParameter 73 void onParameterPropertyUpdated(QGeoMapParameter *param, const char *propertyName); 74 75 public Q_SLOTS: 76 void copyrightsChanged(const QString ©rightsHtml); 77 78 private: 79 QSGNode *updateSceneGraph(QSGNode *oldNode, QQuickWindow *window) override; 80 81 QGeoMappingManagerEngineMapboxGL *m_engine; 82 }; 83 84 #endif // QGEOMAPMAPBOXGL_H 85