1
0
mirror of synced 2025-01-11 05:42:15 +01:00

feat: Added interface accent colors

This commit is contained in:
WerWolv 2025-01-07 00:06:52 +01:00
parent ae4dde8255
commit 803cb335e1
7 changed files with 139 additions and 105 deletions

View File

@ -67,6 +67,7 @@ namespace hex {
static void reset(); static void reset();
static void setAccentColor(const ImColor &color);
public: public:
struct ThemeHandler { struct ThemeHandler {
@ -82,6 +83,7 @@ namespace hex {
static const std::map<std::string, ThemeHandler>& getThemeHandlers(); static const std::map<std::string, ThemeHandler>& getThemeHandlers();
static const std::map<std::string, StyleHandler>& getStyleHandlers(); static const std::map<std::string, StyleHandler>& getStyleHandlers();
private: private:
ThemeManager() = default; ThemeManager() = default;
}; };

View File

@ -16,6 +16,7 @@ namespace hex {
AutoReset<std::map<std::string, ThemeManager::StyleHandler>> s_styleHandlers; AutoReset<std::map<std::string, ThemeManager::StyleHandler>> s_styleHandlers;
AutoReset<std::string> s_imageTheme; AutoReset<std::string> s_imageTheme;
AutoReset<std::string> s_currTheme; AutoReset<std::string> s_currTheme;
AutoReset<std::optional<float>> s_accentColor;
std::recursive_mutex s_themeMutex; std::recursive_mutex s_themeMutex;
} }
@ -155,12 +156,28 @@ namespace hex {
continue; continue;
} }
auto color = parseColorString(value.get<std::string>()); auto colorString = value.get<std::string>();
bool accentableColor = false;
if (colorString.starts_with("*")) {
colorString = colorString.substr(1);
accentableColor = true;
}
auto color = parseColorString(colorString);
if (!color.has_value()) { if (!color.has_value()) {
log::warn("Invalid color '{}' for '{}.{}'", value.get<std::string>(), type, key); log::warn("Invalid color '{}' for '{}.{}'", colorString, type, key);
continue; continue;
} }
if (accentableColor && s_accentColor->has_value()) {
float h, s, v;
ImGui::ColorConvertRGBtoHSV(color->Value.x, color->Value.y, color->Value.z, h, s, v);
h = s_accentColor->value();
ImGui::ColorConvertHSVtoRGB(h, s, v, color->Value.x, color->Value.y, color->Value.z);
}
(*s_themeHandlers)[type].setFunction((*s_themeHandlers)[type].colorMap.at(key), color.value()); (*s_themeHandlers)[type].setFunction((*s_themeHandlers)[type].colorMap.at(key), color.value());
} }
} }
@ -236,6 +253,14 @@ namespace hex {
s_currTheme->clear(); s_currTheme->clear();
} }
void ThemeManager::setAccentColor(const ImColor &color) {
float h, s, v;
ImGui::ColorConvertRGBtoHSV(color.Value.x, color.Value.y, color.Value.z, h, s, v);
s_accentColor = h;
reapplyCurrentTheme();
}
const std::map<std::string, ThemeManager::ThemeHandler> &ThemeManager::getThemeHandlers() { const std::map<std::string, ThemeManager::ThemeHandler> &ThemeManager::getThemeHandlers() {
return s_themeHandlers; return s_themeHandlers;

View File

@ -501,6 +501,7 @@
"hex.builtin.setting.interface": "Interface", "hex.builtin.setting.interface": "Interface",
"hex.builtin.setting.interface.always_show_provider_tabs": "Always show Provider Tabs", "hex.builtin.setting.interface.always_show_provider_tabs": "Always show Provider Tabs",
"hex.builtin.setting.interface.native_window_decorations": "Use OS Window decorations", "hex.builtin.setting.interface.native_window_decorations": "Use OS Window decorations",
"hex.builtin.setting.interface.accent": "Accent color ",
"hex.builtin.setting.interface.color": "Color theme", "hex.builtin.setting.interface.color": "Color theme",
"hex.builtin.setting.interface.crisp_scaling": "Enable crisp scaling", "hex.builtin.setting.interface.crisp_scaling": "Enable crisp scaling",
"hex.builtin.setting.interface.display_shortcut_highlights": "Highlight menu when using shortcuts", "hex.builtin.setting.interface.display_shortcut_highlights": "Highlight menu when using shortcuts",

View File

@ -4,23 +4,23 @@
"imgui": { "imgui": {
"border": "#7F7F7F7F", "border": "#7F7F7F7F",
"border-shadow": "#00000000", "border-shadow": "#00000000",
"button": "#59669B9E", "button": "*#59669B9E",
"button-active": "#7589CCFF", "button-active": "*#7589CCFF",
"button-hovered": "#667AB5C9", "button-hovered": "*#667AB5C9",
"check-mark": "#E5E5E57F", "check-mark": "*#E5E5E57F",
"child-background": "#00000000", "child-background": "#00000000",
"docking-empty-background": "#000000D8", "docking-empty-background": "#000000D8",
"docking-preview": "#6666E550", "docking-preview": "*#6666E550",
"drag-drop-target": "#FFFF00E5", "drag-drop-target": "#FFFF00E5",
"frame-background": "#6D6D6D63", "frame-background": "*#6D6D6D63",
"frame-background-active": "#6B68A3AF", "frame-background-active": "*#6B68A3AF",
"frame-background-hovered": "#7777AF66", "frame-background-hovered": "*#7777AF66",
"header": "#6666E572", "header": "*#6666E572",
"header-active": "#8787DDCC", "header-active": "*#8787DDCC",
"header-hovered": "#7272E5CC", "header-hovered": "*#7272E5CC",
"menu-bar-background": "#535371FF", "menu-bar-background": "#535371FF",
"modal-window-dim-background": "#33333359", "modal-window-dim-background": "#33333359",
"nav-highlight": "#7272E5CC", "nav-highlight": "*#7272E5CC",
"nav-windowing-background": "#CCCCCC33", "nav-windowing-background": "#CCCCCC33",
"nav-windowing-highlight": "#FFFFFFB2", "nav-windowing-highlight": "#FFFFFFB2",
"plot-histogram": "#E5B200FF", "plot-histogram": "#E5B200FF",
@ -29,22 +29,22 @@
"plot-lines-hovered": "#E5B200FF", "plot-lines-hovered": "#E5B200FF",
"popup-background": "#1C1C23FF", "popup-background": "#1C1C23FF",
"resize-grip": "#FFFFFF19", "resize-grip": "#FFFFFF19",
"resize-grip-active": "#C6D1FFE5", "resize-grip-active": "*#C6D1FFE5",
"resize-grip-hovered": "#C6D1FF99", "resize-grip-hovered": "*#C6D1FF99",
"scrollbar-background": "#333F4C99", "scrollbar-background": "#333F4C99",
"scrollbar-grab": "#6666CC4C", "scrollbar-grab": "#6666CC4C",
"scrollbar-grab-active": "#6863CC99", "scrollbar-grab-active": "#6863CC99",
"scrollbar-grab-hovered": "#6666CC66", "scrollbar-grab-hovered": "#6666CC66",
"separator": "#7F7F7F99", "separator": "*#7F7F7F99",
"separator-active": "#B2B2E5FF", "separator-active": "*#B2B2E5FF",
"separator-hovered": "#9999B2FF", "separator-hovered": "*#9999B2FF",
"slider-grab": "#FFFFFF4C", "slider-grab": "#FFFFFF4C",
"slider-grab-active": "#6863CC99", "slider-grab-active": "*#6863CC99",
"tab": "#5555AEC8", "tab": "*#5555AEC8",
"tab-active": "#6767B9D6", "tab-active": "*#6767B9D6",
"tab-hovered": "#7272E5CC", "tab-hovered": "*#7272E5CC",
"tab-unfocused": "#484891D1", "tab-unfocused": "*#484891D1",
"tab-unfocused-active": "#5959A6D5", "tab-unfocused-active": "*#5959A6D5",
"table-border-light": "#424247FF", "table-border-light": "#424247FF",
"table-border-strong": "#4F4F72FF", "table-border-strong": "#4F4F72FF",
"table-header-background": "#444460FF", "table-header-background": "#444460FF",
@ -52,7 +52,7 @@
"table-row-background-alt": "#FFFFFF11", "table-row-background-alt": "#FFFFFF11",
"text": "#E5E5E5FF", "text": "#E5E5E5FF",
"text-disabled": "#999999FF", "text-disabled": "#999999FF",
"text-selected-background": "#0000FF59", "text-selected-background": "*#0000FF59",
"title-background": "#535371FF", "title-background": "#535371FF",
"title-background-active": "#535371FF", "title-background-active": "#535371FF",
"title-background-collapse": "#535371FF", "title-background-collapse": "#535371FF",
@ -93,21 +93,21 @@
"pattern-selected": "#06539BFF" "pattern-selected": "#06539BFF"
}, },
"imnodes": { "imnodes": {
"box-selector": "#5252A164", "box-selector": "*#5252A164",
"box-selector-outline": "#5252A1FF", "box-selector-outline": "*#5252A1FF",
"grid-background": "#282832C8", "grid-background": "#282832C8",
"grid-line": "#C8C8C828", "grid-line": "#C8C8C828",
"grid-line-primary": "#F0F0F03C", "grid-line-primary": "#F0F0F03C",
"link": "#FFFFFF64", "link": "#FFFFFF64",
"link-hovered": "#6963CC99", "link-hovered": "*#6963CC99",
"link-selected": "#6963CC99", "link-selected": "*#6963CC99",
"mini-map-background": "#19191964", "mini-map-background": "#19191964",
"mini-map-background-hovered": "#191919C8", "mini-map-background-hovered": "#191919C8",
"mini-map-canvas": "#C8C8C819", "mini-map-canvas": "#C8C8C819",
"mini-map-canvas-outline": "#C8C8C8C8", "mini-map-canvas-outline": "#C8C8C8C8",
"mini-map-link": "#FFFFFF64", "mini-map-link": "#FFFFFF64",
"mini-map-link-selected": "#6963CC99", "mini-map-link-selected": "*#6963CC99",
"mini-map-node-background": "#C8C8C864", "mini-map-node-background": "*#C8C8C864",
"mini-map-node-background-hovered": "#C8C8C8FF", "mini-map-node-background-hovered": "#C8C8C8FF",
"mini-map-node-background-selected": "#C8C8F0FF", "mini-map-node-background-selected": "#C8C8F0FF",
"mini-map-node-outline": "#C8C8C864", "mini-map-node-outline": "#C8C8C864",
@ -119,9 +119,9 @@
"node-outline": "#646464FF", "node-outline": "#646464FF",
"pin": "#F5CB25FF", "pin": "#F5CB25FF",
"pin-hovered": "#FA8335FF", "pin-hovered": "#FA8335FF",
"title-bar": "#45458AFF", "title-bar": "*#45458AFF",
"title-bar-hovered": "#5252A1FF", "title-bar-hovered": "*#5252A1FF",
"title-bar-selected": "#5252A1FF" "title-bar-selected": "*#5252A1FF"
}, },
"implot": { "implot": {
"axis-bg": "auto", "axis-bg": "auto",
@ -166,7 +166,7 @@
"preproc-identifier": "#FF00FFFF", "preproc-identifier": "#FF00FFFF",
"preprocessor": "#008000FF", "preprocessor": "#008000FF",
"punctuation": "#FFFFFFFF", "punctuation": "#FFFFFFFF",
"selection": "#00FFFF80", "selection": "*#00FFFF80",
"string": "#008080FF" "string": "#008080FF"
} }
}, },

