diff options
| author | vaxerski <vaxry@vaxry.net> | 2025-01-01 14:11:21 +0100 |
|---|---|---|
| committer | vaxerski <vaxry@vaxry.net> | 2025-01-01 14:11:21 +0100 |
| commit | 4e93b2def5f00f944abbd63a8258ee18bd99ff54 (patch) | |
| tree | 827fc23fc614a597c6cc5818eb05dd6a32858c04 /src/render/pass | |
| parent | aff34089c4d66b951d25a0dc1867f7fb93d61a7d (diff) | |
renderer: use a render pass for render modif in client render
fixes #8918
Diffstat (limited to 'src/render/pass')
| -rw-r--r-- | src/render/pass/RendererHintsPassElement.cpp | 19 | ||||
| -rw-r--r-- | src/render/pass/RendererHintsPassElement.hpp | 25 |
2 files changed, 44 insertions, 0 deletions
diff --git a/src/render/pass/RendererHintsPassElement.cpp b/src/render/pass/RendererHintsPassElement.cpp new file mode 100644 index 00000000..8ea79a27 --- /dev/null +++ b/src/render/pass/RendererHintsPassElement.cpp @@ -0,0 +1,19 @@ +#include "RendererHintsPassElement.hpp" +#include "../OpenGL.hpp" + +CRendererHintsPassElement::CRendererHintsPassElement(const CRendererHintsPassElement::SData& data_) : data(data_) { + ; +} + +void CRendererHintsPassElement::draw(const CRegion& damage) { + if (data.renderModif.has_value()) + g_pHyprOpenGL->m_RenderData.renderModif = *data.renderModif; +} + +bool CRendererHintsPassElement::needsLiveBlur() { + return false; +} + +bool CRendererHintsPassElement::needsPrecomputeBlur() { + return false; +} diff --git a/src/render/pass/RendererHintsPassElement.hpp b/src/render/pass/RendererHintsPassElement.hpp new file mode 100644 index 00000000..99ed0759 --- /dev/null +++ b/src/render/pass/RendererHintsPassElement.hpp @@ -0,0 +1,25 @@ +#pragma once +#include "PassElement.hpp" +#include <optional> +#include "../OpenGL.hpp" + +class CRendererHintsPassElement : public IPassElement { + public: + struct SData { + std::optional<SRenderModifData> renderModif; + }; + + CRendererHintsPassElement(const SData& data); + virtual ~CRendererHintsPassElement() = default; + + virtual void draw(const CRegion& damage); + virtual bool needsLiveBlur(); + virtual bool needsPrecomputeBlur(); + + virtual const char* passName() { + return "CRendererHintsPassElement"; + } + + private: + SData data; +};
\ No newline at end of file |
