Commit Graph

882 Commits

Author SHA1 Message Date
Molly Lloyd
598f7c6ad5 [core] allow offline region metadata to be updated (#6338) 2016-09-20 17:43:00 +02:00
Konstantin Käfer
1e8f9c75ca [core] do not render layers that are outside their zoom range
So far, we didn't properly disable layers that are outside the zoom range. This means that we rendered layers that should not have been rendered, albeit we didn't make any attempt to load tiles for those layers. However, when zooming in/out, existing tiles might already have been loaded in the source which continued to be rendered. In most cases they weren't actually visible because either the matrices weren't updated, or the clip IDs weren't set so that they would be "rendered" off-screen and clipped completely. In any case, we did way too much work.
2016-09-20 14:10:38 +02:00
Thiago Marcos P. Santos
34e783ed9c [tests] Remove memory fragmentation test (#6226)
It is not reliable.
2016-09-20 14:47:08 +03:00
Ivo van Dongen
f3b38df91d [core] add MapChangeDidFinishLoadingStyle signal (#6371) 2016-09-20 09:55:53 +02:00
Lucas Wojciechowski
37cb2bd756 [core] Convert uses of std::set to std::unordered_set (#6325)
* src/mbgl/annotation/annotation_manager.hpp

* src/mbgl/algorithm/update_renderables.hpp

* src/mbgl/geometry/glyph_atlas.hpp

* src/mbgl/renderer/painter.cpp and src/mbgl/renderer/render_item.hpp

* src/mbgl/renderer/symbol_bucket.hpp and src/mbgl/text/glyph_store.hpp

* src/mbgl/sprite/sprite_atlas.hpp

* include/mbgl/storage/network_status.hpp

* src/mbgl/text/collision_tile.cpp

* src/mbgl/style/update_batch.hpp

* platform/default/mbgl/storage/offline_download.hpp

* Add GlyphRangeSet typedef

* Fix whitespace & unused imports
2016-09-19 17:26:25 -07:00
John Firebaugh
dc1861f6d5 [core] Merge GlyphStore and GlyphAtlas 2016-09-19 09:40:43 -07:00
John Firebaugh
940124ff71 [core] Merge SpriteStore and SpriteAtlas 2016-09-19 09:40:43 -07:00
Jake Pruitt
d169ea55c1 Keep query strings in source URLs (#6182)
Carries over any query strings from mapbox://-prefixed styles urls,
source urls and tile urls to the api.mapbox.com requests.
2016-09-16 14:11:16 -07:00
John Firebaugh
41bbd4e4f7 [core] Use an actor model for tile worker concurrency 2016-09-16 12:01:06 -07:00
clydebarrow
767aedc676 [core] Correct evaluation of interval functions 2016-09-16 10:58:42 -07:00
John Firebaugh
32fac7cbe4 [core] Use optional to represent possible absence, not empty strings 2016-09-16 09:00:55 -07:00
John Firebaugh
1f375581c3 [core] Move {clip,merge}_lines to layout directory 2016-09-16 09:00:54 -07:00
Tobrun
9ef65440b6 [core] [android] - public api configurable base endpoint (#6309)
add runloop to test
2016-09-15 22:01:09 -07:00
Konstantin Käfer
d1d523686c [core] upgrade RapidJSON to 1.1.0 2016-09-15 14:05:23 +02:00
Konstantin Käfer
d6c958ba5f [test] use recursive wrapper for recursive variant types 2016-09-15 13:42:10 +02:00
Brad Leege
d0f9ba4998 [core] #3980 - Switching Core GL instances of map to unordered_map 2016-09-14 16:40:20 -07:00
Jason Wray
9237ad3c58 [tests] Add v3 & v4 database migration tests 2016-09-14 15:48:53 -04:00
Jason Wray
4daff7f2f8 [core] Revert SQLite WAL journaling 2016-09-14 15:45:47 -04:00
Ivo van Dongen
290bd07a92 [core] OnlineFileSource - rate limit 2016-09-13 14:21:37 +02:00
Bruno de Oliveira Abinader
22fc8cdc1a [test] Added Map class accessors tests 2016-09-13 12:38:59 +03:00
Tobrun
4f23d0cda8 [core] - move wrap test (#6311) 2016-09-12 12:50:13 -07:00
John Firebaugh
030234c7a6 [core] Rework invokeWithCallback so that the callback is last 2016-09-08 16:36:47 -07:00
Konstantin Käfer
f3191dbbb4 [core] change bool *AlongLine to SymbolPlacementType 2016-09-07 17:56:38 +02:00
Konstantin Käfer
ff0c895eaa [core] change bool wrap/repeating to enum class SpritePatternMode 2016-09-07 17:56:38 +02:00
Konstantin Käfer
426242fe41 [core] change bool to enum class bool TileLoadState 2016-09-07 17:56:38 +02:00
John Firebaugh
d6f667a5e7 [core] Observe visibility changes 2016-09-06 14:29:22 -07:00
John Firebaugh
6d770cb40f [core] Initial state of Source::Impl::enabled must be true
Until Style::recalculate() is called to check that there are no visible layers using the source, we have to assume there are. Otherwise, Style::isLoaded() can return a false positive.
2016-09-06 14:29:22 -07:00
John Firebaugh
fe2a26225f [core, ios, android, qt] Observe style layer mutations rather than requiring SDKs to use Map::update
This paves the way for updates to filter and layout properties to trigger a source reload, without each SDK having to participate in the implementation.
2016-09-06 14:29:22 -07:00
John Firebaugh
3635b9f147 [core] Prepare style observer interfaces for source reloading
* Renamed {Source,Tile}Observer::onNeedsRepaint to onTileUpdated. Messages should be in terms of what happened to the observed object, not in terms of what the observer needs to do. This also removes a confusing overlap of virtual methods on StyleObserver.
* Added style::Observer::onUpdate(Update). This is also a violation of the above rule, but I'm hopeful that it will disappear when update batching is implemented.
2016-09-06 12:52:14 -07:00
Konstantin Käfer
4eb54270d7 [core] remove unused TimePoint during Source update 2016-09-05 19:04:34 +02:00
Konstantin Käfer
46b73b8a2c [core] Source::update => Source::{load,parse}Tiles, Source::load => Source::loadDescription 2016-09-05 19:03:27 +02:00
John Firebaugh
e126dc3a5a [core] Fix updates of line and fill annotations 2016-08-29 08:08:44 -07:00
John Firebaugh
a79d2afe1b [core] Rename data ⇢ tile; use Resource::Necessity 2016-08-26 10:30:55 -07:00
Thiago Marcos P. Santos
7a2bfe32f8 [tests] Make it possible to disable tests on the CI
Useful for tests that depend on a good network connection and
you want to run manually.
2016-08-26 16:08:44 +03:00
Thiago Marcos P. Santos
7fb7bc0fbc [tests] Removed dead code 2016-08-24 20:02:39 +03:00
Thiago Marcos P. Santos
1d7a5b0fe0 [tests] Add unit test for style loading failures 2016-08-24 20:02:39 +03:00
Thiago Marcos P. Santos
c98f4f476b [core] Emit MapChangeDidFailLoadingMap when the style cannot be loaded or parsed
Currently this signal is never emitted, which can cause the Still mode
to starve in case of an invalid style or failed request.
2016-08-24 20:02:31 +03:00
John Firebaugh
646528bc53 [core] Simplify Thread::invokeSync (#6128) 2016-08-24 09:36:11 -07:00
Jason Wray
74f094faab [core] Update SQLite schema with WAL journal mode and normal sync
Offers 2×-4× performance, depending on device vintage.
2016-08-23 13:26:02 -04:00
John Firebaugh
eb9fe89612 [tests] Test that style mutations due to annotations don't cancel style revalidation 2016-08-23 09:55:32 -07:00
John Firebaugh
86cccc4d24 [core] Don't allow style mutations to be overwritten by revalidation
* Once we get a fresh style, stop revalidating.
* If the style is mutated, stop revalidating and preserve the existing mutations.
2016-08-23 09:55:32 -07:00
John Firebaugh
5511e9a4e8 [tests] Fix a subtle ordering bug in StubFileSource 2016-08-23 09:55:32 -07:00
John Firebaugh
6bbb2e4c2b [tests] Merge single test in set_style.cpp with other Map tests 2016-08-23 09:55:32 -07:00
Ivo van Dongen
df3b44531e [core] #6071 - extract GeoJSONOptions conversion from GeoJSONSource conversion
* [core] geojson_options - retain original error message

* [core] tests - initial style conversion stub methods

* [core] geojsonoptions conversion - initial unit tests

* [core] tests - fix forward reference issue

* [core] geojsonoptions conversion - unit tests

* [core] geojsonoptions conversion - renamed Holder to Value
2016-08-23 14:57:55 +02:00
Konstantin Käfer
e6bcbdd5d3 [core] set correct depth values for CustomLayer so compositing works 2016-08-22 18:32:12 +02:00
Thiago Marcos P. Santos
cb3b2997ea [tests] Include what we use 2016-08-22 16:52:02 +03:00
Konstantin Käfer
cb33c861b4 [core] parse more Style JSON properties
We're now parsing "name", "center", "zoom", "bearing", and "pitch" from the stylesheet.
2016-08-19 17:34:10 +02:00
Jesse Bounds
dfd40b27a5 [tests] Add tests for shape overlays crossing the antimeridian
This adds two tests:

AntimeridianAnnotationSmall: Test that a shape that is represented with
+-180 longitudinal values is drawn spanning the antimeridian. In other
words, it is rendered as a "small" shape as opposed to one that spans
around the world to reach the other side of the antimeridian. This test
is currently failing at the time of this commit.

AntimeridianAnnotationLarge: Test that a shape that is represented with
points that do not cross the +-180 boundary is rendered as a "large"
shape. In other words, it is rendered by wrapping around the world to
reach the other side of the meridian. This test is currently passing at
the time of this commit.
2016-08-19 16:51:01 +03:00
Konstantin Käfer
18176605f6 [core] support "scheme": "tms" in TileJSON files 2016-08-16 11:04:30 +02:00
Jesse Bounds
d4271d993e [core] Compare unsigned int to unsigned int to pass tidy check (#5986) 2016-08-12 17:08:52 -07:00