View File

@ -4,23 +4,23 @@
"imgui": { "imgui": {
"border": "#6D6D7F7F", "border": "#6D6D7F7F",
"border-shadow": "#00000000", "border-shadow": "#00000000",
"button": "#4296F966", "button": "*#4296F966",
"button-active": "#0F87F9FF", "button-active": "*#0F87F9FF",
"button-hovered": "#4296F9FF", "button-hovered": "*#4296F9FF",
"check-mark": "#4296F9FF", "check-mark": "*#4296F9FF",
"child-background": "#00000000", "child-background": "#00000000",
"docking-empty-background": "#0F0F0FEF", "docking-empty-background": "#0F0F0FEF",
"docking-preview": "#4296F9B2", "docking-preview": "*#4296F9B2",
"drag-drop-target": "#FFFF00E5", "drag-drop-target": "#FFFF00E5",
"frame-background": "#28497A89", "frame-background": "*#28497A89",
"frame-background-active": "#4296F9AA", "frame-background-active": "*#4296F9AA",
"frame-background-hovered": "#4296F966", "frame-background-hovered": "*#4296F966",
"header": "#4296F94F", "header": "*#4296F94F",
"header-active": "#4296F9FF", "header-active": "*#4296F9FF",
"header-hovered": "#4296F9CC", "header-hovered": "*#4296F9CC",
"menu-bar-background": "#232323FF", "menu-bar-background": "#232323FF",
"modal-window-dim-background": "#CCCCCC59", "modal-window-dim-background": "#CCCCCC59",
"nav-highlight": "#4296F9FF", "nav-highlight": "*#4296F9FF",
"nav-windowing-background": "#CCCCCC33", "nav-windowing-background": "#CCCCCC33",
"nav-windowing-highlight": "#FFFFFFB2", "nav-windowing-highlight": "#FFFFFFB2",
"plot-histogram": "#E5B200FF", "plot-histogram": "#E5B200FF",
@ -28,23 +28,23 @@
"plot-lines": "#9B9B9BFF", "plot-lines": "#9B9B9BFF",
"plot-lines-hovered": "#FF6D59FF", "plot-lines-hovered": "#FF6D59FF",
"popup-background": "#141414FF", "popup-background": "#141414FF",
"resize-grip": "#4296F933", "resize-grip": "*#4296F933",
"resize-grip-active": "#4296F9F2", "resize-grip-active": "*#4296F9F2",
"resize-grip-hovered": "#4296F9AA", "resize-grip-hovered": "*#4296F9AA",
"scrollbar-background": "#05050587", "scrollbar-background": "#05050587",
"scrollbar-grab": "#4F4F4FFF", "scrollbar-grab": "#4F4F4FFF",
"scrollbar-grab-active": "#828282FF", "scrollbar-grab-active": "#828282FF",
"scrollbar-grab-hovered": "#686868FF", "scrollbar-grab-hovered": "#686868FF",
"separator": "#6D6D7F7F", "separator": "#6D6D7F7F",
"separator-active": "#1966BFFF", "separator-active": "*#1966BFFF",
"separator-hovered": "#1966BFC6", "separator-hovered": "*#1966BFC6",
"slider-grab": "#3D84E0FF", "slider-grab": "*#3D84E0FF",
"slider-grab-active": "#4296F9FF", "slider-grab-active": "*#4296F9FF",
"tab": "#2D5993DB", "tab": "*#2D5993DB",
"tab-active": "#3268ADFF", "tab-active": "*#3268ADFF",
"tab-hovered": "#4296F9CC", "tab-hovered": "*#4296F9CC",
"tab-unfocused": "#111A25F7", "tab-unfocused": "*#111A25F7",
"tab-unfocused-active": "#22426CFF", "tab-unfocused-active": "*#22426CFF",
"table-border-light": "#3A3A3FFF", "table-border-light": "#3A3A3FFF",
"table-border-strong": "#4F4F59FF", "table-border-strong": "#4F4F59FF",
"table-header-background": "#303033FF", "table-header-background": "#303033FF",
@ -52,7 +52,7 @@
"table-row-background-alt": "#FFFFFF0F", "table-row-background-alt": "#FFFFFF0F",
"text": "#FFFFFFFF", "text": "#FFFFFFFF",
"text-disabled": "#7F7F7FFF", "text-disabled": "#7F7F7FFF",
"text-selected-background": "#4296F959", "text-selected-background": "*#4296F959",
"title-background": "#232323FF", "title-background": "#232323FF",
"title-background-active": "#232323FF", "title-background-active": "#232323FF",
"title-background-collapse": "#232323FF", "title-background-collapse": "#232323FF",
@ -93,20 +93,20 @@
"pattern-selected": "#3683CBFF" "pattern-selected": "#3683CBFF"
}, },
"imnodes": { "imnodes": {
"box-selector": "#3D85E01E", "box-selector": "*#3D85E01E",
"box-selector-outline": "#3D85E096", "box-selector-outline": "*#3D85E096",
"grid-background": "#282832C8", "grid-background": "#282832C8",
"grid-line": "#C8C8C828", "grid-line": "#C8C8C828",
"grid-line-primary": "#F0F0F03C", "grid-line-primary": "#F0F0F03C",
"link": "#3D85E0C8", "link": "*#3D85E0C8",
"link-hovered": "#4296FAFF", "link-hovered": "*#4296FAFF",
"link-selected": "#4296FAFF", "link-selected": "*#4296FAFF",
"mini-map-background": "#19191996", "mini-map-background": "#19191996",
"mini-map-background-hovered": "#191919C8", "mini-map-background-hovered": "#191919C8",
"mini-map-canvas": "#C8C8C819", "mini-map-canvas": "#C8C8C819",
"mini-map-canvas-outline": "#C8C8C8C8", "mini-map-canvas-outline": "#C8C8C8C8",
"mini-map-link": "#3D85E0C8", "mini-map-link": "*#3D85E0C8",
"mini-map-link-selected": "#4296FAFF", "mini-map-link-selected": "*#4296FAFF",
"mini-map-node-background": "#C8C8C864", "mini-map-node-background": "#C8C8C864",
"mini-map-node-background-hovered": "#C8C8C8FF", "mini-map-node-background-hovered": "#C8C8C8FF",
"mini-map-node-background-selected": "#C8C8C8FF", "mini-map-node-background-selected": "#C8C8C8FF",
@ -119,9 +119,9 @@
"node-outline": "#646464FF", "node-outline": "#646464FF",
"pin": "#F5CB25FF", "pin": "#F5CB25FF",
"pin-hovered": "#FA8335FF", "pin-hovered": "#FA8335FF",
"title-bar": "#294A7AFF", "title-bar": "*#294A7AFF",
"title-bar-hovered": "#4296FAFF", "title-bar-hovered": "*#4296FAFF",
"title-bar-selected": "#4296FAFF" "title-bar-selected": "*#4296FAFF"
}, },
"implot": { "implot": {
"axis-bg": "auto", "axis-bg": "auto",
@ -166,7 +166,7 @@
"preproc-identifier": "#A040C0FF", "preproc-identifier": "#A040C0FF",
"preprocessor": "#808040FF", "preprocessor": "#808040FF",
"punctuation": "#FFFFFFFF", "punctuation": "#FFFFFFFF",
"selection": "#2060A080", "selection": "*#2060A080",
"string": "#E07070FF" "string": "#E07070FF"
} }
}, },

