summaryrefslogtreecommitdiff
path: root/src/mbgl/renderer/update_parameters.hpp
diff options
context:
space:
mode:
authorAsheem Mamoowala <asheem.mamoowala@mapbox.com>2018-11-12 14:58:13 -0800
committerAsheem Mamoowala <asheem.mamoowala@mapbox.com>2018-11-12 14:58:13 -0800
commitf2bc00267cd6430f85763beeb03b98109ff7b023 (patch)
treec589e1f6cc0759d5806af3b01a5c4d3773232deb /src/mbgl/renderer/update_parameters.hpp
parent9f3cc7b7075b29595dec394733b10fbd26f274e4 (diff)
downloadqtlocation-mapboxgl-upstream/feature-state-changesets.tar.gz
Prototype ChangeSets based approach to feature state.upstream/feature-state-changesets
- A change set keeps track of all feature state changes for a source between two render. - The change set is applied to the TilePyramid to update the full feature state map, and generate the map of update features for the single frame. The Front end renderer may throttle updates. This results in some changesets not making it to the renderer, and data in that set being dropped entirely. To workaround this the front end renderers would need to accumulate the changes, or some other way to collect all change sets between throttled frames.
Diffstat (limited to 'src/mbgl/renderer/update_parameters.hpp')
-rw-r--r--src/mbgl/renderer/update_parameters.hpp3
1 files changed, 3 insertions, 0 deletions
diff --git a/src/mbgl/renderer/update_parameters.hpp b/src/mbgl/renderer/update_parameters.hpp
index a668c64f48..78dafd48e4 100644
--- a/src/mbgl/renderer/update_parameters.hpp
+++ b/src/mbgl/renderer/update_parameters.hpp
@@ -8,8 +8,10 @@
#include <mbgl/style/layer.hpp>
#include <mbgl/util/chrono.hpp>
#include <mbgl/util/immutable.hpp>
+#include <mbgl/util/feature_state.hpp>
#include <vector>
+#include <map>
namespace mbgl {
@@ -31,6 +33,7 @@ public:
const Immutable<std::vector<Immutable<style::Image::Impl>>> images;
const Immutable<std::vector<Immutable<style::Source::Impl>>> sources;
const Immutable<std::vector<Immutable<style::Layer::Impl>>> layers;
+ const Immutable<std::unordered_map<std::string, Immutable<std::vector<FeatureStateChange>>>> stateChanges;
AnnotationManager& annotationManager;