summaryrefslogtreecommitdiff
path: root/src/location/declarativemaps/declarativemaps.pri
Commit message (Collapse)AuthorAgeFilesLines
* Remove all qmake .pro files, except for examplesVolker Hilsheimer2022-07-261-72/+0
| | | | | | | Task-number: QTBUG-96795 Pick-to: 6.2 Change-Id: Ia5e73baff832eda7807d0ee7a70a10aeb5d5e830 Reviewed-by: Oliver Eftevaag <oliver.eftevaag@qt.io>
* Make names of poly2tri, clipper, clip2tri libraries uniqueKai Koehne2020-09-091-1/+1
| | | | | | | | | | | | | | This avoids conflicts for static builds, where the system might also provide a clipper2tri, clipper, or poly2tri library. [ChangeLog][General] The generated clipper2tri, clipper, poly2tri libraries have been renamed to qt_clipper2tri, qt_clipper, qt_poly2tri. This avoids conflicts for static builds. Pick-to: 5.15 Fixes: QTBUG-86248 Change-Id: I38261633acef1d3be0cb5b67b3b5bf3262258a95 Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
* Add geometry simplification to MapPolyline/MapPolylineObjectQSGPaolo Angelelli2020-02-121-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This change introduces a metric-based implementation of the Ramer-Douglas-Peucker line simplification algorithm to generate a LOD pyramid for the polyline geometries. This comes with a related property (in MapItemBase), lodThreshold, that can be used to change the threshold after which no simplification will be used. By default the value of this property is 0, meaning that the behavior will be unchanged and no LOD will be used. This change also introduces LOD on map polyine objects QSG, for which no property is introduced, and there's a default threshold set to zoom level 12 (which appear to produce acceptable results). Finally, this patch makes use of a threadpool with 1 thread to enqueue geometry simplification tasks, which would otherwise freeze the UI when computing for the first time. Support for geometry simplification is currently added only to polylines. It might be of interest extending it to polygons as well, once a proper strategy for handling the simplification of inner holes has been identified. Finally, extending it to circles could be of interest, while potentially bringing only minor benefits, as circle geometries are currently fixed to 128 vertices. Also adds a MapObject-based delegate to the geojson viewer example. Task-number: QTBUG-46652 Task-number: QTBUG-38459 Task-number: QTBUG-49303 Change-Id: I64b5db4577962db17e5388812909285c9356ef0d Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
* Enable mercator-to-screen projection in GLSLPaolo Angelelli2020-02-111-3/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | With this change, all the geo-to-screen conversion, and the triangulation operations for geo polylines and geo polygon are performed either at set time or in the shader. A separate bounding box geometry is processed in the old way to provide a correct QtQuick Item geometry, that can be used for nesting mouse areas, performing translations, input event delivery, etc. With this approach, performance are improved by more than one order of magnitude in average, but complex geometries will of course benefit more. It also adds correct rendering support for polygons with holes, previously only rendered correctly by the MapboxGL plugin. The polyline shader has basic miter joins. The miter is skipped if the angle is too sharp to avoid complicating the implementation. This shader introduces some glitches when the polyline is minified, for which the real fix is to have LOD for the geometry, and render simplified geometries at low zoom levels (added in a subsequent patch). Note: this approach, at least in its current implementation, does not support enabling layers on individual items, only on the Map element. Task-number: QTBUG-49303 Task-number: QTBUG-38459 Change-Id: I0c2dc0bf364d32f74ca7c4014f6d66e6219c8ae4 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* Move qquickcoordinateanimation to positioningquickPaolo Angelelli2018-10-291-5/+3
| | | | | | | | | So plugins can use it, also stand alone ones, and no ugly "import ../" anymore. Change-Id: I4e53815e041e13d495026d60a826a31bccaef2b4 Reviewed-by: Alex Blasche <alexander.blasche@qt.io> Reviewed-by: Bramastyo Harimukti Santoso <bramastyo.harimukti.santoso@pelagicore.com>
* Remove MapItemViewDelegateIncubatorPaolo Angelelli2018-07-271-1/+0
| | | | | | | | Now that a delegate model is used internally by MapItemView, this class is not used any more. Change-Id: Ic0c35d6797a19549da6bc271b76e3529d812995e Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
* Enable nested MapItemViewsPaolo Angelelli2018-07-271-53/+56
| | | | | | | | | | | | | | | | | | | | | | | | | This change allows MapItemView to use a MapItem, MapItemGroup or MapItemView as delegate. To achieve this, MapItemView base class also changes from QObject to MapItemGroup, effectively making MapItemView a MapItemGroup. Note, though, that MapItemGroup API in Map should be avoided, when dealing with a MapItemView, and only MapItemView-specific API should be used. Tests and example coming after [ChangeLog][QtLocation] Enabled nesting of MapItemView. This required a behavioral change, as MapItemView is now a MapItemGroup, not anymore a plain QObject. Due to a bug, MapItemView was previously not a Qt Quick Item, making it possible to create it as a child of any QObject. This has now been fixed, so if you happen to have a MapItemView in your scene which is not a child of a Qt Quick Item, you will get an error message. Task-number: QTBUG-62683 Task-number: QTBUG-62397 Change-Id: Id97e480429e7f952a541fe88df5c01317afeac18 Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
* Fix MapItemView not setting context data upon item deletionPaolo Angelelli2018-04-171-3/+0
| | | | | | | | | | | | | | | | | | | | The current implementation does not properly re-set context data upon model item deletion/change. This patch uses a QQmlDelegateModel that does all the management internally. To accommodate for items disappearing/reappearing all at once, potentially introducing flickering, a fixed opacity transition 300msec long has been introduced as exit transition. In later Qt releases, new API can be added to let the user change it, as well as also adding an enter transition and possibly more. Task-number: QTBUG-62086 Task-number: QTBUG-65833 Change-Id: I59a8147a12f035d5c7f86c2546e9144b2e1a7b3c Reviewed-by: J-P Nurmi <jpnurmi@qt.io> Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
* Introduce QGeoMapObjectPaolo Angelelli2018-01-251-2/+3
| | | | | | | | | | | | | | | QGeoMapObject is a new class of map item, not deriving anymore from QQuickItem, and designed to be more lightweight, and, most importantly, to be easily backable by SDK-specific implementations, so to act as an as thin as possible wrapper around those. QGeoMapObject is intended to be the base class for this type of items. This patch provides no mean to dynamically add/remove GeoMapObjects. The intended way to do it is by using a MapObjectView, coming initially with the Qt.labs.location extra plugin. Change-Id: I8d6a45a4a32059c7ec4d904f75352e176bffda1e Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
* Introduce QParameterizableObjectBogDan Vatra2017-09-131-2/+4
| | | | | | | | | | QParameterizableObject is a base class for QObjects-derived objects (but not QQuickItem-derived ones!) that need to have MapParameter(s) attached. Change-Id: Ib92b0676d8c8e02d08d9b76b05ecd4adc2d84e7b Reviewed-by: Paolo Angelelli <paolo.angelelli@qt.io> Reviewed-by: BogDan Vatra <bogdan@kdab.com>
* Make error_messages.h privatePaolo Angelelli2017-05-021-3/+1
| | | | | Change-Id: Iba33d12fad113b64cb071f0542a2c92034ff755d Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
* Minor build cleanupsBruno de Oliveira Abinader2017-03-211-0/+1
| | | | | Change-Id: I85870f176510d1d6fd51bce94daf58fc326e13b3 Reviewed-by: Paolo Angelelli <paolo.angelelli@qt.io>
* Allow to create maps with groups of map itemsPaolo Angelelli2017-01-311-0/+2
| | | | | | | | | | | | | This patch lets a user create an external qml file, and put multiple map items inside a parent MapItemGroup{}, and add that element to a Map item. QDeclarativeGeoMap gets also two associated methods: addMapItemGroup and removeMapItemGroup to deal with item groups at runtime. Additionally, clearMapItems now clears also added item groups. Task-number: QTBUG-55211 Change-Id: Ie4e602e4bda65fb56422b721be5fd34c54eb7954 Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
* Moving location qml implementation to location/declarative*Paolo Angelelli2017-01-261-0/+62
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>