diff options
| author | Aldrik Ramaekers <aldrik@mailbox.org> | 2026-01-10 19:57:44 +0100 |
|---|---|---|
| committer | Aldrik Ramaekers <aldrik@mailbox.org> | 2026-01-10 19:57:44 +0100 |
| commit | 6166eeda08fd1d4106afe47416a73de60700d17e (patch) | |
| tree | 11d37481839b7fa7a0ffe31ab010620245bd717b /src/ui/imgui_extensions.cpp | |
| parent | 0821197bc1c57c756e737740d6a6de9c83314fae (diff) | |
new look
Diffstat (limited to 'src/ui/imgui_extensions.cpp')
| -rw-r--r-- | src/ui/imgui_extensions.cpp | 88 |
1 files changed, 86 insertions, 2 deletions
diff --git a/src/ui/imgui_extensions.cpp b/src/ui/imgui_extensions.cpp index 568806a..03d4a44 100644 --- a/src/ui/imgui_extensions.cpp +++ b/src/ui/imgui_extensions.cpp @@ -15,7 +15,9 @@ */ #include <time.h> +#include <imgui/imgui_spectrum.h> #include <tinyfiledialogs/tinyfiledialogs.h> +#include <IconFontCppHeaders/IconsFontAwesome5.h> #include "ui.hpp" #include "strops.hpp" @@ -78,14 +80,14 @@ namespace ImGui static void DrawSuccessMark(int bWidth = 0, bool isButton = true) { ImGui::PushStyleColor(ImGuiCol_Text, config::colors::COLOR_SUCCESS); - if (isButton) ImGui::Button("√", ImVec2(bWidth, 0)); else ImGui::Text("√"); + if (isButton) ImGui::Button(ICON_FA_CHECK_SQUARE, ImVec2(bWidth, 0)); else ImGui::Text("√"); ImGui::PopStyleColor(); } static void DrawFailureMark(int bWidth = 0, bool isButton = true) { ImGui::PushStyleColor(ImGuiCol_Text, config::colors::COLOR_ERROR); - if (isButton) ImGui::Button("X", ImVec2(bWidth, 0)); else ImGui::Text("√"); + if (isButton) ImGui::Button(ICON_FA_BAN, ImVec2(bWidth, 0)); else ImGui::Text("√"); ImGui::PopStyleColor(); } @@ -868,4 +870,86 @@ namespace ImGui return false; } + + void StyleCustom() + { + ImGui::StyleColorsLight(); + + ImGuiStyle* style = &ImGui::GetStyle(); + + //style->WindowMinSize = ImVec2( 160, 20 ); + style->FramePadding = ImVec2( 10, 5 ); + style->ItemSpacing = ImVec2( 6, 2 ); + style->ItemInnerSpacing = ImVec2( 6, 4 ); + style->Alpha = 1.0f; + style->DisabledAlpha = 0.45f; + style->WindowRounding = 4.0f; + style->FrameRounding = 4.0f; + style->IndentSpacing = 6.0f; + style->ItemInnerSpacing = ImVec2( 2, 4 ); + style->ColumnsMinSpacing = 50.0f; + style->GrabMinSize = 14.0f; + style->GrabRounding = 16.0f; + style->ScrollbarSize = 12.0f; + style->ScrollbarRounding = 16.0f; + style->FrameBorderSize = 1.0f; + style->WindowBorderSize = 1.0f; + + ImVec4* colors = style->Colors; + + //colors[ImGuiCol_Border] = ColorConvertU32ToFloat4(IM_COL32(210, 210, 210, 255)); + colors[ImGuiCol_Text] = ColorConvertU32ToFloat4(ImGui::Spectrum::GRAY800); // text on hovered controls is gray900 + colors[ImGuiCol_TextDisabled] = ColorConvertU32ToFloat4(ImGui::Spectrum::GRAY500); + colors[ImGuiCol_WindowBg] = ColorConvertU32ToFloat4(IM_COL32(239, 240, 241, 255)); + //colors[ImGuiCol_ChildBg] = ColorConvertU32ToFloat4(IM_COL32(255, 0, 0, 255)); + colors[ImGuiCol_PopupBg] = ColorConvertU32ToFloat4(ImGui::Spectrum::GRAY50); // not sure about this. Note: applies to tooltips too. + colors[ImGuiCol_Border] = ColorConvertU32ToFloat4(IM_COL32(214, 214, 215, 255)); + colors[ImGuiCol_BorderShadow] = ColorConvertU32ToFloat4(ImGui::Spectrum::Static::NONE); // We don't want shadows. Ever. + colors[ImGuiCol_FrameBg] = ColorConvertU32ToFloat4(ImGui::Spectrum::GRAY75); // this isnt right, spectrum does not do this, but it's a good fallback + colors[ImGuiCol_FrameBgHovered] = ColorConvertU32ToFloat4(ImGui::Spectrum::GRAY50); + colors[ImGuiCol_FrameBgActive] = ColorConvertU32ToFloat4(ImGui::Spectrum::GRAY200); + colors[ImGuiCol_TitleBg] = ColorConvertU32ToFloat4(ImGui::Spectrum::GRAY300); // those titlebar values are totally made up, spectrum does not have this. + colors[ImGuiCol_TitleBgActive] = ColorConvertU32ToFloat4(ImGui::Spectrum::GRAY200); + colors[ImGuiCol_TitleBgCollapsed] = ColorConvertU32ToFloat4(ImGui::Spectrum::GRAY400); + colors[ImGuiCol_MenuBarBg] = ColorConvertU32ToFloat4(IM_COL32(243, 244, 245, 255)); + colors[ImGuiCol_ScrollbarBg] = ColorConvertU32ToFloat4(ImGui::Spectrum::GRAY100); // same as regular background + colors[ImGuiCol_ScrollbarGrab] = ColorConvertU32ToFloat4(ImGui::Spectrum::GRAY400); + colors[ImGuiCol_ScrollbarGrabHovered] = ColorConvertU32ToFloat4(ImGui::Spectrum::GRAY600); + colors[ImGuiCol_ScrollbarGrabActive] = ColorConvertU32ToFloat4(ImGui::Spectrum::GRAY700); + colors[ImGuiCol_CheckMark] = ColorConvertU32ToFloat4(ImGui::Spectrum::BLUE500); + colors[ImGuiCol_SliderGrab] = ColorConvertU32ToFloat4(ImGui::Spectrum::GRAY700); + colors[ImGuiCol_SliderGrabActive] = ColorConvertU32ToFloat4(ImGui::Spectrum::GRAY800); + colors[ImGuiCol_Button] = ColorConvertU32ToFloat4(ImGui::Spectrum::GRAY75); // match default button to Spectrum's 'Action Button'. + colors[ImGuiCol_ButtonHovered] = ColorConvertU32ToFloat4(ImGui::Spectrum::GRAY50); + colors[ImGuiCol_ButtonActive] = ColorConvertU32ToFloat4(ImGui::Spectrum::GRAY200); + + colors[ImGuiCol_TableHeaderBg] = ColorConvertU32ToFloat4(ImGui::Spectrum::GRAY300); + colors[ImGuiCol_Header] = ColorConvertU32ToFloat4(ImGui::Spectrum::GRAY300); + colors[ImGuiCol_HeaderHovered] = ImVec4(0.78f, 0.87f, 0.98f, 0.5f); + colors[ImGuiCol_HeaderActive] = colors[ImGuiCol_TableHeaderBg]; + + colors[ImGuiCol_TableRowBg] = ColorConvertU32ToFloat4(ImGui::Spectrum::GRAY100); + colors[ImGuiCol_TableRowBgAlt] = ImVec4(1.0f, 1.0f, 1.0f, 1.0f); + + colors[ImGuiCol_Separator] = colors[ImGuiCol_Border]; + + colors[ImGuiCol_SeparatorHovered] = colors[ImGuiCol_Border]; + colors[ImGuiCol_SeparatorActive] = colors[ImGuiCol_Border]; + colors[ImGuiCol_TableBorderStrong] = colors[ImGuiCol_Border]; + colors[ImGuiCol_TableBorderLight] = colors[ImGuiCol_Border]; + + colors[ImGuiCol_ResizeGrip] = ColorConvertU32ToFloat4(ImGui::Spectrum::GRAY400); + colors[ImGuiCol_ResizeGripHovered] = ColorConvertU32ToFloat4(ImGui::Spectrum::GRAY600); + colors[ImGuiCol_ResizeGripActive] = ColorConvertU32ToFloat4(ImGui::Spectrum::GRAY700); + colors[ImGuiCol_PlotLines] = ColorConvertU32ToFloat4(ImGui::Spectrum::BLUE400); + colors[ImGuiCol_PlotLinesHovered] = ColorConvertU32ToFloat4(ImGui::Spectrum::BLUE600); + colors[ImGuiCol_PlotHistogram] = ColorConvertU32ToFloat4(ImGui::Spectrum::BLUE400); + colors[ImGuiCol_PlotHistogramHovered] = ColorConvertU32ToFloat4(ImGui::Spectrum::BLUE600); + colors[ImGuiCol_TextSelectedBg] = ColorConvertU32ToFloat4((ImGui::Spectrum::BLUE400 & 0x00FFFFFF) | 0x33000000); + colors[ImGuiCol_DragDropTarget] = ImVec4(1.00f, 1.00f, 0.00f, 0.90f); + colors[ImGuiCol_NavHighlight] = ColorConvertU32ToFloat4((ImGui::Spectrum::GRAY900 & 0x00FFFFFF) | 0x0A000000); + colors[ImGuiCol_NavWindowingHighlight] = ImVec4(1.00f, 1.00f, 1.00f, 0.70f); + colors[ImGuiCol_NavWindowingDimBg] = ImVec4(0.80f, 0.80f, 0.80f, 0.20f); + colors[ImGuiCol_ModalWindowDimBg] = ImVec4(0.20f, 0.20f, 0.20f, 0.35f); + } }
\ No newline at end of file |
