Konstantin Käfer
d1d523686c
[core] upgrade RapidJSON to 1.1.0
2016-09-15 14:05:23 +02:00
Konstantin Käfer
ca8f32a914
[core] add explicit std::hash<mbgl::style::ClassID> implementation to appease GCC
2016-09-15 13:41:59 +02:00
Brad Leege
e49c96f05c
[core] #3980 - Putting friend class SymbolLayout back
2016-09-14 16:57:54 -07:00
Brad Leege
d0f9ba4998
[core] #3980 - Switching Core GL instances of map to unordered_map
2016-09-14 16:40:20 -07:00
John Firebaugh
a9f5224664
[core] Avoid gratuitous SymbolBucket creation
2016-09-14 13:41:56 -07:00
John Firebaugh
c8217a8739
[core] Extract SymbolLayout from SymbolBucket
...
SymbolLayout lives on the worker thread and contains the persistent data needed for repeated placement. SymbolBucket contains the data generated during placement, and is transferred to the main thread for rendering.
This eliminates the risky sharing of GeometryTile::buckets between the main thread and worker thread during TileWorker::redoPlacement.
While here, rationalize the names of states a SymbolLayout may be in:
* Pending: Waiting for the necessary glyphs or icons to be available.
* Prepared: The potential positions of text and icons have been determined.
* Placed: The final positions have been determined, taking into account prior layers.
In TileWorker, all SymbolLayouts are stored in a single vector. Each SymbolLayout knows what state it is in, and TileWorker can easily determine how much progress it can make toward a final result.
2016-09-14 13:41:56 -07:00
John Firebaugh
ffa8c48926
[core] Another band-aid ( #6322 ) ( #6333 )
2016-09-14 12:04:37 -07:00
John Firebaugh
8f3736fbfd
[core] Band-aid to prevent GeometryTile::redoLayout race condition from causing a crash ( #6322 )
2016-09-13 15:40:55 -07:00
Ivo van Dongen
290bd07a92
[core] OnlineFileSource - rate limit
2016-09-13 14:21:37 +02:00
Bruno de Oliveira Abinader
beb67fb7b2
[core] Separate transition options accessors from class API
...
Now the style class transition options have its own getter/setter, which
persists for each style until a new style is set.
2016-09-13 12:38:59 +03:00
Bruno de Oliveira Abinader
0cc062a5fd
[core] Check if style exists prior to accessing via Map functions
2016-09-13 12:38:59 +03:00
John Firebaugh
29f4204d1c
[core] Don't use std::move on forwarding references
2016-09-08 16:36:47 -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
1845919c25
[core] change bool onRight to Side
2016-09-07 17:56:38 +02:00
Konstantin Käfer
3d960c8136
[core] change bool round to LinePatternCap
2016-09-07 17:56:38 +02:00
Konstantin Käfer
85e222c825
[core] change bool overdraw to PaintMode::Overdraw
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
8e2170c885
[core] Batch source updates
2016-09-06 14:29:22 -07:00
John Firebaugh
6c23a6a095
[core] Avoid triggering re-layout of fill annotation source
2016-09-06 14:29:22 -07:00
John Firebaugh
b4864ca9d5
[core] Trigger Source::Impl::reload when a filter or layout property is modified
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
3a48c60813
[core] Add missing classed paint property getter
2016-09-06 12:52:14 -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
John Firebaugh
5b4f6335e3
[core] Add Source::Impl::reload
2016-09-06 12:52:14 -07:00
John Firebaugh
21dc12ee93
[core] Ensure that TileWorker can retain tileData after layout
2016-09-06 12:52:13 -07:00
John Firebaugh
5b8d90bf00
[core] Delete the now-unused ptr.hpp
2016-09-06 12:52:13 -07:00
John Firebaugh
0afd14ae29
[core] Eliminate use of util::ptr in GeometryTile* interfaces
2016-09-06 12:52:13 -07:00
John Firebaugh
1c51b43daf
[core] Create GeoJSONTile{Layer,Feature} objects lazily
...
Avoids conversion to GeometryCollection and clipping for features that are not used.
2016-09-06 12:52:13 -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
f07f592078
[core] Simplify GeoJSONTile constructor
2016-08-26 10:30:55 -07:00
John Firebaugh
d2abb1b6d5
[core] Change GeoJSONSource::getURL() to return an optional<std::string>
...
GeoJSON sources may have inline GeoJSON rather than a URL; returning an optional type ensures that consumers handle this case.
2016-08-26 10:30:55 -07:00
John Firebaugh
2d6f04dfb9
[core] Clean up and simplify geojson_tile.cpp
2016-08-26 10:30:55 -07:00
John Firebaugh
7c801696eb
[core] const consistency
2016-08-26 10:30:55 -07:00
John Firebaugh
a79d2afe1b
[core] Rename data ⇢ tile; use Resource::Necessity
2016-08-26 10:30:55 -07:00
John Firebaugh
8ac03f3870
[core] Inline Source::Impl::getTile
2016-08-26 10:30:55 -07:00
Dane Springmeyer
bb34b5302c
upgrade to protozer 1.4.0 ( #6158 )
2016-08-25 11:05:03 -07: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
John Firebaugh
63cce78cf1
[core] Add static getters for property default values ( #6124 )
2016-08-23 12:49:47 -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
Konstantin Käfer
e6bcbdd5d3
[core] set correct depth values for CustomLayer so compositing works
2016-08-22 18:32:12 +02:00
Konstantin Käfer
0df60c4651
[core] add ability show visualize the depth buffer to the GLFW and macOS app
2016-08-19 17:41:55 +02: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
Konstantin Käfer
18176605f6
[core] support "scheme": "tms" in TileJSON files
2016-08-16 11:04:30 +02:00