#pragma once #include "../../defines.hpp" #include 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 void discard(); virtual std::optional boundingBox(); virtual CRegion opaqueRegion(); virtual bool disableSimplification(); };