diff options
Diffstat (limited to 'src/mbgl/renderer/sources/render_tile_source.cpp')
-rw-r--r-- | src/mbgl/renderer/sources/render_tile_source.cpp | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/src/mbgl/renderer/sources/render_tile_source.cpp b/src/mbgl/renderer/sources/render_tile_source.cpp index c5afb38435..6859c454f3 100644 --- a/src/mbgl/renderer/sources/render_tile_source.cpp +++ b/src/mbgl/renderer/sources/render_tile_source.cpp @@ -68,6 +68,7 @@ void RenderTileSource::prepare(const SourcePrepareParameters& parameters) { tiles->emplace_back(entry.first, entry.second); tiles->back().prepare(parameters); } + featureState.coalesceChanges(*tiles); renderTiles = std::move(tiles); } @@ -133,6 +134,18 @@ std::vector<Feature> RenderTileSource::querySourceFeatures(const SourceQueryOpti return tilePyramid.querySourceFeatures(options); } +void RenderTileSource::setFeatureState(const optional<std::string>& sourceLayerID, + const std::string& featureID, + const FeatureState& state) { + featureState.updateState(sourceLayerID, featureID, state); +} + +void RenderTileSource::getFeatureState(FeatureState& state, + const optional<std::string>& sourceLayerID, + const std::string& featureID) const { + featureState.getState(state, sourceLayerID, featureID); +} + void RenderTileSource::reduceMemoryUse() { tilePyramid.reduceMemoryUse(); } |