#pragma once #include "../helpers/signal/Signal.hpp" #include "../helpers/memory/Memory.hpp" #include "Framebuffer.hpp" #include class CMonitor; class CRenderbuffer { public: CRenderbuffer(SP buffer, uint32_t format); ~CRenderbuffer(); bool good(); void bind(); void bindFB(); void unbind(); CFramebuffer* getFB(); uint32_t getFormat(); WP m_hlBuffer; private: void* m_image = nullptr; GLuint m_rbo = 0; CFramebuffer m_framebuffer; uint32_t m_drmFormat = 0; bool m_good = false; struct { CHyprSignalListener destroyBuffer; } m_listeners; };