hachem.wtf
aboutsummaryrefslogtreecommitdiff
path: root/src/ui/preferences.h
diff options
context:
space:
mode:
authorhachem <im@hachem.wtf>2025-09-20 03:49:18 +0200
committerhachem <im@hachem.wtf>2025-09-20 03:49:18 +0200
commit049e7e2aa15debb1ed112494681d7b3e28765679 (patch)
tree9c60baf2de75e3051dc1c0f9914d4e4a2ea90edd /src/ui/preferences.h
parent6f02694e2b994a4d4ba0308b384a37eb6fbafe89 (diff)
feat: add preferences panel
Diffstat (limited to 'src/ui/preferences.h')
-rw-r--r--src/ui/preferences.h34
1 files changed, 34 insertions, 0 deletions
diff --git a/src/ui/preferences.h b/src/ui/preferences.h
new file mode 100644
index 0000000..2d14a4b
--- /dev/null
+++ b/src/ui/preferences.h
@@ -0,0 +1,34 @@
+#pragma once
+
+#include <filesystem>
+
+namespace Hsdbg
+{
+ struct Preferences
+ {
+ float ui_scale = 1.0f;
+ float accent[3] = { 0.30f, 0.72f, 0.78f };
+ float rounding = 4.0f;
+ bool show_mascot = true;
+ float mascot_scale = 1.6f;
+
+ bool syntax_highlighting = true;
+ bool show_line_numbers = true;
+ bool highlight_current_line = true;
+ float color_keyword[3] = { 0.337f, 0.612f, 0.839f };
+ float color_type[3] = { 0.306f, 0.788f, 0.690f };
+ float color_string[3] = { 0.808f, 0.569f, 0.471f };
+ float color_number[3] = { 0.710f, 0.808f, 0.659f };
+ float color_comment[3] = { 0.416f, 0.600f, 0.333f };
+ float color_preprocessor[3] = { 0.773f, 0.525f, 0.753f };
+ float color_current_line[3] = { 0.227f, 0.282f, 0.180f };
+
+ bool stop_at_entry = false;
+ bool step_by_instruction = false;
+
+ bool show_fps = true;
+ };
+
+ auto load_preferences(const std::filesystem::path& path) -> Preferences;
+ auto save_preferences(const std::filesystem::path& path, const Preferences& preferences) -> void;
+}