summaryrefslogtreecommitdiff
path: root/src/mbgl/renderer/render_orchestrator.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/mbgl/renderer/render_orchestrator.cpp')
-rw-r--r--src/mbgl/renderer/render_orchestrator.cpp23
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) {