diff options
| author | Vaxry <43317083+vaxerski@users.noreply.github.com> | 2026-03-27 10:08:56 -0400 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2026-03-27 14:08:56 +0000 |
| commit | 2c4852e31f1cc974164fdd1bf383a67c26cafe44 (patch) | |
| tree | c248ef256b6ff1d8de9fe031ff2bf33b67e85dde /src/render/pass | |
| parent | 2fde538e0fa5663ac99f631fcfee6742e09368f6 (diff) | |
renderer/deco: add glow decoration (#13862)
Diffstat (limited to 'src/render/pass')
| -rw-r--r-- | src/render/pass/InnerGlowPassElement.cpp | 13 | ||||
| -rw-r--r-- | src/render/pass/InnerGlowPassElement.hpp | 28 | ||||
| -rw-r--r-- | src/render/pass/PassElement.hpp | 3 |
3 files changed, 43 insertions, 1 deletions
diff --git a/src/render/pass/InnerGlowPassElement.cpp b/src/render/pass/InnerGlowPassElement.cpp new file mode 100644 index 00000000..04ccebd7 --- /dev/null +++ b/src/render/pass/InnerGlowPassElement.cpp @@ -0,0 +1,13 @@ +#include "InnerGlowPassElement.hpp" + +CInnerGlowPassElement::CInnerGlowPassElement(const CInnerGlowPassElement::SInnerGlowData& data_) : m_data(data_) { + ; +} + +bool CInnerGlowPassElement::needsLiveBlur() { + return false; +} + +bool CInnerGlowPassElement::needsPrecomputeBlur() { + return false; +} diff --git a/src/render/pass/InnerGlowPassElement.hpp b/src/render/pass/InnerGlowPassElement.hpp new file mode 100644 index 00000000..62db7791 --- /dev/null +++ b/src/render/pass/InnerGlowPassElement.hpp @@ -0,0 +1,28 @@ +#pragma once +#include "PassElement.hpp" + +class CHyprInnerGlowDecoration; + +class CInnerGlowPassElement : public IPassElement { + public: + struct SInnerGlowData { + CHyprInnerGlowDecoration* deco = nullptr; + float a = 1.F; + }; + + CInnerGlowPassElement(const SInnerGlowData& data_); + virtual ~CInnerGlowPassElement() = default; + + virtual bool needsLiveBlur(); + virtual bool needsPrecomputeBlur(); + + virtual const char* passName() { + return "CInnerGlowPassElement"; + } + + virtual ePassElementType type() { + return EK_INNER_GLOW; + }; + + SInnerGlowData m_data; +}; diff --git a/src/render/pass/PassElement.hpp b/src/render/pass/PassElement.hpp index 0dc5f581..c262b36c 100644 --- a/src/render/pass/PassElement.hpp +++ b/src/render/pass/PassElement.hpp @@ -13,7 +13,8 @@ enum ePassElementType : uint8_t { EK_SHADOW, EK_SURFACE, EK_TEXTURE, - EK_TEXTURE_MATTE + EK_TEXTURE_MATTE, + EK_INNER_GLOW }; class IPassElement { |
