blob: e19af22feb319e1ca323de1b5455c675f9d99ec6 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
|
#pragma once
#include "../helpers/signal/Signal.hpp"
#include "../helpers/memory/Memory.hpp"
#include "Framebuffer.hpp"
#include <aquamarine/buffer/Buffer.hpp>
namespace Render {
class IRenderbuffer {
public:
IRenderbuffer(SP<Aquamarine::IBuffer> buffer, uint32_t format);
virtual ~IRenderbuffer() = default;
bool good();
SP<IFramebuffer> getFB();
virtual void bind() = 0;
virtual void unbind() = 0;
WP<Aquamarine::IBuffer> m_hlBuffer;
protected:
SP<IFramebuffer> m_framebuffer;
bool m_good = false;
struct {
CHyprSignalListener destroyBuffer;
} m_listeners;
};
}
|