summaryrefslogtreecommitdiff
path: root/src/mbgl/annotation
Commit message (Collapse)AuthorAgeFilesLines
* [core] TilePyramid::update accepts source implMikhail Pozdnyakov2020-04-201-4/+2
|
* [core] Fix modernize-return-braced-init-list errors in header filesThiago Marcos P. Santos2020-04-171-1/+1
| | | | As reported by clang-tidy-8.
* [core] Fix readability-avoid-const-params-in-decls errors in header filesThiago Marcos P. Santos2020-04-172-3/+3
| | | | As reported by clang-tidy-8.
* [core] Add setMaxOverscaleFactorForParentTilesAlexander Shalamov2020-04-011-1/+2
|
* [core] Fix misc-* errorsThiago Marcos P. Santos2020-03-301-1/+0
| | | | As reported by clang-tidy-8.
* [core] Fix bugprone-move-forwarding-reference errorsThiago Marcos P. Santos2020-03-301-3/+2
| | | | As reported by clang-tidy-8.
* [core] Fix google-explicit-constructor errorsThiago Marcos P. Santos2020-03-301-2/+1
| | | | As reported by clang-tidy-8.
* Bump mapbox-base to 1.2.0Alexander Shalamov2020-03-231-1/+1
|
* [core] Use weak annotation managerAlexander Shalamov2020-03-053-3/+14
| | | | | | | Map and renderer / orchestrator should be able to run on a separate threads, however, legacy AnnotationManager is shared between Map and Renderer, therefore is not a thread safe. Until AnnotationManager is deprecated and removed from a code-base, use it only via weak pointers.
* [core] Override default prefetch delta if source has it's own settingAlexander Shalamov2020-02-111-13/+13
|
* [core] Add runtime API for setting tile prefetch delta for SourceAlexander Shalamov2020-02-112-1/+11
| | | | | | | New setPrefetchZoomDelta(optional<uint8_t> delta) method allow overriding default tile prefetch setting that is defined by the Map instance. The method can be moved to generic style specification if found to be useful for gl-js engine.
* [core] Implement image expression (#15877)Alexander Shalamov2019-11-111-6/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * [core] Bump gl-js version * [core] Implement image expression * [core] Use new image expression * [core] Coerce image expression to / from string * [core] Serialize evaluated image * [core] Pass available images to layout * [core] Pass images to evaluation context * [core] Set available flag value based on image availability * [core] Allow image coercion to boolean to indicate image availability * [core] Coalesce image expression * [core] Add image expression to next build system * [core] Align serialization format and evaluated type with gl-js * [core] Add images to expression evaluation method * [core] Add support for Image expression to expression test runner * [core] Unskip image expression tests * [core] Update unit tests * [core] Use image expression in annotation manager * [core] Add string to ImageExpression conversion * [core] Add image expression to expression dsl * [core] Convert tokens for implicitly created Image literal * [core] Fix clang format * [core] Split generated style code lines that are over 120 characters * [core] Add unit test for image expression equality * [core] Add image property expression evaluation unit test * [core] Unskip image expression render test * [core] Skip 'in' expression tests * [core] Ignore fill-pattern/update-feature-state render test * [core] Rename Image::serialize to Image::toValue
* [core] Check layer compatibility with sourceMikhail Pozdnyakov2019-09-182-5/+9
|
* [core] Add feature state support to queryRenderedFeatures APIJuha Alanen2019-09-181-1/+1
|
* [core, ios, macos] SDK objects should hold weak pointers to the core style ↵Mikhail Pozdnyakov2019-09-091-1/+6
| | | | objects (#15539)
* [core] Force getGeometries() return const refAlexander Shalamov2019-07-242-2/+2
|
* [core] Improve performance for query rendered featuresAlexander Shalamov2019-07-092-2/+2
| | | | | - query rendered symbols only from layers that support it - remove unnecessary iterations over vectors
* [core] Remove down-casting of render sourcesMikhail Pozdnyakov2019-07-041-5/+0
|
* [core] Inherit RenderAnnotationSource from RenderTileSourceMikhail Pozdnyakov2019-06-102-55/+4
|
* [core] RenderTile does not expose TileMikhail Pozdnyakov2019-05-282-0/+10
| | | | | | RenderTile and Tile will be split when ochestration movces to a separate thread. This PR improves encapsulation of Tiles management: now performed within TilePyramid.
* [core] Prepare render sources before render layers are initializedMikhail Pozdnyakov2019-05-222-2/+2
|
* [core] add gfx::UploadPass, split startRender into prepare and uploadKonstantin Käfer2019-05-152-3/+8
|
* [core] change approach to stencil clipping to (almost) match JSKonstantin Käfer2019-04-291-4/+0
|
* [core] Introduce `LayerRenderData`. Source::update() accepts layer properties.Mikhail Pozdnyakov2019-04-172-2/+2
|
* [core] clang-tidy fixesKonstantin Käfer2019-04-052-2/+2
|
* [core] Remove file source from public Map ctorBruno de Oliveira Abinader2019-03-201-1/+0
|
* [core] Get FileSource via UpdateParameters in Renderer::ImplBruno de Oliveira Abinader2019-03-131-1/+0
|
* [core]Disable RenderAnnotationSource when annotations are disabledMikhail Pozdnyakov2018-12-111-0/+3
| | | | | | This patch disables creation of `RenderAnnotationSource` instances and thus saves extra 4Ki on Android when `LayerManager::annotationsEnabled` is `false`.
* [core] layermanager folderMikhail Pozdnyakov2018-11-301-0/+1
| | | | Move `LayerManager` and `LayerFactory` abstract classes to a dedicated folder.
* [core] LayerManager can disable annotationsMikhail Pozdnyakov2018-11-282-3/+22
| | | | | | | | | | | | | At the moment, the annotations implementation in the `mapbox-gl-native` core is creating concrete layer instances apart from `LayerManager/LayerFactory` code path. So, annotations must be disabled if the `LayerManager` implementation does not provide line, fill or symbol layers (those, used by the annotations). Note: in future, annotations implementation will be moved from the core to the platform SDK level(see https://github.com/mapbox/mapbox-plugins-android/tree/master/plugin-annotation) and `LayerManager` won't need to disable it.
* [core][Android][Darwin] LayerManager creates RenderLayer instancesMikhail Pozdnyakov2018-11-272-2/+0
| | | | | | | | `LayerManager` is now responsible for `RenderLayer` instances creation, so that there is a single entry point for creating of objects, which correspond to a certain layer type. The `LayerType type` field is dropped from `Layer::Impl`.
* [build] Update to geometry v1.0.0Bruno de Oliveira Abinader2018-11-133-4/+4
|
* [build] Remove #pragma diagnostic for boostThiago Marcos P. Santos2018-11-011-17/+0
| | | | | Boost is now included as a system header and the compiler should ignore it when issuing warnings.
* Remove style::Layer::is()/as()Mikhail Pozdnyakov2018-10-312-2/+4
|
* [core] Fix querying for annotations near tile boundaries at high zoom.Chris Loer2018-08-141-1/+7
| | | | | | | | Fixes issue #12472. This commit doesn't address the underlying issues that come from symbolAnnotationTree using a slightly lower precision coordinate system than the annotations themselves. Instead, it just puts a small padding around each tile when it queries for tile data, so that symbols right at the tile boundary will be included in both tiles. The rendering/querying code will take care of only displaying one instance. The padding is in global coordinates, so at higher zoom the padding will be larger in tile units -- this is consistent with precision loss also being greater at higher zoom.
* [core] Convert token strings to expressionsJohn Firebaugh2018-07-201-1/+3
|
* [core] fix circle querying for scale and alignmentChris Loer2018-04-262-3/+5
| | | | | | | This fixes circle querying for cases where either circle-pitch-alignment=map or circle-pitch-scaling=viewport
* Port global symbol query from GL JS:Chris Loer2018-04-252-5/+3
| | | | | | | - Symbol querying is now global instead of per-tile - Symbols that bleed over tile boundaries no longer missed in queries - Symbol results now sorted based on rendering order (ie overlapping symbols change their sort order when a bearing change causes their render order to change) - Placement::retainedQueryData now responsible for maintaining symbol querying data for buckets that may no longer be in the TilePyramid.
* [core] Rename "onLowMemory" to "reduceMemoryUse".Chris Loer2018-02-142-3/+3
| | | | | Android still calls "reduceMemoryUse" only while handling a low memory event. iOS, on the other hand, calls "reduceMemoryUse" every time it enters the background.
* Support TileJSON bounds property (#10701)Asheem Mamoowala2018-01-051-0/+1
| | | | | | | | * [core] Parse TileJSON bounds property * [core] Add TileRange and LatLngBounds::contains(CanonicalTileID) Move LatLngBounds::contains impl to cpp file * [core] Skip tile creation outside of tileset bounds * [core] Fix TileRange for wrapped bounds and use for CustomTileLoader instead of LatLngBounds comparisons for tiles.
* [core] don't tie Annotation geometries to Map maxzoomKonstantin Käfer2018-01-028-34/+34
| | | | Instead, geometry generation via GeoJSONVT is now bound to the hardcoded limit of the annotation tile source.
* [core] Update queryRenderedFeatures to use global CollisionIndex.Chris Loer2017-11-172-3/+5
|
* Merge branch 'release-agua' into tvn-merge-releaseTobrun2017-11-103-1/+4
|\
| * [core] limit annotation tile source to z16Konstantin Käfer2017-10-191-1/+3
| |
| * [ios, macos] Add selection support to MGLMultiPoint annotations. (#9984)Fabian Guerra Soto2017-10-183-1/+4
| | | | | | | | | | | | * [ios, macos] Add selection support to MGLMultiPoint annotations. * [ios, macos] Update changelogs.
| * [core] make forcing cache/network only more explicitKonstantin Käfer2017-10-122-5/+0
| | | | | | | | | | | | Previously, we used the existence of a `prior*` field in the Resource object as an indication for whether we should consult the cache or not. However, this is prone to error, since a failed cache lookup won't set any prior fields. Therefore, we manually set `priorExpires` to 0. This in turn triggered another bug where generated wrong expiration timestamps when the server response we got was expired (or expired between sending and receiving). This commit changes the flags so that we can now explicitly request CacheOnly/NetworkOnly (or All) loading methods, rather than the implicit Optional/Required naming scheme.
* | [core] limit annotation tile source to z16upstream/android-v5.1.4Konstantin Käfer2017-10-191-1/+3
| |
* | [core] Move SourceType to the 'style' namespaceAnand Thakker2017-10-161-1/+1
| |
* | [core] make forcing cache/network only more explicitKonstantin Käfer2017-10-122-5/+0
|/ | | | | | Previously, we used the existence of a `prior*` field in the Resource object as an indication for whether we should consult the cache or not. However, this is prone to error, since a failed cache lookup won't set any prior fields. Therefore, we manually set `priorExpires` to 0. This in turn triggered another bug where generated wrong expiration timestamps when the server response we got was expired (or expired between sending and receiving). This commit changes the flags so that we can now explicitly request CacheOnly/NetworkOnly (or All) loading methods, rather than the implicit Optional/Required naming scheme.
* [core] annotation manager - manage dirty state internallyIvo van Dongen2017-08-312-23/+26
|