hachem.wtf
aboutsummaryrefslogtreecommitdiff
path: root/src/ui/widgets.h
diff options
context:
space:
mode:
authorhachem <im@hachem.wtf>2026-03-27 17:26:01 +0100
committerhachem <im@hachem.wtf>2026-03-27 17:26:01 +0100
commit22f3bf683913451b38a3bdc3a7992022a0e805bf (patch)
treef325d425aa8af2424e6dea31fa2a9b89f327c077 /src/ui/widgets.h
parent3f343ff97e5873f66ba1f295641cae1c7b8fe11a (diff)
feat: widget kit
Diffstat (limited to 'src/ui/widgets.h')
-rw-r--r--src/ui/widgets.h30
1 files changed, 30 insertions, 0 deletions
diff --git a/src/ui/widgets.h b/src/ui/widgets.h
new file mode 100644
index 0000000..dac58e3
--- /dev/null
+++ b/src/ui/widgets.h
@@ -0,0 +1,30 @@
+#pragma once
+
+#include <imgui.h>
+
+namespace Hsdbg::Widgets
+{
+ auto set_fonts(ImFont* ui, ImFont* strong, ImFont* mono) -> void;
+
+ auto section_header(const char* label) -> void;
+
+ auto slider_float(const char* label, float* value, float min, float max,
+ const char* fmt) -> bool;
+
+ auto icon_button(const char* id, const char* icon, bool active = false,
+ const char* tooltip = nullptr, bool disabled = false,
+ float size = 34.0f) -> bool;
+
+ auto toggle(const char* id, bool* value) -> bool;
+
+ auto segmented(const char* id, const char* const* labels, int count, int current) -> int;
+
+ auto selectable_row(const char* label, bool selected,
+ ImGuiSelectableFlags flags = 0) -> bool;
+
+ auto chip(const char* text, ImU32 dot_color) -> void;
+
+ auto empty_state(const char* icon, const char* text) -> void;
+
+ auto remove_button(const char* id) -> bool;
+}