#pragma once #include "../helpers/signal/Signal.hpp" #include "../helpers/memory/Memory.hpp" #include "Framebuffer.hpp" #include namespace Render { class IRenderbuffer { public: IRenderbuffer(SP buffer, uint32_t format); virtual ~IRenderbuffer() = default; bool good(); SP getFB(); virtual void bind() = 0; virtual void unbind() = 0; WP m_hlBuffer; protected: SP m_framebuffer; bool m_good = false; struct { CHyprSignalListener destroyBuffer; } m_listeners; }; }