hachem.wtf
aboutsummaryrefslogtreecommitdiff
path: root/src/ui/image_renderer.h
diff options
context:
space:
mode:
authorhachem <im@hachem.wtf>2025-05-29 17:59:14 +0200
committerhachem <im@hachem.wtf>2025-05-29 17:59:14 +0200
commitf6d0a0ce56a0dba76775499cfbbfb8c6c2000683 (patch)
tree01636765605707a12f3693ffcd4fedef78b71ed8 /src/ui/image_renderer.h
parent1dd509a602079ce9d9fa46870424ec1c1f1a6395 (diff)
feat: little pepe
Diffstat (limited to 'src/ui/image_renderer.h')
-rw-r--r--src/ui/image_renderer.h31
1 files changed, 31 insertions, 0 deletions
diff --git a/src/ui/image_renderer.h b/src/ui/image_renderer.h
new file mode 100644
index 0000000..ec63ae0
--- /dev/null
+++ b/src/ui/image_renderer.h
@@ -0,0 +1,31 @@
+#pragma once
+
+namespace Hsdbg
+{
+ class ImageRenderer
+ {
+ public:
+ ImageRenderer() = default;
+ ~ImageRenderer();
+
+ ImageRenderer(const ImageRenderer&) = delete;
+ ImageRenderer(ImageRenderer&&) = delete;
+ auto operator=(const ImageRenderer&) -> ImageRenderer& = delete;
+ auto operator=(ImageRenderer&&) -> ImageRenderer& = delete;
+
+ auto init() -> bool;
+ auto shutdown() -> void;
+
+ auto ready() const -> bool { return m_program != 0; }
+
+ auto draw(unsigned int texture,
+ float x0, float y0, float x1, float y1,
+ int framebuffer_width, int framebuffer_height) -> void;
+
+ private:
+ unsigned int m_program = 0;
+ unsigned int m_vao = 0;
+ unsigned int m_vbo = 0;
+ int m_texture_uniform = -1;
+ };
+}