Commit Graph

126 Commits

Author SHA1 Message Date
Alexander Shalamov
d4149ea5f1 [android] Generate style code for symbol-sort-key 2019-04-17 15:04:08 +03:00
Mikhail Pozdnyakov
2b9a52f5e4 [core] Enable 'text-radial-offset' property 2019-03-29 16:18:41 +02:00
Mikhail Pozdnyakov
a6d8742e63 [core] Enable text-variable-anchor property 2019-03-29 16:18:41 +02:00
Łukasz Paczos
f1ac3f29c3 [android] text-color option for formatted sections 2019-03-15 16:17:59 +01:00
Mikhail Pozdnyakov
810999fadf [core] Simplify util::peer
Remove custom vtable, base implementation on `std::unique_ptr`.
2019-02-28 17:45:21 +02:00
tobrun
7ad9f3450d [android] - remove faulty conversion, explict casting for cluster API 2019-02-07 15:41:54 +01:00
Łukasz Paczos
8ad13cd577 [android] expose symbol placement transition duration option 2019-02-04 14:52:14 +01:00
Mikhail Pozdnyakov
8fedfbf160 [android, darwin] Fix core-only layer creation
In the layer manager implementations `addLayerTypeCoreOnly()`
should be called with core-only modules.
2019-01-25 15:38:07 +02:00
Łukasz Paczos
9604953d90 [android] rename required TransitionOptions field 2019-01-21 18:02:18 +01:00
Michael Muesch
24468956fc Ability to disable any layer using pre-processing flags. 2019-01-17 18:56:58 +02:00
tobrun
9ba0737e6a [android] - expose query feature extensions 2019-01-15 17:15:23 +01:00
tobrun
e6e07a6809 [android] - optimise interface definition 2019-01-15 13:33:28 +01:00
Mikhail Pozdnyakov
a408b2f5d5 [mac, ios] Enable core-only layers
`LayerManagerDarwin` can add layer types that are enabled only for JSON style.
It allows to exclude the SDK wrappers for these layers from the project and decrease binary size.
2018-12-18 18:57:16 +02:00
Mikhail Pozdnyakov
13e117b501 [android] Enable core-only layers
`LayerManagerAndroid` can add layer types that are enabled only for JSON style.
It allows to save binary size - JNI glue code for these layer types won't be
added to the binaries.
2018-12-11 20:11:23 +02:00
Mikhail Pozdnyakov
ebd87a5442 [core, android, darwin] Move layer factories to separate files 2018-12-10 18:20:32 +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
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
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
Łukasz Paczos
9ac444a08d [android] removing plain text getter for "text-field" 2018-11-20 12:22:16 +01:00
Mikhail Pozdnyakov
33818233cf [core][android] Introduce mbgl::style::LayerTypeInfo
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.
2018-11-15 18:32:31 +02:00
Mikhail Pozdnyakov
5a70f2b150 noexcept specifier for layer factory methods 2018-11-07 16:34:20 +02:00
Mikhail Pozdnyakov
1ba1ead3ea [android] Remove UnknownLayer 2018-11-07 16:34:20 +02:00
Mikhail Pozdnyakov
6f34e69b2e [android] layers.cpp/hpp -> layer_manager.cpp/hpp 2018-11-07 16:34:20 +02:00
Mikhail Pozdnyakov
80ec05cf47 [core][android] Implement LayerManager for Android
The newly introduced `LayerManagerAndroid` is now responsible
for creating both style layer objects and their java peers on Android.
2018-11-07 16:34:20 +02:00
Mikhail Pozdnyakov
56808731b6 Remove style::Layer::is()/as() 2018-10-31 11:22:46 +02:00
Mikhail Pozdnyakov
7a9461a8d4 Consolidate style::Layer properties API
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.
2018-10-25 22:42:43 +03:00
Łukasz Paczos
12b4969454 [android] "format" expression support 2018-10-24 13:35:36 +02:00
ryanhamley
31cca05fc6 Port symbol-z-order symbol layout style-spec property to Native 2018-09-07 13:05:19 -07:00
John Firebaugh
79bf0e8af6 [android] jni.hpp 4.0.0 2018-09-07 09:44:12 -07:00
John Firebaugh
115e8625e1 [android] Simplify Feature conversion 2018-09-07 09:44:12 -07:00
John Firebaugh
53c3c327f0 [android] Upgrade to latest jni.hpp 2018-09-07 09:44:12 -07:00
John Firebaugh
260f96c253 [android] Retain a shared thread pool reference
Otherwise it may be prematurely deleted.
2018-09-04 11:18:55 -07:00
tobrun
42aaf3e346 [android] - add get source id to supported layer types 2018-09-04 15:16:18 +02:00
Łukasz Paczos
f9fd9c0f00 [android] synchronize and coalesce requests targeting the same TileID in the CustomGeometrySource 2018-08-23 18:29:55 +02:00
Mikhail Pozdnyakov
fb5afd34b9 [core] Add line-gradient property
Porting of https://github.com/mapbox/mapbox-gl-js/pull/6303
See the link above for the description of the feature and
its limitations).

Based on patch from @lbud (Lauren Budorick).
2018-08-23 19:01:40 +03:00
John Firebaugh
9587f569f7 [android] Simplify enum conversion 2018-08-21 09:26:44 -07:00
John Firebaugh
1584d8f70a [android] Remove unused 2018-08-21 09:26:44 -07:00
John Firebaugh
2ff1ac3097 [android] Move conversion code to .cpp files 2018-08-21 09:26:44 -07:00
Łukasz Paczos
2c093e7f0b [android] - converting GeoJsonSource Java features to core ones on a worker thread 2018-08-21 11:56:08 +02:00
Konstantin Käfer
112bbc7ab2 [core] make style/conversion.hpp implementation private 2018-08-19 13:09:16 +02:00
John Firebaugh
b2f60a4bf2 [core] Eliminate setProperty & co. 2018-08-13 12:39:44 -07:00
Łukasz Paczos
63d4ac05f2 [android] shutting down thread pool of the CustomGeometrySource when the source is destroyed 2018-08-10 18:31:52 +02:00
Bruno de Oliveira Abinader
3952ff5c34 [core] Replace unique_any with peer from mapbox-bindgen 2018-08-08 14:14:34 +03:00
John Firebaugh
9bdd765a02 [core] Merge DataDrivenPropertyValue into PropertyValue (#12513) 2018-07-31 14:21:47 -07:00
Chris Loer
0b2221cb74 [android, ios, macos] Generate symbol-placement: line-center wrappers 2018-07-23 13:33:27 -07:00
John Firebaugh
c8edbb0500 [core] Replace {Source,Camera,Composite}Function with PropertyExpression 2018-07-20 11:56:30 -07:00
Mikhail Pozdnyakov
514485502d Rename HeatmapColorPropertyValue to ColorRampPropertyValue
Based on patch from @lbud (Lauren Budorick).

Give `HeatmapColorPropertyValue` a more generic name,
since the same value type will be used for both `heatmap-color`
and `line-gradient` properties.
2018-07-05 15:11:14 +03:00
Molly Lloyd
e1af62e87d [core] add raster-resampling property (#12176)
* update style-code for raster-resampling

* implement user-defined raster-resampling

* invert filter condition

* raster-resampling -> raster-resampling-mode for darwin language conventions
2018-06-21 14:37:17 -07:00
Lucas Wojciechowski
a4e2c1af1f [core] Convert "legacy" filters directly into expressions (#11610)
Ports the specialized filter-* expressions from GL JS, adding them to src/mbgl/style/expression/compound_expression.cpp
2018-05-10 12:37:14 -07:00