Commit Graph

313 Commits

Author SHA1 Message Date
Chris Loer
f2b42af339 [android] Add Configuration hook for local ideograph font family and demo activity 2017-12-18 12:17:22 -08:00
Chris Loer
97e45d5fda [android] Android implementation of local CJK glyph rendering
- Draws bold version of glyph if font stack contains string "bold"
 - Not hooked up to global configuration yet
2017-12-18 12:17:22 -08:00
Chris Loer
966b6a53ce [core, ios, qt, android] Close race condition in RunLoop (issue #9620)
Because a message we queue from the foreground may cause the background to complete, exit, and tear down the AsyncTask, we have to block queue processing until we've finished our call to AsyncTask::send().
Broadening the scope of a mutex is scary, but I audited the code of our four implementations of AsyncTask and I don't see any way this could cause a deadlock.
2017-12-06 12:37:48 +01:00
Tobrun
2a13bfd2c4 [android] - add FileSource activation/deactivation to MapSnapshotter, handle multiple deactivate scenario in FileSource (#10556) 2017-12-06 12:37:48 +01:00
Pablo Guardiola
b5140cb342 [android] Cherry picks to agua (#10442)
* [android] fix map snapshotter marker example

The reference to the MapSnapshotter needs to be held for the duration of the snapshot, otherwise it might be GC'd

* [android] MapRendererRunnable - avoid weak reference table overflow

Apparently on some devices the weak reference table is limited (numbers around 52000). Even though we don't use that many weak references, when GC is not called for a while they can stack up and a crash will occur before the GC has had the time to clear the references. The C++ peer now holds on to a global ref (strong) which can be obtained to queue the java peer and then release automatically so that the GC can take over after the runnable has been executed.
2017-11-10 12:56:06 +01:00
Tobrun
cb7f6dfaec [android] - make snapshot logo optional 2017-11-01 14:56:37 -07:00
Ivo van Dongen
0c5e15e21e [android] map snapshotter - expose attributions 2017-11-01 09:23:53 -04:00
Ivo van Dongen
9c3e78a9b9 [android] map snapshotter - wrap snapshot in native peer for access to the pointFor functionality 2017-11-01 09:23:53 -04:00
Ivo van Dongen
fd3587608b [android] map snapshotter - add mutators 2017-11-01 09:23:53 -04:00
Tobrun
f578b26282 [android] - add bulk addImages api on MapboxMap 2017-10-31 13:47:12 -07:00
Tobrun
5893af7f24 [android] - move shape annotation click handling to core 2017-10-30 09:34:23 -07:00
Tobrun Van Nuland
d95079a0f9 [android] - use FileSource pause and resume when foregrounding/backgrounding app 2017-10-17 17:22:29 +02:00
Asheem Mamoowala
24bd336b88 [android][ios][macOS] Implement bindings for Map::cameraForGeometry. On macOS, also added -[MGLMapView setCamera: withDuration: animationTimingFunction: edgePadding: completionHandler:] for parity with iOS 2017-10-09 13:58:11 -07:00
Ivo van Dongen
779fc8aeee [android] example custom layer - add context lost callback 2017-09-22 23:33:56 +03:00
Ivo van Dongen
d1e69c8baf [android] CustomLayer - optionally accept a context lost callback function 2017-09-22 23:33:56 +03:00
Ivo van Dongen
b0c06c764b [android] re-implemented the fps listener api 2017-09-22 23:33:56 +03:00
Ivo van Dongen
18bb6da109 [android] reset renderer on the GL thread when map is destroyed
- ensures cleanup of resources on the right thread
2017-09-22 23:33:56 +03:00
Ivo van Dongen
c17be060fd [android] map snapshots 2017-09-22 23:33:56 +03:00
Ivo van Dongen
8182b26dfe [android] signal renderer when gl surface is re-initialized that gl context is lost 2017-09-22 23:33:56 +03:00
Ivo van Dongen
67285f3a95 [android] Re-initialise renderer, backend and context when the android system destroyed the underlying gl resources 2017-09-22 23:33:56 +03:00
Ivo van Dongen
5d12503302 [android] self-contained map renderer
- Isolates the GL thread in a MapRenderer class with a native peer
2017-09-22 23:33:56 +03:00
Ivo van Dongen
15a47d116a [android] schedule work on the gl thread using GLSurfaceView#queueEvent 2017-09-22 23:33:56 +03:00
Ivo van Dongen
347d7c19c0 [android] async rendering
- introduces GLSurfaceView
- introduces Orchestration thread
- renders on the gl thread
2017-09-22 23:33:56 +03:00
Ivo van Dongen
e780cdc29e [android] extract RendererBackend from NativeMapView 2017-09-22 23:33:56 +03:00
Lauren Budorick
a9ddf5b7fd Preserve depth buffer between 3D layers + optimize render order (#9931)
Port of https://github.com/mapbox/mapbox-gl-js/pull/5101: adds a new render pass `Pass3D` before any other rendering wherein we render layers with 3D passes (fill-extrusion layers) to offscreen framebuffers, sharing a depth renderbuffer between those layers in order to render 3D space correctly. Those framebuffers are saved on the RenderLayers and copied back to the map during the translucent pass. Rendering to offscreen framebuffers before we do any clear + draw means we can avoid expensive framebuffer restores.
2017-09-21 14:26:48 -07:00
Ivo van Dongen
966bf8824d [android] map snapshotter 2017-08-30 17:18:37 +03:00
Ivo van Dongen
a90e2f3a2c [android] add GenericWeakReference that can be deleted from any thread 2017-08-30 17:18:37 +03:00
Lauren Budorick
2de89a99bc Implement icon-anchor property 2017-08-28 13:32:56 -07:00
Tobrun Van Nuland
fde31db28f Revert "[android] - configure loggin of HttpRequest, cleanup HttpRequest"
This reverts commit a059c74a54.
2017-08-24 15:01:57 +02:00
Tobrun Van Nuland
a059c74a54 [android] - configure loggin of HttpRequest, cleanup HttpRequest 2017-08-19 07:59:27 +02:00
Tobrun Van Nuland
385e4e6ade [android] - style image accessor 2017-08-18 13:38:38 +02:00
Tobrun Van Nuland
6fce6bb6d2 [android] - optimise icon management 2017-08-10 15:31:30 +02:00
Ivo van Dongen
f4f4d13b70 [all] ensure runloop is the current scheduler 2017-08-09 12:08:21 +03:00
Konstantin Käfer
f0a7c45064 [core] finish must-revalidate support 2017-08-08 12:40:38 +02:00
John Firebaugh
d4cb498d7a [all] Merge View into RendererBackend 2017-07-26 09:50:38 -07:00
Ivo van Dongen
8fef2b6531 [android] manage backendscope in renderer frontend 2017-07-25 17:44:28 +03:00
Ivo van Dongen
c5300ebabf [android] add api to enable/disable tile prefetching 2017-07-20 11:11:18 +03:00
Tobrun
68324913d7 [android] - rewrite map object intialisation (#9462) 2017-07-19 14:17:06 +02:00
Tobrun
13db36f02c [android] - fine tune fling gesture (#9532) 2017-07-18 12:32:40 +02:00
Ivo van Dongen
b5c0bf1b8d [android] remove manual ref counting on activation/deactivation 2017-07-18 10:45:12 +02:00
Ivo van Dongen
815ffb253b [android][glfw][ios][macos][node][qt] rename backend to renderer backend 2017-07-18 10:45:12 +02:00
Ivo van Dongen
d68d8a7846 [android] rendering interface changes 2017-07-18 10:45:12 +02:00
Ivo van Dongen
39a732d7ae [android][glfw][ios][macos][node][qt] split backend from mapobserver 2017-07-18 10:45:12 +02:00
Asheem Mamoowala
8ae7010546 [core][ios][android][macos] Use premultiplied image directly for RasterTile and ImageSource, un-premultiply in the shader for blending 2017-07-17 12:20:03 -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
Tobrun
14c221fce7 Merge branch 'release-ios-v3.6.0-android-v5.1.0'
# Conflicts:
#	.travis.yml
#	circle.yml
#	cmake/core-files.cmake
#	include/mbgl/style/function/composite_function.hpp
#	platform/android/CHANGELOG.md
#	platform/android/MapboxGLAndroidSDK/build.gradle
#	platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/Mapbox.java
#	platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/constants/MyBearingTracking.java
#	platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/constants/MyLocationTracking.java
#	platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/location/LocationSource.java
#	platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/CameraChangeDispatcher.java
#	platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/MapGestureDetector.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/TrackingSettings.java
#	platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/Transform.java
#	platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/widgets/MyLocationView.java
#	platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/style/light/Light.java
#	platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/style/light/Position.java
#	platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/style/light/light.java.ejs
#	platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/utils/BitmapUtils.java
#	platform/android/MapboxGLAndroidSDKTestApp/src/androidTest/java/com/mapbox/mapboxsdk/testapp/style/LightTest.java
#	platform/android/MapboxGLAndroidSDKTestApp/src/androidTest/java/com/mapbox/mapboxsdk/testapp/style/light.junit.ejs
#	platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/camera/CameraPositionActivity.java
#	platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/userlocation/MockLocationEngine.java
#	platform/android/dependencies.gradle
#	platform/android/src/native_map_view.cpp
#	platform/darwin/scripts/generate-style-code.js
#	platform/darwin/src/MGLGeometry_Private.h
#	platform/darwin/src/MGLLight.h
#	platform/darwin/src/MGLLight.mm
#	platform/darwin/src/MGLSource.h
#	platform/darwin/src/MGLStyle.h
#	platform/darwin/src/MGLStyle.mm
#	platform/darwin/test/MGLLightTest.mm
#	platform/default/default_file_source.cpp
#	platform/ios/CHANGELOG.md
#	platform/ios/Mapbox-iOS-SDK-symbols.podspec
#	platform/ios/Mapbox-iOS-SDK.podspec
#	platform/ios/resources/Images.xcassets/default_marker.imageset/default_marker.pdf
#	platform/macos/CHANGELOG.md
#	scripts/generate-shaders.js
#	src/mbgl/layout/symbol_layout.cpp
#	src/mbgl/programs/program.hpp
#	src/mbgl/programs/symbol_program.hpp
#	src/mbgl/programs/uniforms.hpp
#	src/mbgl/renderer/frame_history.cpp
#	src/mbgl/renderer/paint_property_binder.hpp
#	src/mbgl/shaders/line.cpp
#	src/mbgl/shaders/line_pattern.cpp
#	src/mbgl/shaders/line_sdf.cpp
#	src/mbgl/sprite/sprite_atlas.hpp
#	src/mbgl/style/layers/line_layer_properties.hpp
#	src/mbgl/style/sources/geojson_source.cpp
#	src/mbgl/style/style.cpp
#	src/mbgl/text/glyph_atlas.hpp
#	src/mbgl/tile/geometry_tile.cpp
#	src/mbgl/tile/geometry_tile.hpp
#	test/style/style.test.cpp
2017-07-05 08:37:27 +02:00
Ivo van Dongen
a35b268606 [android] remove tile cache size customization 2017-06-27 17:02:40 -07:00
Thiago Marcos P. Santos
aefa8cb551 [android] Use ResourceTransform for setting URL transform callbacks 2017-06-26 16:32:21 +03:00
John Firebaugh
40e4755621 [core] Move setStyleJSON/URL to Style; add Map::setStyle 2017-06-22 08:04:39 -07:00