1- #pragma once
1+ #ifndef USER_INTERFACE_H
2+ #define USER_INTERFACE_H
3+
4+ #include < atomic>
5+ #include < vector>
26
37#include < imgui.h>
48#include < imgui_internal.h>
812
913namespace UserInterface {
1014
11- void RenderGUI (Application::AppContext* appContext, int width, int height);
15+ inline void SetCustomTheme () {
16+ ImGuiStyle& style = ImGui::GetStyle ();
17+ ImVec4* colors = style.Colors ;
18+ ImGui::StyleColorsDark ();
19+
20+ // ROUNDING
21+ style.WindowRounding = 4 .0f ;
22+ style.FrameRounding = 4 .0f ;
23+ style.ChildRounding = 6 .0f ;
24+ style.PopupRounding = 4 .0f ;
25+ style.GrabRounding = 4 .0f ;
26+ style.ScrollbarRounding = 6 .0f ;
27+
28+ // WINDOW
29+ style.WindowBorderSize = 0 .0f ;
30+ style.WindowTitleAlign = ImVec2 (0 .5f , 0 .5f ); // WINDOW TITLE CENTERED
31+
32+ style.ItemSpacing = ImVec2 (8 .0f , 6 .0f );
33+ style.ItemInnerSpacing = ImVec2 (6 .0f , 4 .0f );
34+ style.ScrollbarSize = 18 .0f ;
35+ style.FramePadding = ImVec2 (10 .0f , 6 .0f );
36+ style.FrameBorderSize = 0 .0f ;
37+ style.GrabMinSize = 10 .0f ;
38+
39+ // TITLE (PANEL)
40+ colors[ImGuiCol_TitleBg] = ImVec4 (0 .16f , 0 .29f , 0 .48f , 1 .00f );
41+ colors[ImGuiCol_TitleBgActive] = ImVec4 (0 .16f , 0 .29f , 0 .48f , 1 .00f );
42+ colors[ImGuiCol_TitleBgCollapsed] = ImVec4 (0 .16f , 0 .29f , 0 .48f , 1 .00f );
43+ }
44+
45+ void CreateShuffleButton (Application::AppContext* appContext);
46+
47+ void CreateSortButton (Application::AppContext* appContext);
48+
49+ void CreateSortSelectionDropdown (Application::AppContext* appContext);
50+
51+ void RenderGUI (Application::AppContext* appContext);
52+
53+ }
1254
13- }
55+ # endif
0 commit comments