diff options
Diffstat (limited to 'src/mbgl/renderer/render_orchestrator.cpp')
-rw-r--r-- | src/mbgl/renderer/render_orchestrator.cpp | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/src/mbgl/renderer/render_orchestrator.cpp b/src/mbgl/renderer/render_orchestrator.cpp index a62ccb0a0a..a1280331b1 100644 --- a/src/mbgl/renderer/render_orchestrator.cpp +++ b/src/mbgl/renderer/render_orchestrator.cpp @@ -562,6 +562,29 @@ FeatureExtensionValue RenderOrchestrator::queryFeatureExtensions(const std::stri return {}; } +void RenderOrchestrator::setFeatureState(const std::string& sourceID, const optional<std::string>& sourceLayerID, + const std::string& featureID, const FeatureState& state) { + if (RenderSource* renderSource = getRenderSource(sourceID)) { + renderSource->setFeatureState(sourceLayerID, featureID, state); + } +} + +void RenderOrchestrator::getFeatureState(FeatureState& state, const std::string& sourceID, + const optional<std::string>& sourceLayerID, + const std::string& featureID) const { + if (RenderSource* renderSource = getRenderSource(sourceID)) { + renderSource->getFeatureState(state, sourceLayerID, featureID); + } +} + +void RenderOrchestrator::removeFeatureState(const std::string& sourceID, const optional<std::string>& sourceLayerID, + const optional<std::string>& featureID, + const optional<std::string>& stateKey) { + if (RenderSource* renderSource = getRenderSource(sourceID)) { + renderSource->removeFeatureState(sourceLayerID, featureID, stateKey); + } +} + void RenderOrchestrator::reduceMemoryUse() { filteredLayersForSource.shrink_to_fit(); for (const auto& entry : renderSources) { |