The WorkQueue allow other threads to submit tasks to be executed in
the thread that the WorkQueue lives on.
The WorkQueue will cancel all the pending tasks when it gets
destructed, to make sure the tasks won't get called with
invalid references.
Relevant changes:
- Added 'defaultFadeDuration' and 'defaultTransitionDelay' to MapData;
- Painter & StyleParser now receives a reference to MapData;
- As previously seen on the code: 300ms is the default fade duration
and 0ms is the default transition duration;
- We no longer pass the current time point to Style, since it now uses
MapData.animationTime, which gets updated in MapContext::update().
- Updated StyleParser check to use a mock MapData;
- Let style classes cascade use the same time point as the one used to
recalculate style.
- Cleaned up MapContext::update to return early whenever possible.
- Cleaned up MapContext::loadStyleJSON to avoid redundant calls to style
classes cascade.
Or: don’t resume the map until the application has entered the foreground.
UIApplicationWillEnterForegroundNotification is posted before UIApplicationDidBecomeActiveNotification, while the application is still in the background. That caused -createGLView to bail but did not cause the rest of -wakeGL: to bail. We would create the GLKView only after attempting to bind it (a no-op), resulting in a black view.
Fixes#1855.
The Style object might have been created but the Source is not
yet available because the JSON file was not set. Can happen
specially when the style is loaded from the network.
Parsing errors will be reported to Observers. In practice this will
bubble all the way to the Map object.
This will make possible to identify possible corrupted data instead
of rendering without sprites like we do in case of semantic errors.
Added a filter to remove anchors with the same text that are too close to each other.
Updates to spacing and offset of anchor placement along lines:
Takes into account icon size for calculating label length.
Recalculates spacing for long labels.
Adjusts offsets to first anchors if line is continued from outside the tile boundary.