diff options
| author | UjinT34 <41110182+UjinT34@users.noreply.github.com> | 2026-03-07 13:27:47 +0300 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2026-03-07 10:27:47 +0000 |
| commit | 32e75e3e320fb66ab517a378df645f3d29b3a209 (patch) | |
| tree | 4212f4cf197fc961161de7a9e57b85735257184a /src/render/pass/PassElement.hpp | |
| parent | 36b19075f3a644a4095352d778e6d03e103bb334 (diff) | |
renderer: refactor render elements (#13438)
Part 2 of renderer refactors
Diffstat (limited to 'src/render/pass/PassElement.hpp')
| -rw-r--r-- | src/render/pass/PassElement.hpp | 23 |
1 files changed, 18 insertions, 5 deletions
diff --git a/src/render/pass/PassElement.hpp b/src/render/pass/PassElement.hpp index a006ce9e..0dc5f581 100644 --- a/src/render/pass/PassElement.hpp +++ b/src/render/pass/PassElement.hpp @@ -1,16 +1,29 @@ #pragma once #include "../../defines.hpp" -#include <optional> + +enum ePassElementType : uint8_t { + EK_UNKNOWN = 0, + EK_BORDER, + EK_CLEAR, + EK_FRAMEBUFFER, + EK_PRE_BLUR, + EK_RECT, + EK_HINTS, + EK_SHADOW, + EK_SURFACE, + EK_TEXTURE, + EK_TEXTURE_MATTE +}; class IPassElement { public: virtual ~IPassElement() = default; - virtual void draw(const CRegion& damage) = 0; - virtual bool needsLiveBlur() = 0; - virtual bool needsPrecomputeBlur() = 0; - virtual const char* passName() = 0; + virtual bool needsLiveBlur() = 0; + virtual bool needsPrecomputeBlur() = 0; + virtual const char* passName() = 0; + virtual ePassElementType type() = 0; virtual void discard(); virtual bool undiscardable(); virtual std::optional<CBox> boundingBox(); // in monitor-local logical coordinates |
