| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
* [core] Take max/min zoom option from style if they are set
* [core] std::move input value
* [Core] Add changelogs
* [Core] Fix clang-format reported error
* [Core] fix clang-tidy reported error
|
|
|
|
| |
Works the same way as mbgl::style::set{Paint,Layout}Property functions.
|
| |
|
|
|
|
| |
objects (#15539)
|
|
|
|
|
|
|
|
|
|
| |
* indroduce clusterProperty option for aggregation
* remove unnecessary codes
* update geojson_option conversion
* fix reviewing findings
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Before this change render passes were assigned for the
whole layer at properties evaluation stage.
This caused problems, as layer render data are bound
to the tile and these data might differ from tile to
tile, depending on which tile has been updated by the
tile worker and which has not been yet updated.
This change takes into consideration the actual render
passes required for each tile and combines them for
the layer render passes. Naturally, this change also
introduces render pass check for each render layer in
`RenderLayer::render()` implementations.
|
|
|
|
|
|
| |
Constants mask for data-driven paint properties is a reliable
criteria of whether the given updated properties can still be used
with the existing bucket (and the gl program instance).
|
| |
|
|
|
|
|
| |
Since unique_ptr is already nullable there is no need to wrap it in an
optional<>.
|
|
|
|
|
| |
Add handling of default value to the conversion of legacy identity
functions. The color and enum tests still don't pass though.
|
| |
|
|
|
|
|
|
|
|
|
|
| |
- Do not carry it over everywhere as parameter, it is a shared
instance anyway and the lifecycle is pretty much the app lifecycle
from the moment we instantiate a map.
- Rename to BackgroundScheduler because it is a Scheduler that will
do tasks in the background, we don't make assumptions if it is a
thread pool or a single thread.
- Most importantly, remove the dependency from `core` on `platform`.
|
| |
|
|
|
|
|
| |
CustomGeometrySource should keep strong reference to shared thread
pool that is used by CustomTileLoader.
|
|
|
|
| |
JSON keys in our style specification don't have a defined order. This change sorts them alphabetically so that we can rely on the order remaining them same across code generation runs.
|
|
|
|
| |
Actual for layers rendering the geometry tile data: line, fill, fill-extrusion, heatmap, circle, symbol (was updated in previous commits).
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
| |
So that default value owned by the FormatSectionOverride, can be
evaluated based on required context parameters.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
expression #14062
* [core] Add format override expression and formatted section to evaluation context
* [core] Add textColor to TaggedString's formatted section
* [core] Add FormatSectionOverrides and introduce overridable properties
* [core] Populate symbol layer paint properties for text sections
* [core] Add benchmark for style that uses text-color override
* [core] Add unit test for FormatOverrideExpression
* [core] Add unit test for FormatSectionOverrides
|
|
|
|
|
| |
Drop LayerType and its remaining usages.
The generic code should be layer type agnostic.
|
| |
|
| |
|
| |
|
|
|
|
| |
Move `LayerManager` and `LayerFactory` abstract classes to a dedicated folder.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
| |
`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`.
|
|
|
|
| |
allow disabling them entirely
|
| |
|
|
|
|
|
|
|
|
|
| |
The `LayerTypeInfo` contains static meta data about certain layer type.
Each layer module should have a single immutable `LayerTypeInfo` instance
for the represented layer type. Both `LayerImpl` and `LayerFactory` from the
module always refer to the same `LayerTypeInfo` instance, so address of this
instance can be used as a layer module Id during the process life time.
|
| |
|
| |
|
|
|
|
|
|
|
|
|
| |
This patch introduces the initial implementation of
- A `LayerFactory` abstract class that creates `style::Layer` instances of
a certain layer type (line, hillshade, round, ..)
- A singleton `LayerManager` class, which is responsible for initializing
the `LayerFactory` instances and forwarding the `create()` calls to the
corresponding factory.
|
| |
|
|
|
|
|
|
|
|
| |
The `style::Layer` class now exposes all the properties contained at `style::LayerImpl`.
This allowed to drop `style::Layer::accept()` method usage, avoid the repeated generated code
and thus save some binary size.
This patch is a part of the layers modularization effort.
|
|
|
|
| |
Add support for `MGL_FUNCTION('format', <text>, <options dictionary>)`
|
| |
|