From 32e75e3e320fb66ab517a378df645f3d29b3a209 Mon Sep 17 00:00:00 2001 From: UjinT34 <41110182+UjinT34@users.noreply.github.com> Date: Sat, 7 Mar 2026 13:27:47 +0300 Subject: renderer: refactor render elements (#13438) Part 2 of renderer refactors --- src/render/pass/PassElement.hpp | 23 ++++++++++++++++++----- 1 file changed, 18 insertions(+), 5 deletions(-) (limited to 'src/render/pass/PassElement.hpp') 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 + +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 boundingBox(); // in monitor-local logical coordinates -- cgit v1.2.3