diff options
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 { |
