summaryrefslogtreecommitdiff
path: root/src/plugins/geoservices/mapboxgl
Commit message (Collapse)AuthorAgeFilesLines
* Remove OpenGL ES limitation for Mapbox GL on WindowsBruno de Oliveira Abinader2017-11-301-9/+0
| | | | | | | | | | Also fixes an issue preventing GL native from working on MinGW. mapbox-gl-native @ 8757164ac8f2b033b2b12d4baf075ed18cfeb2b4 Task-number: QTBUG-64632 Change-Id: Iab9a560adcd54194cd9829a326b325856f8c8cc2 Reviewed-by: Paolo Angelelli <paolo.angelelli@qt.io>
* Fix Mapbox GL plugin OpenGL usageThiago Marcos P. Santos2017-11-081-9/+0
| | | | | | | | | | | | | | | | Previously we were linking directly with the OpenGL library available in the system. On Windows for instance the only option was ANGLE. Now Mapbox GL is using OpenGL through QOpenGLFunctions and shall offer much better compatibility. Task-number: QTBUG-62108 Task-number: QTBUG-61767 Task-number: QTBUG-60897 Change-Id: Iabd29ff6c0b6daf14373508d4847344c07d01a57 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io> Reviewed-by: Oliver Wolff <oliver.wolff@qt.io> Reviewed-by: Paolo Angelelli <paolo.angelelli@qt.io>
* Enable alpha channel in QSGMapboxGLTextureNodeBruno de Oliveira Abinader2017-11-031-1/+8
| | | | | | | Task-number: QTBUG-64038 Change-Id: Icfa079d181994d8db9bd738bbd6107dce0ea76d1 Reviewed-by: Ola Røer Thorsen <ola@silentwings.no> Reviewed-by: Paolo Angelelli <paolo.angelelli@qt.io>
* Fix ICU linkage on the Mapbox GL pluginThiago Marcos P. Santos2017-11-031-1/+1
| | | | | | | | | | | | | | | This makes both the Mapbox GL plugin and the Mapbox GL engine at src/3rdparty/mapbox-gl-native use ICU in the same way as qtbase. QMAKE_USE_PRIVATE += icu This should fix build errors when using an ICU that doesn't have headers installed on the default header lookup path. That assumption was specially true for the Mapbox GL engine 3rdparty submodule. Task-number: QTBUG-63571 Change-Id: Id0ab4cb8fb42b8eda8afb9650cd678ee7c5c45ad Reviewed-by: Paolo Angelelli <paolo.angelelli@qt.io>
* Consider map item color alpha channel when applying opacityBruno de Oliveira Abinader2017-10-261-4/+4
| | | | | | Task-number: QTBUG-63928 Change-Id: I8b09da92e182dc5464516842718b8d30bc9a48fc Reviewed-by: Paolo Angelelli <paolo.angelelli@qt.io>
* Check if coordinates are non-empty before repeating the first entryBruno de Oliveira Abinader2017-10-261-1/+4
| | | | | | Task-number: QTBUG-63926 Change-Id: Ic57090dbc78705893280e040e5b4556cf296f949 Reviewed-by: Paolo Angelelli <paolo.angelelli@qt.io>
* Fix MapboxGL crashing when no OpenGLContext can be createdPaolo Angelelli2017-09-261-7/+10
| | | | | | Task-number: QTBUG-63374 Change-Id: Iff172e7715ac9f59da23e890bae77ff522ed9e47 Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
* Fix Mapbox GL plugin not respecting MapItem visibility and opacityThiago Marcos P. Santos2017-09-052-3/+19
| | | | | | | | Now opacity and visibility will be respected for the fill color as borders are not supported yet. Change-Id: I58f982dc9285537fde770e14238c5d6d903913e6 Reviewed-by: Paolo Angelelli <paolo.angelelli@qt.io>
* Mapbox GL native circle supportBruno de Oliveira Abinader2017-08-303-7/+64
| | | | | | | | | | Circles crossing one pole are drawn inverted. Circles crossing 2 poles do not even have the correct geometry. Nevertheless, a first approximation. Task-number: QTBUG-58869 Change-Id: I5a508f5d6e27c4f08412a7ae327883866068a1e9 Reviewed-by: Paolo Angelelli <paolo.angelelli@qt.io>
* Fix broken native text rendering with Mapbox GL pluginThiago Marcos P. Santos2017-08-301-0/+12
| | | | | | | | | Mapbox is "leaking" the pixel storage mode. So we need to restore it after we render otherwise it breaks native text rendering. Task-number: QTBUG-62861 Change-Id: I12643e34e462cce58cdf30da52ab927499f38442 Reviewed-by: Paolo Angelelli <paolo.angelelli@qt.io>
* Bump Mapbox GL to v1.1.0Thiago Marcos P. Santos2017-08-223-11/+25
| | | | | | | | mapbox-gl-native @ bd15e273dce767458d335aeb1f50aa081390d593 Task-number: QTBUG-62454 Change-Id: I241ae47d8590a5de7da95f39ae056abeab9c172b Reviewed-by: Paolo Angelelli <paolo.angelelli@qt.io>
* Fix MapParameters not having effect on Mapbox GL if added dynamicallyThiago Marcos P. Santos2017-08-221-0/+5
| | | | | | | | | | | | The previous code was not handling the case of MapParameters changing the style appearance after the style is fully loaded, which happens when MapParameters are created dynamically at runtime. [ChangeLog][QtLocation][MapboxGL] Fixed MapParameter dynamic usage Task-number: QTBUG-61442 Change-Id: I64a8a1416dd5f7477297878f42760ad9008382a4 Reviewed-by: Paolo Angelelli <paolo.angelelli@qt.io>
* Use QDeclarativeGeoMapItemBase objectName to create mapboxgl item idPaolo Angelelli2017-06-182-4/+5
| | | | | | | | | | With this patch is now possible to predict what's the layer name that the mapboxgl plugin is generating for a specific map item, if that item has the objectName set. Change-Id: I7726e44c6b0cc981d30e7725326075025f49af30 Reviewed-by: Thiago Marcos P. Santos <tmpsantos@gmail.com> Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
* Make it possible to MapItems to rendered under some style layersThiago Marcos P. Santos2017-05-257-8/+27
| | | | | | | | | Add a MapParamter to specify the default "before" layer for MapItems that Mapbox GL can render. This can be used for inserting route lines before labels. Change-Id: I3ee414ee8af31f38b74c95b3ecc31df6085bed30 Reviewed-by: Paolo Angelelli <paolo.angelelli@qt.io>
* Merge remote-tracking branch 'origin/5.9.0' into 5.9Liang Qi2017-05-231-1/+2
|\ | | | | | | Change-Id: I122bd675639baca961882ec9d512900f4e7e773b
| * mapboxgl: Fix dynamic opengl buildOliver Wolff2017-05-191-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | The default in Qt was changed back to ANGLE being split into libEGL and libGLESv2. mapboxgl now supports both both configurations - having two libraries and combining them into QtANGLE. Task-number: QTBUG-60795 Change-Id: Id3297ed295b20872bc0693b8cd3596a03e739b98 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io> Reviewed-by: Jan Arve Sæther <jan-arve.saether@qt.io>
* | Fix resources not loading on static buildsThiago Marcos P. Santos2017-05-202-0/+12
|/ | | | | | | | | | | | | Explicitly call Q_INIT_RESOURCE, otherwise the resources are not found and the plugins using resources are broken when building Qt with -static. This patch also adds a prefix to these resources to avoid collision, since they are very generic like "logo.png" or "maps.json". Task-number: QTBUG-60007 Change-Id: Ifb73e9b97af107f2e24f5478f3de534bbd40e158 Reviewed-by: Paolo Angelelli <paolo.angelelli@qt.io>
* Add pluginName to QGeoMapType and check against it in setActiveMapTypePaolo Angelelli2017-05-071-11/+12
| | | | | | | | | | | This patch adds a QByteArray member to QGeoMapType with the name of the plugin providing that map type. This value is then used to validate what is passed to QDeclarativeGeoMap::setActiveMapType to see if it's a map type for the currently set plugin. Change-Id: If15b67c32150f0c3c2815d28e26fc37138d4cf71 Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
* Enable Mapbox GL plugin on MinGW buildsThiago Marcos P. Santos2017-04-282-0/+18
| | | | | | | | | | | | Qt CI is using MinGW 5.3.0 that should do the job compiling Mapbox GL. For now, only the ANGLE OpenGL backend is supported on Windows for this plugin. I.e. you need to set QT_OPENGL=angle or Qt::AA_UseOpenGLES. Task-number: QTBUG-60110 Change-Id: Iebd4d1569191f47a14b264c489b5d3fb23338d78 Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Paolo Angelelli <paolo.angelelli@qt.io>
* Update Mapbox GL styles to the latest versionv5.9.0-beta3Thiago Marcos P. Santos2017-04-201-3/+3
| | | | | | | Better cartography and visuals. Change-Id: I1d751beeafc216351c1f7459a270d48f67693295 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* Update Mapbox logoThiago Marcos P. Santos2017-04-201-0/+0
| | | | | | | Mapbox released a new logo today. Change-Id: I15d271762a492d142571f6cae3920af30e04aaa6 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* Fix linking error when building Mapbox GL plugin with ICUThiago Marcos P. Santos2017-04-101-4/+4
| | | | | | | | Mapbox GL depends on ICU, so it should be after -lqmapboxgl in the linker command line. Change-Id: I725d32d1132520ddd0704c7d9e998453a92e10ab Reviewed-by: Paolo Angelelli <paolo.angelelli@qt.io>
* Mapbox GL static/debug build fixesBruno de Oliveira Abinader2017-04-071-1/+1
| | | | | | Task-number: QTBUG-59281 Change-Id: I3605265ca9c330ea782bdda53ce5af004ef35a22 Reviewed-by: Paolo Angelelli <paolo.angelelli@qt.io>
* Prevent creating the Mapbox GL node map if size is emptyBruno de Oliveira Abinader2017-03-291-0/+5
| | | | | Change-Id: I3fe2c7fecd8cf8036f84fed5c4875e39d937c9cd Reviewed-by: Paolo Angelelli <paolo.angelelli@qt.io>
* Minimum texture size check for QSGMapboxGLTextureNodeBruno de Oliveira Abinader2017-03-281-4/+7
| | | | | | Change-Id: I096a14f5f1e8f83d4671990d052ecfff8095e985 Reviewed-by: Thiago Marcos P. Santos <tmpsantos@gmail.com> Reviewed-by: Paolo Angelelli <paolo.angelelli@qt.io>
* Better battery usage on Mapbox GL plugin with threaded GLThiago Marcos P. Santos2017-03-272-9/+29
| | | | | | | | Stop the refresh timer hack when all the resources are loaded so we don't keep waking up for re-drawing when it is not needed. Change-Id: Iada46850adf4fec04dc70c9d3f7263b71c325d8a Reviewed-by: Paolo Angelelli <paolo.angelelli@qt.io>
* Allow clearing before rendering for Mapbox GL pluginBruno de Oliveira Abinader2017-03-211-2/+0
| | | | | Change-Id: I5a82c663287c35584567280efd9a8dd20a549fcb Reviewed-by: Paolo Angelelli <paolo.angelelli@qt.io>
* Fix build when building with -qt-zlibThiago Marcos P. Santos2017-03-141-3/+5
| | | | | | | | | | Qt configures zlib to prefix symbols with z_ and that was messing with mapbox-gl-native own function names due to preprocessor sorcery. Task-number: QTBUG-59447 Change-Id: Ib664a33103990f262b6979953d1415d06f230fd3 Reviewed-by: Paolo Angelelli <paolo.angelelli@qt.io>
* Use $$MODULE_BASE_OUTDIR/lib in Mapbox GL nativeBruno de Oliveira Abinader2017-03-081-1/+2
| | | | | | Task-number: QTBUG-59281 Change-Id: Iec3a1fefb029e9eb0386b29b40e7844eba04bbd7 Reviewed-by: Paolo Angelelli <paolo.angelelli@qt.io>
* Remove dependency on QtWidgetsThiago Marcos P. Santos2017-03-061-1/+0
| | | | | | | | | Mapbox GL Native was using QtOpenGL and that was pulling in the dependency on QtWidgets. Now we use only QtGui. Task-number: QTBUG-58821 Change-Id: Iae4c0d6de24988180fd8c837ff53ffc426831a30 Reviewed-by: Paolo Angelelli <paolo.angelelli@qt.io>
* Fix line rendering when ending and joiningBruno de Oliveira Abinader2017-03-062-0/+35
| | | | | | Change-Id: I30e1ae3ec70e8ab36ef3344cecb7a66b1d37a952 Reviewed-by: Thiago Marcos P. Santos <tmpsantos@gmail.com> Reviewed-by: Paolo Angelelli <paolo.angelelli@qt.io>
* ICU support in Mapbox GL Native upon availabilityBruno de Oliveira Abinader2017-03-031-0/+4
| | | | | | | Change-Id: I5102b3013263a3cb5158673b19ef7b89655d7fa7 Reviewed-by: Bruno de Oliveira Abinader <brunoabinader@gmail.com> Reviewed-by: Paolo Angelelli <paolo.angelelli@qt.io> Reviewed-by: Thiago Marcos P. Santos <tmpsantos@gmail.com>
* Fix typo in QMapboxGLStyleSetPaintProperty ctorBruno de Oliveira Abinader2017-03-031-1/+1
| | | | | | Change-Id: I804bd7077eb6fd99e4c2facbfb9c9b1d30ecc4fd Reviewed-by: Thiago Marcos P. Santos <tmpsantos@gmail.com> Reviewed-by: Paolo Angelelli <paolo.angelelli@qt.io>
* Unwrap longitude in Mapbox GL when neededBruno de Oliveira Abinader2017-03-021-3/+24
| | | | | | | This is in order to keep parity with Qt visual expectations. Change-Id: Iea758483972e53b8f42e352401390d95dd1c1407 Reviewed-by: Paolo Angelelli <paolo.angelelli@qt.io>
* Fix support for MapParameters on Mapbox GL pluginThiago Marcos P. Santos2017-02-176-333/+872
| | | | | | | | | | Mapbox GL plugin can now accept MapParameters, such as MapParameters used for the Mapbox runtime style API, allowing runtime changes on the map, not restricted only to style, but also adding new geometries and features. Change-Id: If0394bd044a2d3058fe5480966880a1055614ea2 Reviewed-by: Paolo Angelelli <paolo.angelelli@qt.io>
* Move mapboxgl.use_fbo to the mapboxgl.mapping namespaceThiago Marcos P. Santos2017-02-171-2/+2
| | | | | | | Follow the pattern, as this only affects how maps are rendered. Change-Id: Ieacc3df4149fb5045b15f2cee6d4521e93de5b6e Reviewed-by: Paolo Angelelli <paolo.angelelli@qt.io>
* Optional support for QSGMapboxGLRenderNodeBruno de Oliveira Abinader2017-02-166-23/+114
| | | | | | | | | | | | QSGMapboxGLRenderNode support is experimental: It doesn't support QQuickItem transforms nor stencil clipping. By default, QSGMapboxGLTextureNode is enabled. The user can select QSGMapboxGLRenderNode by setting 'mapboxgl.use_fbo' plugin parameter to 'false'. Change-Id: I3d5338990458f62fdbe7b8dc00317a85ee1ff188 Reviewed-by: Paolo Angelelli <paolo.angelelli@qt.io>
* QGeoMapMapboxGL: Fix tr()-context of warningFriedemann Kleint2017-02-151-1/+1
| | | | | | | | QObject::tr() should not be used. Amends 68b515cdff46dc1030b027a664ef5f3f6cde946a. Change-Id: Id22f730d9bd09c41a22783d1b5530835e9fb0d1c Reviewed-by: Paolo Angelelli <paolo.angelelli@qt.io>
* Support for Mapbox GL Native rendering of QML Map{Polygon,Polyline} itemsBruno de Oliveira Abinader2017-02-144-110/+327
| | | | | | | | | | | | Replaces Mapbox GL Native annotations with runtime styles API. Missing: - Map{Polygon,Rectangle} border width property - see QTBUG-58872 for details. - MapCircle support - see QTBUG-58869 for detais. Change-Id: I77c9daee813a63efc60104f94f440f00ac3cf70f Reviewed-by: Thiago Marcos P. Santos <tmpsantos@gmail.com> Reviewed-by: Paolo Angelelli <paolo.angelelli@qt.io>
* Default style for the copyright defined on the pluginThiago Marcos P. Santos2017-02-135-6/+24
| | | | | | | | | | | | The Mapbox GL plugin defines a logo image on the copyright notice that needs styling in order to have an appealing look and feel. The default style is empty, so we need to fetch one for the plugin to make this work. Task-number: QTBUG-58601 Change-Id: Ib3f7d7d7fcb2797c6381fc862ce7513b516c9ff5 Reviewed-by: Paolo Angelelli <paolo.angelelli@qt.io>
* QGeoMapMapboxGL: Fix tr()-context of warningFriedemann Kleint2017-02-131-1/+1
| | | | | | | | QObject::tr() should not be used. Amends f5021281c56b660b81d0122608ca9b577889f99e. Change-Id: I5eb56f462bbf9894585acc563f911c02b3f70dc5 Reviewed-by: Paolo Angelelli <paolo.angelelli@qt.io>
* Add a default development token for Mapbox GL stylesThiago Marcos P. Santos2017-02-082-1/+33
| | | | | | | | | | | | | | | | | The idea here is to have a map working zero conf, without having to create a token. Useful for developers that want to try Mapbox GL maps without creating an account. The token should not be used in production (and will display a warning telling so). It is subject to change, throttling, etc and also a violation of the ToS. Also fixes runtime exception when access token is not set on mapbox:// style. Task-number: QTBUG-58599 Change-Id: Ie7205ccbdb3ccaee753b04116aed0f5ba35f8522 Reviewed-by: Paolo Angelelli <paolo.angelelli@qt.io>
* Fix Mapbox GL plugin not being bundled on AndroidThiago Marcos P. Santos2017-02-021-1/+3
| | | | | | | | | | | | Make the plugin dependencies explicit and visible so androiddeployqt can see it and add them to the bundle. Only dependencies that are exclusively used by Mapbox GL need to be visible, the others are already exposed by Qt Location. Task-number: QTBUG-58589 Change-Id: Ia2bd2109f49e1305a9868e288a390979622db311 Reviewed-by: Paolo Angelelli <paolo.angelelli@qt.io>
* Add support for native polylines in Mapbox GL pluginBruno de Oliveira Abinader2017-01-314-0/+188
| | | | | Change-Id: I14240e095bb6260d56925c026cf78fc1a3ceacdb Reviewed-by: Paolo Angelelli <paolo.angelelli@qt.io>
* Re-enable the Mapbox GL 3rdparty and the pluginThiago Marcos P. Santos2017-01-311-2/+2
| | | | | | | | It was previously disabled so we could move the 3rdparty package to a more consistent location. Change-Id: I9ebd8c8fe131b2821aa3205e0deda87e9e9db19c Reviewed-by: Paolo Angelelli <paolo.angelelli@qt.io>
* Fix Mapbox GL plugin not rendering when reloadedThiago Marcos P. Santos2017-01-301-3/+3
| | | | | | | | | | | | | The code was using a 'static' flag for checking if rendering on a separated thread, and thus, force the map refresh. Side effect is this code path was only accessible once per application run once the check was performed. Make the flag a member attribute instead, so the flag is reset on every new QGeoMapMapboxGLPrivate instance. Change-Id: I7f2bbf2f0f21e45b9f470976cf8e7878a0f0c6f8 Reviewed-by: Paolo Angelelli <paolo.angelelli@qt.io>
* Mapbox GL plugin for QtLocationBruno de Oliveira Abinader2017-01-3010-0/+842
Add Mapbox GL as a plugin for rendering vector tiles using OpenGL. Patch by: - Bruno de Oliveira Abinader <bruno@mapbox.com> - Thiago Marcos P. Santos <thiago@mapbox.com> Change-Id: I1671ae4dba0891e280a327543f15e73de1df385d Reviewed-by: Paolo Angelelli <paolo.angelelli@qt.io>