Commit Graph

62 Commits

Author SHA1 Message Date
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
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
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
53c3c327f0 [android] Upgrade to latest jni.hpp 2018-09-07 09:44:12 -07:00
tobrun
42aaf3e346 [android] - add get source id to supported layer types 2018-09-04 15:16:18 +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
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
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
Tobrun
44ce5ab087 Rework expression conversion (#11490)
* [android] - rework expression conversion
2018-04-10 11:09:42 +02:00
Asheem Mamoowala
099fcc3b3c Use a host interface for CustomLayer instead of function pointers (#11553)
Use a host interface for CustomLayer instead of function pointers

Co-authored-by: Julian Rex <julian.rex@mapbox.com>
2018-04-02 16:15:25 -07:00
Tobrun
f011035017 Expression filters (#11429)
* [android] - add expression filter integration
2018-03-19 15:11:17 +01:00
Tobrun
a06ce19369 [android] - add default heatmap color to getter 2018-03-01 11:29:53 +01:00
Tobrun
2e008aa29e [android] - add heatmap color property 2018-03-01 11:29:53 +01:00
Vladimir Agafonkin
82de856c94 [core, ios, macos, android, node] Heatmap layer (#11046)
Co-Authored-By: Konstantin Käfer <mail@kkaefer.com>
Co-Authored-By: Anand Thakker <anandthakker@users.noreply.github.com>
Co-Authored-By: Minh Nguyễn <1ec5@users.noreply.github.com>
2018-02-15 17:38:23 +02:00
Konstantin Käfer
2502a3ab2b [core] update mapbox-gl-js submodule pin
* disables transition render test (transitions are not supported with Still image rendering in Node.js)
* removes support for hillshade-illumniation-direction-transition
2018-01-24 15:41:22 -08:00
Molly Lloyd
f3294200c6 [core] add raster-dem source type and hillshade layer type (#10642) 2018-01-23 10:49:23 -08:00
tobrun
068d2f267f [android] - fix code generation, remove lamda, fixup color conversion locale 2018-01-09 17:04:44 +01:00
John Firebaugh
4b2e1cddb4 Replace compile-time polymorphism with runtime polymorphism in the conversion system 2017-10-23 09:56:43 -07:00
Ivo van Dongen
d1e69c8baf [android] CustomLayer - optionally accept a context lost callback function 2017-09-22 23:33:56 +03:00
Lauren Budorick
2de89a99bc Implement icon-anchor property 2017-08-28 13:32:56 -07:00
Chris Loer
e8657becc5 [core] Update shaders.
Implements 'icon-pitch-alignment' (issue #9345)
Fixes issue #9456 (map-aligned point label regression)
2017-07-12 14:14:09 -07:00
Chris Loer
d5fbcb242a [core] Implement circle-pitch-alignment property
Closes issue #9349.
2017-07-06 09:39:26 -07:00
John Firebaugh
1520a56813 [all] Promote Style to public API 2017-06-22 08:04:39 -07:00
Ivo van Dongen
3d26574cb4 [android] replace branches on layer types with visitors 2017-05-23 10:06:56 +03:00
Ivo van Dongen
95d2ed7b95 [android] owning constructor for custom layer 2017-05-23 10:06:56 +03:00
John Firebaugh
9eba2a66d1 [core, node, darwin, qt] Remove support for paint classes 2017-05-15 09:45:55 -07:00
Konstantin Käfer
fd104dd3c2 [core] Throw exceptions by value 2017-05-05 14:42:47 +02:00
Tobrun
ab20413edf [android] - add 3D buildings example (#8845)
[android] - add support for filter for fillextrusionlayer.
2017-05-03 08:59:55 +02:00
Lauren Budorick
f6e79d7073 [core] Render fill-extrusion layers (#8431) 2017-04-27 15:56:55 -07:00
Tobrun
553ec88dc0 [android] - expose source layer identifier (#8709) 2017-04-19 15:05:08 +02:00
Tobrun
939526bac4 [android] - transition options for layer properties (#8509)
[android] fixup highlevel bindings for transition options

finish integration
2017-03-31 17:51:26 +02:00
John Firebaugh
d7227e13a7 [all] Replace Result<T> with optional<T> plus out Error parameter 2017-03-23 13:31:13 -07:00
Ivo van Dongen
609cdb0fd7 [android] fix ownership of style layer after delete 2017-02-28 09:33:04 -08:00
Ivo van Dongen
3e48b377fd [android] add unknown layer type 2017-02-28 09:33:04 -08:00
Konstantin Käfer
62ea1f2185 [core] remove trailing whitespace, add trailing newlines, add space after // 2017-01-27 11:44:16 +01:00