summaryrefslogtreecommitdiff
path: root/src/render/pass
diff options
context:
space:
mode:
authorVaxry <43317083+vaxerski@users.noreply.github.com>2026-03-27 10:08:56 -0400
committerGitHub <noreply@github.com>2026-03-27 14:08:56 +0000
commit2c4852e31f1cc974164fdd1bf383a67c26cafe44 (patch)
treec248ef256b6ff1d8de9fe031ff2bf33b67e85dde /src/render/pass
parent2fde538e0fa5663ac99f631fcfee6742e09368f6 (diff)
renderer/deco: add glow decoration (#13862)
Diffstat (limited to 'src/render/pass')
-rw-r--r--src/render/pass/InnerGlowPassElement.cpp13
-rw-r--r--src/render/pass/InnerGlowPassElement.hpp28
-rw-r--r--src/render/pass/PassElement.hpp3
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 {