Mikhail Pozdnyakov
aad13f6a3f
[core] FileSourceManager::getFileSource() returns PassRefPtr
2020-02-26 22:31:59 +02:00
Juha Alanen
f3c8cefc7f
[core] Return pitch bounds in degrees
2020-02-26 11:21:04 +02:00
Juha Alanen
fdf6bb3e34
[core] Add min and max pitch options
2020-02-25 16:54:44 +02:00
Alexander Shalamov
879c44f661
[core] Modularize FileSource codebase ( #15768 )
...
* [core] Introduce FileSourceManager and use it for default platform impl
- Add `FileSourceManager` interface that provides access to `FileSource`
instances and means of registering / unregistering `FileSource` factories
- Split `DefaultFileSource` into smaller parts
- Add `DatabaseFileSource` interface and it's default implementation
- Remove inter-dependencies between concrete `FileSource` classes
* [build] Add files to next build system
* [core] Add generic property setters / getters
* [core] Remove setOnlineStatus from OnlineFileSource interface
* [core] Hide threading implementation details from DatabaseFileSource interface
* [core] Make DB file source methods virtual
* [core] Add documentation for DatabaseFileSource and rename one method
* [core] Use simple callback instead of ActorRef
* [core] Remove ActorRef from OnlineFileSource public header
* [core] Add callback to FileSource::forward async API
* [core] Pass OfflineRegionDefinition by value
* [core] Update tests to use modular file sources
* [core] Update unit tests
* [core] Update unit tests after rebase
* [core] Backport low prio fix for cached requests
* [core] Backport pack database
* [core] Return removed factory from unRegisterFileSourceFactory
* [core] Rename shadowed args in onlinefilesource
* [core] Remove simple std::function callback aliases
* [core] Expose online file source property keys in public header file
* [test-runner] Add proxy file source test runner
* [cache] Update mbgl-cache utility to use new file source
* [metrics] Rebaseline binary size metrics
* [offline] Update offline utility
* [core] Update changelog
2020-01-13 10:57:23 +02:00
Peng Liu
236afc0395
[android][core] Add Map::latLngBoundsForCameraUnwrapped and jni binding for getVisibleCoordinateBounds. ( #16069 )
...
* [android] Add getVisibleCoordinateBounds method.
* Fix Map::latLngBoundsForCamera, add Android binding for getVisibleRegionBounds.
* Add unit tests for CameraToLatLngBoundsWithRotation and CameraToLatLngBoundsCrossDateLine.
* Move API breaking changes to a new method name latLngBoundsForCameraUnwrapped.
2020-01-09 15:53:23 +02:00
Aleksandar Stojiljkovic
2fd9d4a1fe
Include padding when testing camera scale in cameraForLatLngBounds
...
Repurpose LatLngBoundsToCameraWithBearingAndPitch to test scaling and camera setup, both with and without padding.
This adds testing of path not covered in mapbox/mapbox-gl-native-ios#59 .
2019-12-17 16:19:33 +02:00
Romain Quidet
5693f3be02
correct insets camera management - see https://github.com/mapbox/mapbox-gl-native-ios/issues/59
2019-12-17 16:19:33 +02:00
Bruno de Oliveira Abinader
1e2cd1e086
[core] Remove Map::cycleDebugOptions
2019-12-04 11:50:05 +02:00
zmiao
2e8a350d68
[core] Add batch conversion of latLngs to/from screenCoords ( #15891 )
...
* [core] Add batch conversion of latLng vs screenCoord
* [core] Take the simple approach
2019-11-07 18:16:31 +02:00
Łukasz Paczos
e5c219d035
[core] make padding optional when camera position is requested.
...
When padding is not provided, the current one that's cached in the TransformState is going to be returned.
2019-08-29 14:51:24 +02: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
Konstantin Käfer
3ceabcd3ec
[core] clang-tidy fixes
2019-04-05 11:49:17 +02:00
Sudarsana Babu Nagineni
7af00a404f
[core] Include pixelRatio property in MapOptions
...
Move pixelRatio property from Map constructor to MapOptions.
2019-03-28 16:41:15 +02:00
Sudarsana Babu Nagineni
1cc1d4ea08
[core] Add setter/getter for size property in MapOptions
2019-03-28 16:41:15 +02:00
Sudarsana Babu Nagineni
11afef7825
[core] Add interface to change the orientation through MapOptions
2019-03-28 16:41:15 +02:00
Sudarsana Babu Nagineni
e639087c91
[core] Add getter for Map options
...
Instead of having individual getter for each Map option,
add a common getter for all Map options.
2019-03-28 16:41:15 +02:00
Łukasz Paczos
419bfbe0eb
[core] harden fetching camera for bounds when padding is excessive
2019-03-25 17:53:55 +01:00
Bruno de Oliveira Abinader
d5868d3da8
[core] Remove file source from public Map ctor
2019-03-20 21:30:08 +02:00
Bruno de Oliveira Abinader
d1762d7111
[core] Cleanup Map::Impl ctor
2019-03-20 21:30:08 +02:00
Ander Conselvan de Oliveira
5733440747
[core] Group Map LatLngBounds, min and max zoom methods
...
Group bounds, minimum and maximum zoom related methods together using
the new BoundOptions.
v2: Document that getBounds() initializes all optional fields.
- Add test for getBounds() on a map with default values.
2019-03-14 18:33:11 +02:00
Ander Conselvan de Oliveira
11de777628
[core] Remove optional from Map::setLatLngBounds()
...
This is a first step into grouping together bounds related Map methods
into one that takes a "BoundOptions" object. LatLngBounds::unbounded()
replaces an undefined optional<LatLngBounds>.
v2: Document LatLngBounds::unbounded()
2019-03-14 18:33:11 +02:00
Ander Conselvan de Oliveira
a73cc9d8e3
[core] Remove support for setting minimum and maximum pitch
...
Support for limiting pitch was introduced in commit c4fc89977b ([core]
Added {set,get}{Min,Max}Pitch) in 2017 but was never exposed by the
platform SDKs. Simplify the Map interface by removing this unused
feature.
v2: Add util::PITCH_MIN
2019-03-14 18:33:11 +02:00
Sudarsana Babu Nagineni
5e2b6bf636
[core] Add MapOptions to define properties of Map
...
To simplify the Map constructor, introduce MapOptions
interface to define the properties that can be set on
a Map.
2019-03-08 18:20:55 +02:00
Sudarsana Babu Nagineni
744d92e763
[core] consolidate Axonometric rendering API
...
Instead of having individual APIs for setting axonometric
and skew options, create ProjectionMode struct that holds
all the relevant options for Axonometric rendering and
introduce setter/getter on the Map for those options.
2019-03-08 17:36:40 +02:00
Bruno de Oliveira Abinader
74538406e9
[core] Organize Map::{move,pitch,scale,rotate}By
2019-03-04 14:45:32 +02:00
Bruno de Oliveira Abinader
586b22c0df
[core] Remove map coordinate setters/getters
2019-03-04 14:45:32 +02:00
Bruno de Oliveira Abinader
ba7427b4ac
[core] Transform{State}: s/angle/bearing/
2019-03-04 14:45:32 +02:00
Bruno de Oliveira Abinader
73ac3c784f
[core] Remove map bearing setters/getters
2019-03-04 14:45:32 +02:00
Bruno de Oliveira Abinader
21a39306da
[core] Remove map pitch setters/getters
2019-03-04 14:45:32 +02:00
Bruno de Oliveira Abinader
f5f10ec119
[core] Remove map zoom setters/getters
2019-03-04 14:45:32 +02:00
Bruno de Oliveira Abinader
491fce6879
[core] Added Map::pitchBy()
2019-03-04 14:45:32 +02:00
Bruno de Oliveira Abinader
02f2b9c75c
[core] Added Map::scaleBy()
2019-03-04 14:45:32 +02:00
Bruno de Oliveira Abinader
dd651691f3
[core] Move Map::Impl to its own def/impl files
2019-02-27 16:29:06 +02:00
Chris Loer
662a495561
[docs] EnterIdle -> BecomeIdle
2018-12-11 11:46:16 -08:00
Chris Loer
70c2d5a4ca
[core, darwin, android] Add onDidEnterIdle to MapObserver.
...
didEnterIdle fires whenever render completes and no repaint is scheduled.
2018-12-11 11:46:16 -08: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
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
Bruno de Oliveira Abinader
20ca1a0418
[core] Cleanup Transform, use {jump,ease}To() instead
2018-11-27 21:38:36 +02:00
Bruno de Oliveira Abinader
e8f7866e9e
[core] Remove error-prone setlatLng overload
2018-11-27 21:38:36 +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
d735d89835
[core] Port "collision group" plumbing to gl-native.
...
[node] Hook up map-wide "crossSourceCollisions" option, defaulting to true.
[test] Pass "crossSourceCollisions" test option through test harness; enable cross-source-collisions tests on native.
2018-09-12 14:10:46 -07:00
Konstantin Käfer
4a3c4edb59
[android] add support for gnustl
2018-09-11 11:43:54 +02:00
Bobby Sudekum
4286d5869c
Add pitch argument to cameraThatFits functions ( #12213 )
2018-07-02 16:30:18 -07:00
Konstantin Käfer
d66251234d
[core] don't use floating point versions of pow/log
...
GLIBC 2.27 added new versioned symbols of powf and logf, while the double versions of pow and log remained stable.
Prefer the double version to avoid introducing a dependency on a newer version of GLIBC than strictly necessary.
See https://lists.gnu.org/archive/html/info-gnu/2018-02/msg00000.html
2018-06-04 10:43:21 +02:00
Fabian Guerra
e08b6fe87f
Merge branch 'release-boba' into master
...
# Conflicts:
# circle.yml
# include/mbgl/style/expression/let.hpp
# platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/geometry/LatLngBounds.java
# platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/MapGestureDetector.java
# platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/MapKeyListener.java
# platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/MapView.java
# platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/MapboxMap.java
# platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/Projection.java
# platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/Transform.java
# platform/android/MapboxGLAndroidSDK/src/test/java/com/mapbox/mapboxsdk/geometry/LatLngBoundsTest.java
# platform/android/MapboxGLAndroidSDKTestApp/src/main/AndroidManifest.xml
# platform/android/gradle/dependencies.gradle
# platform/android/src/example_custom_layer.cpp
# platform/android/src/geojson/point.cpp
# platform/darwin/src/NSPredicate+MGLAdditions.mm
# platform/darwin/test/MGLExpressionTests.mm
# platform/ios/Mapbox-iOS-SDK-nightly-dynamic.podspec
# platform/ios/Mapbox-iOS-SDK-symbols.podspec
# platform/ios/Mapbox-iOS-SDK.podspec
# platform/ios/app/MBXViewController.m
# src/mbgl/renderer/layers/render_custom_layer.cpp
# src/mbgl/style/conversion/filter.cpp
# src/mbgl/style/expression/interpolate.cpp
# src/mbgl/style/expression/value.cpp
# test/style/filter.test.cpp
2018-04-23 10:44:02 -04:00
Ivo van Dongen
d7bc36db6f
[core] prevent render thread from waking up unneeded on still rendering
...
- No longer sends a update message to the render frontend when rendering in still mode only to shortcut it in the renderer. This prevents unneeded render passes in qt.
2018-03-14 16:39:58 +02:00
Łukasz Paczos
dfdfbc0990
[android] calculating camera's LatLng for bounds without map padding ( #11410 )
2018-03-08 15:55:47 +01:00
Konstantin Käfer
ac32b41493
[core] don't tie Annotation geometries to Map maxzoom
...
Instead, geometry generation via GeoJSONVT is now bound to the hardcoded limit of the annotation tile source.
2018-01-02 19:41:07 +01:00
Ansis Brammanis
22c07596a0
[core] Split MapMode::Still into Static and Tile
...
`Tile` makes sure the symbols in the resulting tile are tileable while
symbols in `Still` match rendering in `Continuous` mode.
2017-11-17 10:05:15 -08:00
Lauren Budorick
e43e2aa3d7
[core, node] Support axonometric rendering
2017-10-14 03:15:34 +02:00