Commit Graph

137 Commits

Author SHA1 Message Date
tobrun
f54d47137b [android] promote releaseCoreLayer from protected to public 2020-01-06 15:44:03 +01:00
Mikhail Pozdnyakov
5d46cd662f [android][node][qt] Update platform code for style::Layer::setProperty() 2019-12-03 14:20:17 +02:00
Mikhail Pozdnyakov
cd4136ed4b [core][android][darwin] Fix GeoJSONOptions handling
- share the `GeoJSONOptions` instances using `Immutable<GeoJSONOptions>` - avoid extra copying
- fix wrapping of the `GeoJSONOptions` instances in supercluster map/reduce lambdas.
  Previously, local variables were wrapped by reference.
2019-11-29 09:53:28 +02:00
Mikhail Pozdnyakov
4afb4438eb [android] Convert GeoJSON features to tiles in background
Composing tiles from the GeoJSON features is an expensive
operation that might block UI thread on updating the `GeoJsonSource`
with the new data.

This change moves tile composing to the background thread and thus
unblocks the UI thread.
2019-10-31 10:24:55 +02:00
Mikhail Pozdnyakov
151ea331f8 [core] Use mapbox::base::TypeWrapper instead of utils::peer 2019-09-10 11:51:17 +03:00
Tobrun
ed964fc16b [android] avoid converting float to long in android_conversion.hpp (#15557) 2019-09-04 18:12:12 +03:00
zmiao
2a8359b028 [android] bindings for aggregated cluster properties (#15425)
* [android] bindings for aggregated cluster properties

* [android] change the parameter type for adding clusterProperty

* [android] add changelog

* remove extra emplty line
2019-08-22 18:54:31 +03:00
Łukasz Paczos
bf34fb0190 [android] check if the CustomGeometrySource's java peer is valid when the thread is shutting down 2019-08-19 10:22:45 +02:00
Alexander Shalamov
dad43ba8fc [android] Android bindings for new 'text-writing-mode' layout property 2019-08-13 13:32:56 +03:00
Mikhail Pozdnyakov
434b0f54ea [android] Fix compilation warning with updated clang
`mbgl::android::Value` move assignment operator is implicitly deleted.
2019-06-07 10:46:54 +03:00
Thiago Marcos P. Santos
06f1dc48a2 [core] Make the BackgroundScheduler a singleton
- 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`.
2019-05-10 14:20:38 +03:00
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