summaryrefslogtreecommitdiff
path: root/src/render
diff options
context:
space:
mode:
Diffstat (limited to 'src/render')
-rw-r--r--src/render/pass/Pass.cpp4
-rw-r--r--src/render/pass/Pass.hpp1
2 files changed, 5 insertions, 0 deletions
diff --git a/src/render/pass/Pass.cpp b/src/render/pass/Pass.cpp
index 8fdc3049..3e1282f0 100644
--- a/src/render/pass/Pass.cpp
+++ b/src/render/pass/Pass.cpp
@@ -247,3 +247,7 @@ float CRenderPass::oneBlurRadius() {
static auto PBLURPASSES = CConfigValue<Hyprlang::INT>("decoration:blur:passes");
return *PBLURPASSES > 10 ? pow(2, 15) : std::clamp(*PBLURSIZE, (int64_t)1, (int64_t)40) * pow(2, *PBLURPASSES); // is this 2^pass? I don't know but it works... I think.
}
+
+void CRenderPass::removeAllOfType(const std::string& type) {
+ std::erase_if(m_vPassElements, [&type](const auto& e) { return e->element->passName() == type; });
+}
diff --git a/src/render/pass/Pass.hpp b/src/render/pass/Pass.hpp
index 5d7d3bb3..5fa25fc3 100644
--- a/src/render/pass/Pass.hpp
+++ b/src/render/pass/Pass.hpp
@@ -14,6 +14,7 @@ class CRenderPass {
void add(SP<IPassElement> elem);
void clear();
+ void removeAllOfType(const std::string& type);
CRegion render(const CRegion& damage_);