summaryrefslogtreecommitdiff
path: root/src/ui/imgui_extensions.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/ui/imgui_extensions.cpp')
-rw-r--r--src/ui/imgui_extensions.cpp88
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