Mikhail Pozdnyakov
ac3d59862a
[core] TilePyramid has sorted render tiles
...
Thus we obviate unneeded extra sorting of render tiles at each render layer.
2019-01-16 16:16:18 +02:00
Mikhail Pozdnyakov
12295ef335
[core] SymbolBucket: use single map for paint properties data
...
Obviates unnecessary lookups, improves readability.
2019-01-14 12:53:44 +02:00
Konstantin Käfer
1185fe0d31
[core] return constexpr strings from functions to avoid ODR compile failures
2019-01-11 16:05:17 +01:00
Mikhail Pozdnyakov
d37918c169
[core] Split layer type specific code in mbgl::Programs
...
Progams code for a certain layer type is encapsulted within
a dedicated `<layer type>Programs` class, inherited from
the generic base `LayerTypePrograms` class.
`mbgl::Programs::get<layer type>Programs()` lazily initializes the
layer type-specific programs code using pointer to the base class,
which allows LTO to remove this code from binaries (if the corresponding
`get<layer type>Programs()` method can never be invoked).
2019-01-11 16:43:52 +02:00
Mikhail Pozdnyakov
2bdab82ded
[core] shader program must always match bucket in render symbol layer
...
Before this change, `RenderSymbolLayer` with updated style was trying to render
symbols using the previous bucket (with paint property binders that matched a previous program).
Now, symbol bucket caches the latest corresponding paint properties (caching is happening on
complete tiles only). As a result, `RenderSymbolLayer` always picks the shader program and
its parameters in sync with the obtained bucket.
2019-01-11 11:30:04 +02:00
Konstantin Käfer
6f60ccf08e
[build] generate header maps instead of -files.txt
2019-01-09 10:26:53 +01:00
Minh Nguyễn
d0f330a319
[core] Updated script detection for Unicode 11
...
Updated script detection code to reflect changes in Unicode 11.
2019-01-07 09:56:37 -08:00
Ansis Brammanis
750734df34
[core] fix deduping rings in querying, #11357
2019-01-04 15:00:19 -08:00
Mikhail Pozdnyakov
c621b8100d
[core] Drop LayerType
...
Drop LayerType and its remaining usages.
The generic code should be layer type agnostic.
2019-01-04 11:51:33 +02:00
Chris Loer
b7e2b11a75
[core] Support for excluding ideographic glyphs from offline downloads.
2018-12-21 15:13:48 -08:00
Mikhail Pozdnyakov
cf6c97ad68
[core] Remove fnv_hash.hpp
2018-12-20 09:50:14 +02:00
Mikhail Pozdnyakov
d4d12fb8a5
[core] Use eternal::hash_map in style::Layers
2018-12-19 19:09:19 +02:00
Alexander Shalamov
a1ca06e304
[core] Introduce Renderer::queryFeatureExtension API
...
New interface allows it's users to query additional information about
feature that was provided by qRF interface. This is particularly
useful for clustered features.
2018-12-12 15:08:18 +02:00
Alexander Shalamov
664ceb4398
[core] Share GeoJSONData pointer as weak_ptr instead of raw ptr
2018-12-12 15:08:18 +02:00
Alexander Shalamov
8a03d16990
[core] Expose getChildren, getLeaves, getClusterExpansionZoom on SuperclusterData
2018-12-12 15:08:18 +02:00
Chris Loer
d812babecd
[core] Avoid divide-by-zero when transition duration is 0..
...
Fixes issue #13506 -- transition duration of 0 would cause symbol flickering.
2018-12-11 14:03:34 -08:00
Chris Loer
662a495561
[docs] EnterIdle -> BecomeIdle
2018-12-11 11:46:16 -08:00
Chris Loer
70c2d5a4ca
[core, darwin, android] Add onDidEnterIdle to MapObserver.
...
didEnterIdle fires whenever render completes and no repaint is scheduled.
2018-12-11 11:46:16 -08:00
Mikhail Pozdnyakov
c043d01e14
[core]Disable RenderAnnotationSource when annotations are disabled
...
This patch disables creation of `RenderAnnotationSource` instances
and thus saves extra 4Ki on Android when `LayerManager::annotationsEnabled`
is `false`.
2018-12-11 15:09:34 +02:00
Mikhail Pozdnyakov
ebd87a5442
[core, android, darwin] Move layer factories to separate files
2018-12-10 18:20:32 +02:00
Łukasz Paczos
794b851f02
[android] expose Formatted text-field setter
2018-12-04 17:22:38 +01:00
Konstantin Käfer
64559a255b
[core] convert CompoundExpressionRegistry to constexpr hash map
2018-12-04 16:20:51 +02:00
Konstantin Käfer
2b9f3aad9a
[core] use constexpr map using eternal for expression lookups
2018-12-04 16:20:51 +02:00
Vladimir Agafonkin
c89daf6bf1
Add basic shader minification ( #13500 )
...
* add basic shader minification (same GL JS does)
* don't remove line break at shader end
2018-12-04 16:09:43 +02:00
Mikhail Pozdnyakov
92352de87d
[core] layermanager folder
...
Move `LayerManager` and `LayerFactory` abstract classes to a dedicated folder.
2018-11-30 19:09:17 +02:00
Bruno de Oliveira Abinader
369d1f005b
[core] Do not consider X axis when constraining scale
2018-11-29 14:23:55 +02:00
Bruno de Oliveira Abinader
e64c28613a
[core] Support fill-extrusion-vertical-gradient
2018-11-29 14:23:55 +02:00
Mikhail Pozdnyakov
ad03e42b28
[core] LayerManager can disable annotations
...
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.
2018-11-28 17:18:38 +02:00
Bruno de Oliveira Abinader
20ca1a0418
[core] Cleanup Transform, use {jump,ease}To() instead
2018-11-27 21:38:36 +02:00
Bruno de Oliveira Abinader
e8f7866e9e
[core] Remove error-prone setlatLng overload
2018-11-27 21:38:36 +02:00
Mikhail Pozdnyakov
361982fef8
[core][Android][Darwin] LayerManager creates RenderLayer instances
...
`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`.
2018-11-27 18:10:21 +02:00
Bruno de Oliveira Abinader
52cce7925d
[core] Camera center and anchor points are mutually exclusive
2018-11-26 17:15:51 +02:00
Bruno de Oliveira Abinader
82be3104cd
[core] Fix VectorTileFeature::getValue() semantics after geometry@v1.0.0
2018-11-26 12:43:13 +02:00
Minh Nguyễn
7d5be980e2
[core] Fixed {prefix} evaluation
...
This appears to have been an attempt to use the std::string fill constructor, but it ended up creating a one-character-long string and attempting to overwrite the null terminator.
2018-11-21 09:54:05 -08:00
Bruno de Oliveira Abinader
594d2074a3
[core] Let placement transitions use the transition duration, if set, and allow disabling them entirely
2018-11-21 16:43:20 +02:00
Bruno de Oliveira Abinader
5fb0b0c1bc
[core] Let property evaluation transitions use the transition duration, if set
2018-11-21 16:43:20 +02:00
Mikhail Pozdnyakov
8ac87ec5cb
Refactor util::fontStacks()
...
So that it does not downcast `Layer::Impl` instances.
Also, an unneeded `std::vector` construction was removed from
`Parser::fontStacks()`.
2018-11-19 17:16:54 +02:00
Alexander Shalamov
9592e61288
[core] Construct RenderItem objects in-place and remove unused headers
2018-11-19 14:06:21 +02:00
Alexander Shalamov
e59110d586
[core] Remove RenderLayer's is<> as<> methods
2018-11-19 14:06:21 +02:00
Alexander Shalamov
77911f1cc9
[core] Replace RenderSymbolLayer downcast with symbol interface
2018-11-19 14:06:21 +02:00
Alexander Shalamov
20c471669c
[core] Remove casts in buckets
2018-11-19 14:06:21 +02:00
Alexander Shalamov
eb170b250a
[core] Add use LayerTypeInfo::Layout for the layers that require Layout
2018-11-19 14:06:21 +02:00
Alexander Shalamov
05d5edfa74
[core] Remove casts where expected type is part of the contract
2018-11-19 14:06:21 +02:00
Alexander Shalamov
767745e8b8
[core] Remove casts for Custom and Background render layers
2018-11-19 14:06:21 +02:00
Alexander Shalamov
a7274f66d0
[core] Move layer specific color ramp updates behind common update() method
2018-11-19 14:06:21 +02:00
Alexander Shalamov
f6ad5f378e
[core] Move RenderTile filtering / sorting logic to render layers
2018-11-19 14:06:21 +02:00
Alexander Shalamov
006ee8b003
[core] Move markContextDestroyed() to the RenderLayer
2018-11-19 14:06:21 +02:00
Alexander Shalamov
44906b1ff3
[core] Remove downcasts for layers that require 3D render pass
2018-11-19 14:06:21 +02:00
Alexander Shalamov
527851e2aa
[core] Add static layer properties to mbgl::style::LayerTypeInfo
2018-11-19 14:06:21 +02:00
Huyen Chau Nguyen
9a606caf0b
[core] define number of concurrent downloads in online file source variable
2018-11-15 12:19:48 -08:00