summaryrefslogtreecommitdiff
path: root/src/protocols/SinglePixel.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/protocols/SinglePixel.cpp')
-rw-r--r--src/protocols/SinglePixel.cpp18
1 files changed, 11 insertions, 7 deletions
diff --git a/src/protocols/SinglePixel.cpp b/src/protocols/SinglePixel.cpp
index 6ca48a35..9abde68a 100644
--- a/src/protocols/SinglePixel.cpp
+++ b/src/protocols/SinglePixel.cpp
@@ -12,16 +12,9 @@ CSinglePixelBuffer::CSinglePixelBuffer(uint32_t id, wl_client* client, CHyprColo
m_opaque = col_.a >= 1.F;
- m_texture = makeShared<CTexture>(DRM_FORMAT_ARGB8888, rc<uint8_t*>(&m_color), 4, Vector2D{1, 1});
-
m_resource = CWLBufferResource::create(makeShared<CWlBuffer>(client, 1, id));
- m_success = m_texture->m_texID;
-
size = {1, 1};
-
- if (!m_success)
- Debug::log(ERR, "Failed creating a single pixel texture: null texture id");
}
CSinglePixelBuffer::~CSinglePixelBuffer() {
@@ -57,6 +50,17 @@ void CSinglePixelBuffer::endDataPtr() {
;
}
+SP<CTexture> CSinglePixelBuffer::createTexture() {
+ auto tex = makeShared<CTexture>(DRM_FORMAT_ARGB8888, rc<uint8_t*>(&m_color), 4, Vector2D{1, 1});
+
+ if (!tex->m_texID) {
+ Debug::log(ERR, "Failed creating a single pixel texture: null texture id");
+ return nullptr;
+ }
+
+ return tex;
+}
+
bool CSinglePixelBuffer::good() {
return m_resource->good();
}