Commit Graph

11728 Commits

Author SHA1 Message Date
Chris Loer
5da5ba7706 [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-11-27 14:42:44 -08:00
Thiago Marcos P. Santos
d8bcc943c5 [core] Android + old libstdc++ build fix 2017-11-27 15:54:17 -02:00
Bruno de Oliveira Abinader
02166a1802 [core] Fix Qt4 on macOS 2017-11-27 15:54:01 -02:00
Thiago Marcos P. Santos
cf3357ea45 [qt] Use qWarning() for logging
This is the Qt default and it is thread-safe.
2017-11-24 01:30:39 -02:00
Thiago Marcos P. Santos
43d96cd1b9 [core] Fix crash on Qt + Windows + ANGLE
Support for VAO extensions is broken.
2017-11-24 01:30:39 -02:00
Konstantin Käfer
01565e5a8b [build] refresh Circle CI docker images 2017-11-23 16:39:03 +01:00
Bruno de Oliveira Abinader
43aefbffd0 [Qt] Update documentation 2017-11-23 15:36:26 +02:00
Bruno de Oliveira Abinader
aa5a2b2c87 [build] Added CircleCI macos-release-node{4,6} jobs 2017-11-23 14:13:02 +02:00
Tobrun
405d141b9e [android] - update bottom sheet example with popable fragment backstack (#10506) 2017-11-23 08:17:09 +01:00
Asheem Mamoowala
e2702c76ea [android] Use inherited javaPeer in CustomGeometrySource C++ peer 2017-11-22 13:56:38 -08:00
Asheem Mamoowala
f06ebcc967 [android] Reuse Java Source objects by holding on to a strong reference in the C++ peer. 2017-11-22 13:56:38 -08:00
Asheem Mamoowala
3067b77c65 [core, ios, macos] Implement unique_any and remove linb::any 2017-11-22 13:56:38 -08:00
Asheem Mamoowala
ba63d06cfc [core] Use Actors for CustomTileLoader invocation from bindings. 2017-11-22 13:56:38 -08:00
Asheem Mamoowala
934fa4933c [android] Add Grid source sample for Custom Geometry Source 2017-11-22 13:56:38 -08:00
Asheem Mamoowala
eb6de2c434 [android] Bindings for Custom Geometry Sources 2017-11-22 13:56:38 -08:00
Jesse Crocker
7c6ede6bb3 [ios,macos] Add MGLComputedShapeSource example to demo apps 2017-11-22 13:56:38 -08:00
Asheem Mamoowala
246417ef24 [ios, macos] Implement MGLComputedShapeSource binding for CustomGeometrySource 2017-11-22 13:56:38 -08:00
Jesse Crocker
b2925e71ac [darwin] Abstract ShapeSource interface 2017-11-22 13:56:38 -08:00
Asheem Mamoowala
acae193861 [core] Custom Geometry Sources 2017-11-22 13:56:38 -08:00
Tobrun
e3f1d8e3a0 [android] - harden MarkerView integration by checking for null bitmap (#10532) 2017-11-22 18:46:31 +01:00
Tobrun
59a8fd2ff8 [android] - activate filesource to list offline regions (#10531) 2017-11-22 17:08:23 +01:00
Tobrun
d46641cad6 [android] - use TextureView for ViewPager carousel (#10519) 2017-11-21 20:33:13 +01:00
Fredrik Karlsson
dda87bbecd [ios] update constraints when updating content inset 2017-11-20 21:07:14 +01:00
Bruno de Oliveira Abinader
aaffe3c0e3 [build] Added CircleCI macos-debug-qt5 job 2017-11-20 19:45:18 +02:00
Ivo van Dongen
7dabec61b6 [android] Enable map rendering when app is paused 2017-11-20 17:30:24 +02:00
Chris Loer
25cfb5863c [core] Symbol cross-fading.
Hold onto tiles after they've been removed from the render tree long enough to run a fade animation on their symbols.
2017-11-17 10:05:15 -08:00
Ansis Brammanis
d69c1c4806 [core] Add unit test for CrossTileSymbolIndex 2017-11-17 10:05:15 -08:00
Chris Loer
c39232a89f [core] Cleanup in response to review comments. 2017-11-17 10:05:15 -08:00
Chris Loer
8cfeae9e45 [core] Remove ignores for passing tests.
Update ignore links to specific issues.
Bump mapbox-gl-js version to get latest text-pitch-spacing test.
2017-11-17 10:05:15 -08:00
Ansis Brammanis
6b50885c79 [core] Sort child symbol tiles before parent symbol tiles
This is necessary so that when there are mixed zoom levels, child symbols get placed before parent symbols.
2017-11-17 10:05:15 -08:00
Chris Loer
4f0e5374c3 [core] Skip fade animation for placed symbols that are currently offscreen.
Don't mark items that are outside the collision grid range as placed.
Requires new ignore because GL JS issue #5654 allows insertion of symbols outside the CollisionIndex range, and those symbols can cascade in to affect items within the viewport.
2017-11-17 10:05:15 -08: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
Chris Loer
5bdee52e5c [core] Cleanup in response to review comments 2017-11-17 10:05:15 -08:00
Chris Loer
3e074390b5 [core] Added ignores for two query tests that return the same set of items but in a different order. 2017-11-17 10:05:15 -08:00
Chris Loer
9fb30dfd52 [core] Removed ignores for fixed issues. 2017-11-17 10:05:15 -08:00
Chris Loer
54b990eb33 [core] Update unit tests for viewport collision.
Add 'GridIndex' unit test.
2017-11-17 10:05:15 -08:00
Chris Loer
ff58848cfd [core] Remove dead code
- CollisionTile
 - FrameHistory
 - PlacementConfig
2017-11-17 10:05:15 -08:00
Chris Loer
4137f559f0 [core] Use floats instead of ints for Shaping.
Brings gl-native shaping closer to gl-js.
2017-11-17 10:05:15 -08:00
Chris Loer
30de793c2a [core] Update shaders/tests from GL JS. 2017-11-17 10:05:15 -08:00
Chris Loer
77bfb47fda [core] Update queryRenderedFeatures to use global CollisionIndex. 2017-11-17 10:05:15 -08:00
Chris Loer
c0cb210ddc [core] Switch from background to foreground placement
- Background placement code now just generates static symbol buffers
 - Don't render GeometryTiles until their symbols are loaded. This is necessary for the CrossTileSymbolIndex to successfully prevent flicker.
 - SymbolInstances are transferred to SymbolBucket for use on foreground during collision detection
 - Symbols are sorted on foreground by sorting their index buffer but leaving vertex buffers intact (only works within one segment)
 - Vertical glyphs are generated at same time as horizontal glyphs. `reprojectLineLabels` chooses which one to use at render time and hides the other.
 - Icons are now always represented with a single collision box, even if they're placed along a line (this means their rotation alignment may be wrong, but the approach of representing them with multiple collision boxes wasn't very accurate either).
 - Generate vertices for new debug collision boxes and collision circles
 - Only add symbols within tile boundaries (reduces work, avoids double-draw)
 - Update symbol_projection.cpp to support line label projection calls from CollisionIndex.
2017-11-17 10:05:15 -08:00
Chris Loer
9a5b2fdfc3 [core] Enable dynamic updates of index buffers. 2017-11-17 10:05:15 -08:00
Chris Loer
4c6f0e8138 [core] Add global CollisionIndex to replace CollisionTile.
- Switches from tile to viewport coordinates
 - Represents line labels with circle geometries
 - Projects line labels at collision detection time to improve accuracy
 - Adapts tile-based symbol queries to viewport coordinates
2017-11-17 10:05:15 -08:00
Chris Loer
18d735ccc2 [core] Add Placement class.
Responsible for running global collision detection/symbol placement algorithm and updating symbol opacity buffers accordingly.
2017-11-17 10:05:15 -08:00
Chris Loer
601a1c8dcf [core] Add circle geometries to GridIndex.
- Adds early exiting "hitTest" query for fast collision detection
 - GridIndex now determines cell count separately for x and y axes based on grid dimensions.
2017-11-17 10:05:15 -08:00
Chris Loer
31f0f47195 [core] Add CrossTileSymbolIndex.
This class is responsible for tracking which symbols are "the same" between tiles at different zoom levels, so that symbol opacities (fade animations) can be copied smoothly between tiles.
2017-11-17 10:05:15 -08:00
Eduard Popov
dcd7da14f6 [docs] Fix link in node readme (#10395) 2017-11-15 13:10:30 -05:00
Bruno de Oliveira Abinader
3bef7593a6 [build] Clang-3.8: Explicit mbgl::style::expression::Result default ctor 2017-11-14 19:01:04 +02:00
Bruno de Oliveira Abinader
2c51901400 [build] Clang-3.8: Default init of a const type requires user-provided ctor 2017-11-14 19:01:04 +02:00
Bruno de Oliveira Abinader
10a9b25928 [Qt] Fix deprecation warnings in Qt 5.10 2017-11-13 11:47:31 -02:00