blob: ff06bd5ae864595eaf969c9bce8247f8cae5fddd (
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
31
32
33
34
|
#pragma once
#include "../helpers/signal/Signal.hpp"
#include "../helpers/memory/Memory.hpp"
#include "Framebuffer.hpp"
#include <aquamarine/buffer/Buffer.hpp>
class CMonitor;
class CRenderbuffer {
public:
CRenderbuffer(SP<Aquamarine::IBuffer> buffer, uint32_t format);
~CRenderbuffer();
bool good();
void bind();
void bindFB();
void unbind();
CFramebuffer* getFB();
uint32_t getFormat();
WP<Aquamarine::IBuffer> m_pHLBuffer;
private:
void* m_iImage = nullptr;
GLuint m_iRBO = 0;
CFramebuffer m_sFramebuffer;
uint32_t m_uDrmFormat = 0;
bool m_bGood = false;
struct {
CHyprSignalListener destroyBuffer;
} listeners;
};
|