summaryrefslogtreecommitdiff
path: root/src/location/declarativemaps/qdeclarativepolylinemapitem.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Fix dragging items out of map boundsPaolo Angelelli2017-07-281-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | In 5.9.0 map items are clipped against the visible region. This implies that their geometry is also clipped against the visible region. This is problematic in ::geometryChanged, since the old geometry is always clipped in this way. This patch clips items against a "projectable" region instead, that is the part of the map that is in front of the camera. Since this can produce very large vertices, mapbox earcut 3rd party library is pulled in, to replace qTriangulate that only supports coordinates up to 1<<21. This patch also contains a fix for earcut.hpp to make it build also on QNX6.6 Task-number: QTBUG-61727 Change-Id: Iffc95fdae88fef982c1eb86db567b326b5e51057 Reviewed-by: Ville Voutilainen <ville.voutilainen@qt.io> Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Paolo Angelelli <paolo.angelelli@qt.io>
* Revert "Fix dragging items out of map bounds"Paolo Angelelli2017-07-191-1/+1
| | | | | | | | This reverts commit 2ab93acd9751b3ffe2c36a4a0e37dc792686a08f. Reason being: not passing QNX6 bot Change-Id: If45fe095b6e6959f7c40e3e0ed7a14d278bbb230 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* Remove dead code in QDeclarativePolygon/Polyline MapItemsPaolo Angelelli2017-07-171-113/+0
| | | | | Change-Id: I95c1d361bd6ba43a3eed5465fc2f74b7a622af72 Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
* Fix dragging items out of map boundsPaolo Angelelli2017-07-171-1/+1
| | | | | | | | | | | | | | | | | | | | | In 5.9.0 map items are clipped against the visible region. This implies that their geometry is also clipped against the visible region. This is problematic in ::geometryChanged, since the old geometry is always clipped in this way. This patch clips items against a "projectable" region instead, that is the part of the map that is in front of the camera. Since this can produce very large vertices, mapbox earcut 3rd party library is pulled in, to replace qTriangulate that only supports coordinates up to 1<<21. Task-number: QTBUG-61727 Change-Id: I7449e755a4848a2b2107c5de4e27821e3e887bfb Reviewed-by: Paolo Angelelli <paolo.angelelli@qt.io>
* Make error_messages.h privatePaolo Angelelli2017-05-021-1/+1
| | | | | Change-Id: Iba33d12fad113b64cb071f0542a2c92034ff755d Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
* Check for map in map item's geometryChangedPaolo Angelelli2017-03-271-1/+1
| | | | | | | | | Add additional sanity checks to do the geometry changing only if the map() has been set already (that is, the item has been added to the map) Change-Id: Id5b5faa41c68c80c3ad322f408b7a8abe5d2f7ab Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
* Cache coordinate projections in map itemsPaolo Angelelli2017-03-221-8/+40
| | | | | | | | | | | | This patch caches the result of geoToMapProjection() for the coordinates of the map items, regenerating this data only upon coordinate changes. This allows avoiding to perform a (mercator) projection basically every time the item has to be drawn, and instead do only the wrapping around the camera center and the projection to screen Task-number: QTBUG-59479 Change-Id: Iea5ec04f360d2fe7495cd9c1dd278e83200e0f8d Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
* Remove dirty geo* flags from map itemsv5.9.0-alpha1Paolo Angelelli2017-02-131-9/+0
| | | | | | | | | | | The recommended way for a plugin to get notification for when to update items is to connect to the item's signals. Therefore these introduced dirty flags that would have to be checked in a loop can be removed. Change-Id: I28c9b236b3a2e6296a89649b604381a2001a0b20 Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
* Remove unused qgeocameracapabilities includes from map itemsPaolo Angelelli2017-02-101-1/+0
| | | | | Change-Id: I79915a496984253b2c84334aabeb99acd5bd603d Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
* Add support for native polylines in Mapbox GL pluginBruno de Oliveira Abinader2017-01-311-1/+1
| | | | | Change-Id: I14240e095bb6260d56925c026cf78fc1a3ceacdb Reviewed-by: Paolo Angelelli <paolo.angelelli@qt.io>
* Allow QGeoMap to render map itemsPaolo Angelelli2017-01-301-2/+15
| | | | | | | | | | | | | | | | | Currently QtLocation Map items are always rendered by QtLocation, on top of what QGeoMap generates. This patch introduces a new private api call to QGeoMap, supportedMapItemTypes(), that is used to inform QtLocation to not render map items of those types, but rather pass them over to the QGeoMap, which will take care of the rendering. In this way, more advanced renderers can properly render map items, for example below labels or 3D buildings. Change-Id: I1c82d4f11d4dd44c3011926512520d62e26295d4 Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
* Moving location qml implementation to location/declarative*Paolo Angelelli2017-01-261-0/+956
QtLocation quick classes and headers are moved out of the import directory. The location quick classes are now in a subdirectory inside the main qtlocation module. This is necessary in order to privately export certain classes, such as Map Items classes, and create an API to inject these objects into QGeoMap to let plugins render the Map Items directly Change-Id: Ia6ba5f07c4eddd3c4c2ce54bf34f1afcd42c2558 Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>