View File

@ -4,23 +4,23 @@
"imgui": { "imgui": {
"border": "#0000004C", "border": "#0000004C",
"border-shadow": "#00000000", "border-shadow": "#00000000",
"button": "#4296F966", "button": "*#4296F966",
"button-active": "#0F87F9FF", "button-active": "*#0F87F9FF",
"button-hovered": "#4296F9FF", "button-hovered": "*#4296F9FF",
"check-mark": "#4296F9FF", "check-mark": "*#4296F9FF",
"child-background": "#00000000", "child-background": "#00000000",
"docking-empty-background": "#EFEFEFFF", "docking-empty-background": "#EFEFEFFF",
"docking-preview": "#4296F937", "docking-preview": "*#4296F937",
"drag-drop-target": "#4296F9F2", "drag-drop-target": "#4296F9F2",
"frame-background": "#FFFFFFFF", "frame-background": "#FFFFFFFF",
"frame-background-active": "#4296F9AA", "frame-background-active": "*#4296F9AA",
"frame-background-hovered": "#4296F966", "frame-background-hovered": "*#4296F966",
"header": "#4296F94F", "header": "*#4296F94F",
"header-active": "#4296F9FF", "header-active": "*#4296F9FF",
"header-hovered": "#4296F9CC", "header-hovered": "*#4296F9CC",
"menu-bar-background": "#DBDBDBFF", "menu-bar-background": "#DBDBDBFF",
"modal-window-dim-background": "#33333359", "modal-window-dim-background": "#33333359",
"nav-highlight": "#4296F9CC", "nav-highlight": "*#4296F9CC",
"nav-windowing-background": "#33333333", "nav-windowing-background": "#33333333",
"nav-windowing-highlight": "#B2B2B2B2", "nav-windowing-highlight": "#B2B2B2B2",
"plot-histogram": "#E5B200FF", "plot-histogram": "#E5B200FF",
@ -28,23 +28,23 @@
"plot-lines": "#636363FF", "plot-lines": "#636363FF",
"plot-lines-hovered": "#FF6D59FF", "plot-lines-hovered": "#FF6D59FF",
"popup-background": "#FFFFFFFF", "popup-background": "#FFFFFFFF",
"resize-grip": "#5959592B", "resize-grip": "*#5959592B",
"resize-grip-active": "#4296F9F2", "resize-grip-active": "*#4296F9F2",
"resize-grip-hovered": "#4296F9AA", "resize-grip-hovered": "*#4296F9AA",
"scrollbar-background": "#F9F9F987", "scrollbar-background": "#F9F9F987",
"scrollbar-grab": "#AFAFAFCC", "scrollbar-grab": "#AFAFAFCC",
"scrollbar-grab-active": "#7C7C7CFF", "scrollbar-grab-active": "#7C7C7CFF",
"scrollbar-grab-hovered": "#7C7C7CCC", "scrollbar-grab-hovered": "#7C7C7CCC",
"separator": "#6363639E", "separator": "*#6363639E",
"separator-active": "#2370CCFF", "separator-active": "*#2370CCFF",
"separator-hovered": "#2370CCC6", "separator-hovered": "*#2370CCC6",
"slider-grab": "#4296F9C6", "slider-grab": "*#4296F9C6",
"slider-grab-active": "#7589CC99", "slider-grab-active": "*#7589CC99",
"tab": "#C2CBD5ED", "tab": "*#C2CBD5ED",
"tab-active": "#97B9E1FF", "tab-active": "*#97B9E1FF",
"tab-hovered": "#4296F9CC", "tab-hovered": "*#4296F9CC",
"tab-unfocused": "#EAECEEFB", "tab-unfocused": "*#EAECEEFB",
"tab-unfocused-active": "#BDD1E9FF", "tab-unfocused-active": "*#BDD1E9FF",
"table-border-light": "#ADADBCFF", "table-border-light": "#ADADBCFF",
"table-border-strong": "#9191A3FF", "table-border-strong": "#9191A3FF",
"table-header-background": "#C6DDF9FF", "table-header-background": "#C6DDF9FF",
@ -52,7 +52,7 @@
"table-row-background-alt": "#4C4C4C16", "table-row-background-alt": "#4C4C4C16",
"text": "#000000FF", "text": "#000000FF",
"text-disabled": "#999999FF", "text-disabled": "#999999FF",
"text-selected-background": "#4296F959", "text-selected-background": "*#4296F959",
"title-background": "#DBDBDBFF", "title-background": "#DBDBDBFF",
"title-background-active": "#DBDBDBFF", "title-background-active": "#DBDBDBFF",
"title-background-collapse": "#DBDBDBFF", "title-background-collapse": "#DBDBDBFF",
@ -93,20 +93,20 @@
"pattern-selected": "#06539BFF" "pattern-selected": "#06539BFF"
}, },
"imnodes": { "imnodes": {
"box-selector": "#5AAAFA1E", "box-selector": "*#5AAAFA1E",
"box-selector-outline": "#5AAAFA96", "box-selector-outline": "*#5AAAFA96",
"grid-background": "#E1E1E1FF", "grid-background": "#E1E1E1FF",
"grid-line": "#B4B4B464", "grid-line": "#B4B4B464",
"grid-line-primary": "#78787864", "grid-line-primary": "#78787864",
"link": "#4296FA64", "link": "*#4296FA64",
"link-hovered": "#4296FAF2", "link-hovered": "*#4296FAF2",
"link-selected": "#4296FAF2", "link-selected": "*#4296FAF2",
"mini-map-background": "#19191964", "mini-map-background": "#19191964",
"mini-map-background-hovered": "#191919C8", "mini-map-background-hovered": "#191919C8",
"mini-map-canvas": "#C8C8C819", "mini-map-canvas": "#C8C8C819",
"mini-map-canvas-outline": "#C8C8C8C8", "mini-map-canvas-outline": "#C8C8C8C8",
"mini-map-link": "#4296FA64", "mini-map-link": "*#4296FA64",
"mini-map-link-selected": "#4296FAF2", "mini-map-link-selected": "*#4296FAF2",
"mini-map-node-background": "#C8C8C864", "mini-map-node-background": "#C8C8C864",
"mini-map-node-background-hovered": "#C8C8C8FF", "mini-map-node-background-hovered": "#C8C8C8FF",
"mini-map-node-background-selected": "#C8C8F0FF", "mini-map-node-background-selected": "#C8C8F0FF",
@ -166,7 +166,7 @@
"preproc-identifier": "#A040C0FF", "preproc-identifier": "#A040C0FF",
"preprocessor": "#606040FF", "preprocessor": "#606040FF",
"punctuation": "#000000FF", "punctuation": "#000000FF",
"selection": "#00006080", "selection": "*#00006080",
"string": "#A02020FF" "string": "#A02020FF"
} }
}, },

View File

@ -789,6 +789,12 @@ namespace hex::plugin::builtin {
} }
}); });
ContentRegistry::Settings::add<Widgets::ColorPicker>("hex.builtin.setting.interface", "hex.builtin.setting.interface.style", "hex.builtin.setting.interface.accent", ImGui::GetStyleColorVec4(ImGuiCol_Button))
.setChangedCallback([](auto &widget) {
auto colorPicker = static_cast<Widgets::ColorPicker *>(&widget);
ThemeManager::setAccentColor(colorPicker->getColor());
});
ContentRegistry::Settings::add<ScalingWidget>("hex.builtin.setting.interface", "hex.builtin.setting.interface.style", "hex.builtin.setting.interface.scaling_factor") ContentRegistry::Settings::add<ScalingWidget>("hex.builtin.setting.interface", "hex.builtin.setting.interface.style", "hex.builtin.setting.interface.scaling_factor")
.requiresRestart(); .requiresRestart();