Commit Graph

450 Commits

Author SHA1 Message Date
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
Chris Loer
0bba794e98 [android] Expose "local ideograph font family" in MapSnapshotter::Options
Use local glyph generation in test app's MapSnapshotterActivity.
2018-11-24 09:57:32 -08:00
Łukasz Paczos
9ac444a08d [android] removing plain text getter for "text-field" 2018-11-20 12:22:16 +01:00
Huyen Chau Nguyen
9a606caf0b [core] define number of concurrent downloads in online file source variable 2018-11-15 12:19:48 -08: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
Bruno de Oliveira Abinader
bf8b24fa8d [build] Update to geometry v1.0.0 2018-11-13 17:28:26 +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
Konstantin Käfer
7692be5d15 [core] refactor util::toString to use RapidJSON's stringification 2018-10-23 12:23:40 +02:00
Konstantin Käfer
8bf66ef7a7 [core] remove some uses of <iostream> and <sstream> 2018-10-23 12:23:40 +02:00
Bruno de Oliveira Abinader
98c36fc06e [core] CameraOptions receives and outputs angle and pitch as degrees, not radians 2018-10-19 12:05:16 +02:00
Chris Loer
44f79031b7 [android] Include "must-revalidate" in putResourceWithURL 2018-10-17 12:53:24 -07:00
Chris Loer
3f98d6a821 [android] Add OfflineManager.putResourceForURL
Useful for pre-warming the ambient cache
2018-10-17 12:53:24 -07:00
Chris Loer
fdfb9386a6 [android] Minimal Android support for 'format' expression
- No dedicated support for creating format expressions
- Java accessors for 'text-field' flatten back to String
- 'text-field' setter implicitly creates a 'format' expression. For tests, use JsonArray to build an equivalent format expression by hand.
2018-10-15 13:15:46 -07:00
Tobrun
9e7694cb38 [android] - replace OnMapChange with specific callbacks 2018-10-11 14:12:35 +02:00
Konstantin Käfer
4004a85a79 [android] explicitly set temp directory for SQLite3 2018-09-26 13:47:28 +02:00
Łukasz Paczos
4148a5a91a [android] expose offline database merge API 2018-09-26 13:47:28 +02:00
tobrun
5238c77696 [android] - add binding integration for cross source collision 2018-09-12 14:10:46 -07:00
tobrun
6e171a62a9 [android] - replace platform default implementation using nunicode for uppercasing an lowercasing with an Android specific String.java equivalent 2018-09-11 12:58:56 +02:00
Konstantin Käfer
4a3c4edb59 [android] add support for gnustl 2018-09-11 11:43:54 +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
5911e3b13f [android] Simplify annotation conversion 2018-09-07 09:44:12 -07:00
John Firebaugh
6be8302296 [android] Simplify JSON conversion 2018-09-07 09:44:12 -07:00
John Firebaugh
3948bbd777 [android] Simplify Point conversion 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
6806ba5b52 [android] Put function inverses next to each other 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
John Firebaugh
0dac3bc60c [android] Explicitly delete local JNI references
This method seems to be called in a loop, leading to a local reference table overflow if not explicitly deleted.

See https://github.com/mapbox/mapbox-gl-native/pull/12716#pullrequestreview-150462731
2018-08-31 09:42:16 -07:00
tobrun
d297bf10ef [android] - modularise the sdk 2018-08-24 18:40:11 +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
a842c198ac [android] Inline geometry conversion 2018-08-21 09:26:44 -07: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
Kiyong Jung
5297f563a4 [android] Make AndroidRendererFrontend to request render once per event loop (#12586)
When AndroidRendererFrontend::update() called multiple times in a single loop, updateAsyncTask->send() will perform nothing, thus MapRenderer::update()/requestRender() will be coalesced.
2018-08-21 11:53:05 +02:00
Ivo van Dongen
4fedcf8d06 [android] arbitrary offline region geometries 2018-08-20 22:49:01 +03:00
Konstantin Käfer
112bbc7ab2 [core] make style/conversion.hpp implementation private 2018-08-19 13:09:16 +02:00