Unravel Engine C++ Reference
Loading...
Searching...
No Matches
style_panel.cpp
Go to the documentation of this file.
1#include "style_panel.h"
2#include "../panel.h"
4
5namespace unravel
6{
7
8style_panel::style_panel(imgui_panels* parent) : parent_(parent)
9{
10}
11
16
17void style_panel::show(bool show)
18{
19 visible_ = show;
20}
21
23{
24 if(!visible_)
25 return;
26 ImGui::Begin("Style", &visible_, ImGuiWindowFlags_AlwaysAutoResize);
27 ImGui::Text("Select a theme:");
28 ImGui::Separator();
29 if(ImGui::Button("Unity"))
30 {
31 this->set_unity_theme();
32 }
33 if(ImGui::Button("Unity Inspired"))
34 {
36 }
37 if(ImGui::Button("Modern Purple"))
38 {
40 }
41 if(ImGui::Button("Warm Amber"))
42 {
44 }
45 if(ImGui::Button("Cool Blue"))
46 {
47 this->set_cool_blue_theme();
48 }
49 if(ImGui::Button("Minimalist Green"))
50 {
52 }
53 if(ImGui::Button("Professional Dark"))
54 {
56 }
57 if(ImGui::Button("Dark Theme"))
58 {
59 this->set_dark_theme();
60 }
61 if(ImGui::Button("Dark Red Theme"))
62 {
63 this->set_dark_theme_red();
64 }
65 if(ImGui::Button("Photoshop Theme"))
66 {
67 this->set_photoshop_theme();
68 }
69 ImGui::End();
70}
71
72// THEME IMPLEMENTATIONS
73
75{
76 // Photoshop style by Derydoca from ImThemes
77 ImGuiStyle& style = ImGui::GetStyle();
78
79 style.Alpha = 1.0f;
80 style.DisabledAlpha = 0.6000000238418579f;
81 style.WindowPadding = ImVec2(8.0f, 8.0f);
82 style.WindowRounding = 4.0f;
83 style.WindowBorderSize = 1.0f;
84 style.WindowMinSize = ImVec2(32.0f, 32.0f);
85 style.WindowTitleAlign = ImVec2(0.0f, 0.5f);
86 style.WindowMenuButtonPosition = ImGuiDir_Left;
87 style.ChildRounding = 4.0f;
88 style.ChildBorderSize = 1.0f;
89 style.PopupRounding = 2.0f;
90 style.PopupBorderSize = 1.0f;
91 style.FramePadding = ImVec2(4.0f, 3.0f);
92 style.FrameRounding = 2.0f;
93 style.FrameBorderSize = 1.0f;
94 style.ItemSpacing = ImVec2(8.0f, 4.0f);
95 style.ItemInnerSpacing = ImVec2(4.0f, 4.0f);
96 style.CellPadding = ImVec2(4.0f, 2.0f);
97 style.IndentSpacing = 21.0f;
98 style.ColumnsMinSpacing = 6.0f;
99 style.ScrollbarSize = 13.0f;
100 style.ScrollbarRounding = 12.0f;
101 style.GrabMinSize = 7.0f;
102 style.GrabRounding = 0.0f;
103 style.TabRounding = 0.0f;
104 style.TabBorderSize = 1.0f;
105 style.TabCloseButtonMinWidthUnselected = 0.0f;
106 style.ColorButtonPosition = ImGuiDir_Right;
107 style.ButtonTextAlign = ImVec2(0.5f, 0.5f);
108 style.SelectableTextAlign = ImVec2(0.0f, 0.0f);
109
110 style.Colors[ImGuiCol_Text] = ImVec4(1.0f, 1.0f, 1.0f, 1.0f);
111 style.Colors[ImGuiCol_TextDisabled] = ImVec4(0.4980392158031464f, 0.4980392158031464f, 0.4980392158031464f, 1.0f);
112 style.Colors[ImGuiCol_WindowBg] = ImVec4(0.1764705926179886f, 0.1764705926179886f, 0.1764705926179886f, 1.0f);
113 style.Colors[ImGuiCol_ChildBg] = ImVec4(0.2784313857555389f, 0.2784313857555389f, 0.2784313857555389f, 0.0f);
114 style.Colors[ImGuiCol_PopupBg] = ImVec4(0.3098039329051971f, 0.3098039329051971f, 0.3098039329051971f, 1.0f);
115 style.Colors[ImGuiCol_Border] = ImVec4(0.2627451121807098f, 0.2627451121807098f, 0.2627451121807098f, 1.0f);
116 style.Colors[ImGuiCol_BorderShadow] = ImVec4(0.0f, 0.0f, 0.0f, 0.0f);
117 style.Colors[ImGuiCol_FrameBg] = ImVec4(0.1568627506494522f, 0.1568627506494522f, 0.1568627506494522f, 1.0f);
118 style.Colors[ImGuiCol_FrameBgHovered] = ImVec4(0.2000000029802322f, 0.2000000029802322f, 0.2000000029802322f, 1.0f);
119 style.Colors[ImGuiCol_FrameBgActive] = ImVec4(0.2784313857555389f, 0.2784313857555389f, 0.2784313857555389f, 1.0f);
120 style.Colors[ImGuiCol_TitleBg] = ImVec4(0.1450980454683304f, 0.1450980454683304f, 0.1450980454683304f, 1.0f);
121 style.Colors[ImGuiCol_TitleBgActive] = ImVec4(0.1450980454683304f, 0.1450980454683304f, 0.1450980454683304f, 1.0f);
122 style.Colors[ImGuiCol_TitleBgCollapsed] =
123 ImVec4(0.1450980454683304f, 0.1450980454683304f, 0.1450980454683304f, 1.0f);
124 style.Colors[ImGuiCol_MenuBarBg] = ImVec4(0.1921568661928177f, 0.1921568661928177f, 0.1921568661928177f, 1.0f);
125 style.Colors[ImGuiCol_ScrollbarBg] = ImVec4(0.1568627506494522f, 0.1568627506494522f, 0.1568627506494522f, 1.0f);
126 style.Colors[ImGuiCol_ScrollbarGrab] = ImVec4(0.2745098173618317f, 0.2745098173618317f, 0.2745098173618317f, 1.0f);
127 style.Colors[ImGuiCol_ScrollbarGrabHovered] =
128 ImVec4(0.2980392277240753f, 0.2980392277240753f, 0.2980392277240753f, 1.0f);
129 style.Colors[ImGuiCol_ScrollbarGrabActive] = ImVec4(1.0f, 0.3882353007793427f, 0.0f, 1.0f);
130 style.Colors[ImGuiCol_CheckMark] = ImVec4(1.0f, 1.0f, 1.0f, 1.0f);
131 style.Colors[ImGuiCol_SliderGrab] = ImVec4(0.3882353007793427f, 0.3882353007793427f, 0.3882353007793427f, 1.0f);
132 style.Colors[ImGuiCol_SliderGrabActive] = ImVec4(1.0f, 0.3882353007793427f, 0.0f, 1.0f);
133 style.Colors[ImGuiCol_Button] = ImVec4(1.0f, 1.0f, 1.0f, 0.0f);
134 style.Colors[ImGuiCol_ButtonHovered] = ImVec4(1.0f, 1.0f, 1.0f, 0.1560000032186508f);
135 style.Colors[ImGuiCol_ButtonActive] = ImVec4(1.0f, 1.0f, 1.0f, 0.3910000026226044f);
136 style.Colors[ImGuiCol_Header] = ImVec4(0.3098039329051971f, 0.3098039329051971f, 0.3098039329051971f, 1.0f);
137 style.Colors[ImGuiCol_HeaderHovered] = ImVec4(0.4666666686534882f, 0.4666666686534882f, 0.4666666686534882f, 1.0f);
138 style.Colors[ImGuiCol_HeaderActive] = ImVec4(0.4666666686534882f, 0.4666666686534882f, 0.4666666686534882f, 1.0f);
139 style.Colors[ImGuiCol_Separator] = ImVec4(0.2627451121807098f, 0.2627451121807098f, 0.2627451121807098f, 1.0f);
140 style.Colors[ImGuiCol_SeparatorHovered] =
141 ImVec4(0.3882353007793427f, 0.3882353007793427f, 0.3882353007793427f, 1.0f);
142 style.Colors[ImGuiCol_SeparatorActive] = ImVec4(1.0f, 0.3882353007793427f, 0.0f, 1.0f);
143 style.Colors[ImGuiCol_ResizeGrip] = ImVec4(1.0f, 1.0f, 1.0f, 0.25f);
144 style.Colors[ImGuiCol_ResizeGripHovered] = ImVec4(1.0f, 1.0f, 1.0f, 0.6700000166893005f);
145 style.Colors[ImGuiCol_ResizeGripActive] = ImVec4(1.0f, 0.3882353007793427f, 0.0f, 1.0f);
146 style.Colors[ImGuiCol_Tab] = ImVec4(0.09411764889955521f, 0.09411764889955521f, 0.09411764889955521f, 1.0f);
147 style.Colors[ImGuiCol_TabHovered] = ImVec4(0.3490196168422699f, 0.3490196168422699f, 0.3490196168422699f, 1.0f);
148 style.Colors[ImGuiCol_TabSelected] = ImVec4(0.1921568661928177f, 0.1921568661928177f, 0.1921568661928177f, 1.0f);
149 style.Colors[ImGuiCol_TabDimmed] = ImVec4(0.09411764889955521f, 0.09411764889955521f, 0.09411764889955521f, 1.0f);
150 style.Colors[ImGuiCol_TabDimmedSelected] =
151 ImVec4(0.1921568661928177f, 0.1921568661928177f, 0.1921568661928177f, 1.0f);
152 style.Colors[ImGuiCol_PlotLines] = ImVec4(0.4666666686534882f, 0.4666666686534882f, 0.4666666686534882f, 1.0f);
153 style.Colors[ImGuiCol_PlotLinesHovered] = ImVec4(1.0f, 0.3882353007793427f, 0.0f, 1.0f);
154 style.Colors[ImGuiCol_PlotHistogram] = ImVec4(0.5843137502670288f, 0.5843137502670288f, 0.5843137502670288f, 1.0f);
155 style.Colors[ImGuiCol_PlotHistogramHovered] = ImVec4(1.0f, 0.3882353007793427f, 0.0f, 1.0f);
156 style.Colors[ImGuiCol_TableHeaderBg] = ImVec4(0.1882352977991104f, 0.1882352977991104f, 0.2000000029802322f, 1.0f);
157 style.Colors[ImGuiCol_TableBorderStrong] =
158 ImVec4(0.3098039329051971f, 0.3098039329051971f, 0.3490196168422699f, 1.0f);
159 style.Colors[ImGuiCol_TableBorderLight] =
160 ImVec4(0.2274509817361832f, 0.2274509817361832f, 0.2470588237047195f, 1.0f);
161 style.Colors[ImGuiCol_TableRowBg] = ImVec4(0.0f, 0.0f, 0.0f, 0.0f);
162 style.Colors[ImGuiCol_TableRowBgAlt] = ImVec4(1.0f, 1.0f, 1.0f, 0.05999999865889549f);
163 style.Colors[ImGuiCol_TextSelectedBg] = ImVec4(1.0f, 1.0f, 1.0f, 0.1560000032186508f);
164 style.Colors[ImGuiCol_DragDropTarget] = ImVec4(1.0f, 0.3882353007793427f, 0.0f, 1.0f);
165 style.Colors[ImGuiCol_NavCursor] = ImVec4(1.0f, 0.3882353007793427f, 0.0f, 1.0f);
166 style.Colors[ImGuiCol_NavWindowingHighlight] = ImVec4(1.0f, 0.3882353007793427f, 0.0f, 1.0f);
167 style.Colors[ImGuiCol_NavWindowingDimBg] = ImVec4(0.0f, 0.0f, 0.0f, 0.5860000252723694f);
168 style.Colors[ImGuiCol_ModalWindowDimBg] = ImVec4(0.0f, 0.0f, 0.0f, 0.5860000252723694f);
169}
170
172{
173 ImGuiIO& io = ImGui::GetIO();
174
175 ImGui::StyleColorsDark();
176
177 auto& style = ImGui::GetStyle();
178 auto& colors = ImGui::GetStyle().Colors;
179
180 //========================================================
182
183 auto accent = ImColor(236, 158, 36, 255);
184 auto highlight = ImColor(39, 185, 242, 255);
185 auto niceBlue = ImColor(83, 232, 254, 255);
186 auto compliment = ImColor(78, 151, 166, 255);
187 auto background = ImColor(36, 36, 36, 255);
188 auto backgroundDark = ImColor(26, 26, 26, 255);
189 auto titlebar = ImColor(21, 21, 21, 255);
190 auto titlebarOrange = ImColor(186, 66, 30, 255);
191 auto titlebarGreen = ImColor(18, 88, 30, 255);
192 auto titlebarRed = ImColor(185, 30, 30, 255);
193 auto propertyField = ImColor(15, 15, 15, 255);
194 auto text = ImColor(255, 255, 255, 255);
195 auto textBrighter = ImColor(210, 210, 210, 255);
196 auto textDarker = ImColor(128, 128, 128, 255);
197 auto textError = ImColor(230, 51, 51, 255);
198 auto muted = ImColor(77, 77, 77, 255);
199 auto groupHeader = ImColor(47, 47, 47, 255);
200 auto selection = ImColor(237, 192, 119, 255);
201 auto selectionMuted = ImColor(237, 201, 142, 23);
202 auto backgroundPopup = ImColor(50, 50, 50, 255);
203 auto validPrefab = ImColor(82, 179, 222, 255);
204 auto invalidPrefab = ImColor(222, 43, 43, 255);
205 auto missingMesh = ImColor(230, 102, 76, 255);
206 auto meshNotSet = ImColor(250, 101, 23, 255);
207
208 // Headers
209 colors[ImGuiCol_Header] = groupHeader;
210 colors[ImGuiCol_HeaderHovered] = groupHeader;
211 colors[ImGuiCol_HeaderActive] = groupHeader;
212
213 // Buttons
214 colors[ImGuiCol_Button] = ImColor(56, 56, 56, 200);
215 colors[ImGuiCol_ButtonHovered] = ImColor(70, 70, 70, 255);
216 colors[ImGuiCol_ButtonActive] = ImColor(56, 56, 56, 150);
217
218 // Frame BG
219 colors[ImGuiCol_FrameBg] = propertyField;
220 colors[ImGuiCol_FrameBgHovered] = propertyField;
221 colors[ImGuiCol_FrameBgActive] = propertyField;
222
223 // Tabs
224 colors[ImGuiCol_Tab] = titlebar;
225 colors[ImGuiCol_TabHovered] = ImColor(255, 225, 135, 30);
226 colors[ImGuiCol_TabSelected] = ImColor(255, 225, 135, 60);
227 colors[ImGuiCol_TabDimmed] = titlebar;
228 colors[ImGuiCol_TabDimmedSelected] = colors[ImGuiCol_TabHovered];
229
230 // Title
231 colors[ImGuiCol_TitleBg] = titlebar;
232 colors[ImGuiCol_TitleBgActive] = titlebar;
233 colors[ImGuiCol_TitleBgCollapsed] = ImVec4{0.15f, 0.1505f, 0.151f, 1.0f};
234
235 // Resize Grip
236 colors[ImGuiCol_ResizeGrip] = ImVec4(0.91f, 0.91f, 0.91f, 0.25f);
237 colors[ImGuiCol_ResizeGripHovered] = ImVec4(0.81f, 0.81f, 0.81f, 0.67f);
238 colors[ImGuiCol_ResizeGripActive] = ImVec4(0.46f, 0.46f, 0.46f, 0.95f);
239
240 // Scrollbar
241 colors[ImGuiCol_ScrollbarBg] = ImVec4(0.02f, 0.02f, 0.02f, 0.53f);
242 colors[ImGuiCol_ScrollbarGrab] = ImVec4(0.31f, 0.31f, 0.31f, 1.0f);
243 colors[ImGuiCol_ScrollbarGrabHovered] = ImVec4(0.41f, 0.41f, 0.41f, 1.0f);
244 colors[ImGuiCol_ScrollbarGrabActive] = ImVec4(0.51f, 0.51f, 0.51f, 1.0f);
245
246 // Check Mark
247 colors[ImGuiCol_CheckMark] = ImColor(200, 200, 200, 255);
248
249 // Slider
250 colors[ImGuiCol_SliderGrab] = ImVec4(0.51f, 0.51f, 0.51f, 0.7f);
251 colors[ImGuiCol_SliderGrabActive] = ImVec4(0.66f, 0.66f, 0.66f, 1.0f);
252
253 // Text
254 colors[ImGuiCol_Text] = text;
255
256 // Checkbox
257 colors[ImGuiCol_CheckMark] = text;
258
259 // Separator
260 colors[ImGuiCol_Separator] = backgroundDark;
261 colors[ImGuiCol_SeparatorActive] = highlight;
262 colors[ImGuiCol_SeparatorHovered] = ImColor(39, 185, 242, 150);
263
264 // Window Background
265 colors[ImGuiCol_WindowBg] = titlebar;
266 colors[ImGuiCol_ChildBg] = background;
267 colors[ImGuiCol_PopupBg] = backgroundPopup;
268 colors[ImGuiCol_Border] = backgroundDark;
269
270 // Tables
271 colors[ImGuiCol_TableHeaderBg] = groupHeader;
272 colors[ImGuiCol_TableBorderLight] = backgroundDark;
273
274 // Menubar
275 colors[ImGuiCol_MenuBarBg] = ImVec4{0.0f, 0.0f, 0.0f, 0.0f};
276
277 //========================================================
279 style.FrameRounding = 2.5f;
280 style.FrameBorderSize = 1.0f;
281 style.IndentSpacing = 11.0f;
282
283 // When viewports are enabled we tweak WindowRounding/WindowBg so platform windows can look identical to regular
284 // ones.
285 if(io.ConfigFlags & ImGuiConfigFlags_ViewportsEnable)
286 {
287 style.WindowRounding = 0.0f;
288 style.Colors[ImGuiCol_WindowBg].w = 1.0f;
289 }
290 style.Colors[ImGuiCol_WindowBg] = ImVec4(0.15f, 0.15f, 0.15f, style.Colors[ImGuiCol_WindowBg].w);
291}
292
294{
295 ImGuiIO& io = ImGui::GetIO();
296 ImGuiStyle& style = ImGui::GetStyle();
297 ImVec4* colors = ImGui::GetStyle().Colors;
298 style.FrameBorderSize = 1.0f;
299 style.PopupBorderSize = 1.0f;
300 // style.AntiAliasedFill = false;
301 // style.WindowRounding = 0.0f;
302 style.TabRounding = 3.0f;
303 // style.ChildRounding = 0.0f;
304 style.PopupRounding = 3.0f;
305 style.FrameRounding = 3.0f;
306 // style.ScrollbarRounding = 5.0f;
307 style.FramePadding = ImVec2(8, 2);
308 style.WindowPadding = ImVec2(8, 8);
309 style.CellPadding = ImVec2(9, 2);
310 // style.ItemInnerSpacing = ImVec2(8, 4);
311 // style.ItemInnerSpacing = ImVec2(5, 4);
312 // style.GrabRounding = 6.0f;
313 // style.GrabMinSize = 6.0f;
314 style.ChildBorderSize = 1.0f;
315 // style.TabBorderSize = 0.0f;
316 style.WindowBorderSize = 1.0f;
317 style.WindowMenuButtonPosition = ImGuiDir_None;
318 colors[ImGuiCol_Text] = ImVec4(1.00f, 1.00f, 1.00f, 1.00f);
319 colors[ImGuiCol_TextDisabled] = ImVec4(0.50f, 0.50f, 0.50f, 1.00f);
320 colors[ImGuiCol_WindowBg] = ImVec4(0.15f, 0.15f, 0.15f, 1.00f);
321 colors[ImGuiCol_ChildBg] = ImVec4(0.00f, 0.00f, 0.00f, 0.00f);
322 colors[ImGuiCol_PopupBg] = ImVec4(0.08f, 0.08f, 0.08f, 1.00f);
323 colors[ImGuiCol_Border] = ImVec4(0.00f, 0.00f, 0.00f, 1.00f);
324 colors[ImGuiCol_BorderShadow] = ImVec4(0.00f, 0.00f, 0.00f, 0.00f);
325 colors[ImGuiCol_FrameBg] = ImVec4(0.04f, 0.04f, 0.04f, 0.54f);
326 colors[ImGuiCol_FrameBgHovered] = ImVec4(0.44f, 0.26f, 0.26f, 1.00f);
327 colors[ImGuiCol_FrameBgActive] = ImVec4(0.47f, 0.19f, 0.19f, 1.00f);
328 colors[ImGuiCol_TitleBg] = ImVec4(0.06f, 0.06f, 0.06f, 1.00f);
329 colors[ImGuiCol_TitleBgActive] = ImVec4(0.06f, 0.06f, 0.06f, 1.00f);
330 colors[ImGuiCol_TitleBgCollapsed] = ImVec4(0.06f, 0.06f, 0.06f, 1.00f);
331 colors[ImGuiCol_MenuBarBg] = ImVec4(0.11f, 0.11f, 0.11f, 1.00f);
332 colors[ImGuiCol_ScrollbarBg] = ImVec4(0.02f, 0.02f, 0.02f, 0.53f);
333 colors[ImGuiCol_ScrollbarGrab] = ImVec4(0.15f, 0.15f, 0.15f, 1.00f);
334 colors[ImGuiCol_ScrollbarGrabHovered] = ImVec4(0.23f, 0.23f, 0.23f, 1.00f);
335 colors[ImGuiCol_ScrollbarGrabActive] = ImVec4(0.30f, 0.30f, 0.30f, 1.00f);
336 colors[ImGuiCol_CheckMark] = ImVec4(0.47f, 0.19f, 0.19f, 1.00f);
337 colors[ImGuiCol_SliderGrab] = ImVec4(0.47f, 0.19f, 0.19f, 1.00f);
338 colors[ImGuiCol_SliderGrabActive] = ImVec4(0.74f, 0.74f, 0.74f, 1.00f);
339 colors[ImGuiCol_Button] = ImVec4(0.23f, 0.23f, 0.23f, 1.00f);
340 colors[ImGuiCol_ButtonHovered] = ImVec4(0.35f, 0.49f, 0.62f, 1.00f);
341 colors[ImGuiCol_ButtonActive] = ImVec4(0.24f, 0.37f, 0.53f, 1.00f);
342 colors[ImGuiCol_Header] = ImVec4(0.47f, 0.19f, 0.19f, 1.00f);
343 colors[ImGuiCol_HeaderHovered] = ImVec4(0.43f, 0.24f, 0.24f, 1.00f);
344 colors[ImGuiCol_HeaderActive] = ImVec4(0.49f, 0.32f, 0.32f, 1.00f);
345 colors[ImGuiCol_Separator] = ImVec4(0.00f, 0.00f, 0.00f, 1.00f);
346 colors[ImGuiCol_SeparatorHovered] = ImVec4(0.00f, 0.00f, 0.00f, 1.00f);
347 colors[ImGuiCol_SeparatorActive] = ImVec4(0.00f, 0.00f, 0.00f, 1.00f);
348 colors[ImGuiCol_ResizeGrip] = ImVec4(0.44f, 0.44f, 0.44f, 1.00f);
349 colors[ImGuiCol_ResizeGripHovered] = ImVec4(0.58f, 0.58f, 0.58f, 1.00f);
350 colors[ImGuiCol_ResizeGripActive] = ImVec4(0.73f, 0.73f, 0.73f, 1.00f);
351 colors[ImGuiCol_Tab] = ImVec4(0.12f, 0.12f, 0.12f, 1.00f);
352 colors[ImGuiCol_TabHovered] = ImVec4(0.24f, 0.25f, 0.26f, 1.00f);
353 colors[ImGuiCol_TabSelected] = ImVec4(0.18f, 0.18f, 0.18f, 1.00f);
354 colors[ImGuiCol_TabDimmed] = ImVec4(0.11f, 0.11f, 0.11f, 1.00f);
355 colors[ImGuiCol_TabDimmedSelected] = ImVec4(0.18f, 0.18f, 0.18f, 1.00f);
356 colors[ImGuiCol_DockingPreview] = ImVec4(0.47f, 0.19f, 0.19f, 1.00f);
357 colors[ImGuiCol_DockingEmptyBg] = ImVec4(0.08f, 0.08f, 0.08f, 1.00f);
358 colors[ImGuiCol_PlotLines] = ImVec4(0.61f, 0.61f, 0.61f, 1.00f);
359 colors[ImGuiCol_PlotLinesHovered] = ImVec4(1.00f, 0.43f, 0.35f, 1.00f);
360 colors[ImGuiCol_PlotHistogram] = ImVec4(0.69f, 0.15f, 0.29f, 1.00f);
361 colors[ImGuiCol_PlotHistogramHovered] = ImVec4(1.00f, 0.60f, 0.00f, 1.00f);
362 colors[ImGuiCol_TableHeaderBg] = ImVec4(0.19f, 0.19f, 0.20f, 1.00f);
363 colors[ImGuiCol_TableBorderStrong] = ImVec4(0.16f, 0.16f, 0.16f, 1.00f);
364 colors[ImGuiCol_TableBorderLight] = ImVec4(0.23f, 0.23f, 0.25f, 1.00f);
365 colors[ImGuiCol_TableRowBg] = ImVec4(0.00f, 0.00f, 0.00f, 0.00f);
366 colors[ImGuiCol_TableRowBgAlt] = ImVec4(1.00f, 1.00f, 1.00f, 0.06f);
367 colors[ImGuiCol_TextSelectedBg] = ImVec4(0.47f, 0.20f, 0.20f, 0.71f);
368 colors[ImGuiCol_DragDropTarget] = ImVec4(0.58f, 0.23f, 0.23f, 0.71f);
369 colors[ImGuiCol_NavCursor] = ImVec4(0.28f, 0.28f, 0.28f, 1.00f);
370 colors[ImGuiCol_NavWindowingHighlight] = ImVec4(1.00f, 1.00f, 1.00f, 0.70f);
371 colors[ImGuiCol_NavWindowingDimBg] = ImVec4(0.80f, 0.80f, 0.80f, 0.20f);
372 colors[ImGuiCol_ModalWindowDimBg] = ImVec4(0.00f, 0.00f, 0.00f, 0.61f);
373
374 if(io.ConfigFlags & ImGuiConfigFlags_ViewportsEnable)
375 {
376 style.WindowRounding = 0.0f;
377 style.Colors[ImGuiCol_WindowBg].w = 1.0f;
378 }
379}
380
382{
383 ImGuiIO& io = ImGui::GetIO();
384
385 ImGui::StyleColorsDark();
386
387 auto& style = ImGui::GetStyle();
388 auto& colors = ImGui::GetStyle().Colors;
389
390 //========================================================
393
394 // Base colors - Deep slate blue-grays for sophisticated appearance
395 auto backgroundDeepest = ImColor(16, 20, 26, 255); // Main window backgrounds
396 auto backgroundDeep = ImColor(22, 27, 34, 255); // Panel backgrounds
397 auto backgroundMedium = ImColor(32, 39, 49, 255); // Input fields, content areas
398 auto backgroundElevated = ImColor(42, 51, 64, 255); // Headers, elevated surfaces
399 auto backgroundPopup = ImColor(26, 32, 41, 255); // Popups, tooltips
400
401 // Primary accent - Sophisticated teal for selections and interactive elements
402 auto primaryAccent = ImColor(78, 205, 196, 255); // Main accent color
403 auto primaryAccentHover = ImColor(88, 215, 206, 255); // Hover state
404 auto primaryAccentActive = ImColor(68, 185, 176, 255); // Active/pressed state
405 auto primaryAccentMuted = ImColor(78, 205, 196, 80); // Subtle backgrounds
406
407 // Secondary accent - Warm amber for warnings and important elements
408 auto secondaryAccent = ImColor(249, 202, 36, 255); // Warning/important elements
409 auto secondaryAccentHover = ImColor(255, 212, 46, 255);
410 auto secondaryAccentMuted = ImColor(249, 202, 36, 60);
411
412 // Status colors
413 auto successColor = ImColor(38, 208, 206, 255); // Success states
414 auto errorColor = ImColor(255, 107, 107, 255); // Error states
415 auto warningColor = ImColor(255, 159, 67, 255); // Warning states
416
417 // Text colors - High contrast for readability
418 auto textPrimary = ImColor(248, 248, 248, 255); // Primary text
419 auto textSecondary = ImColor(200, 200, 200, 255); // Secondary text
420 auto textMuted = ImColor(140, 140, 140, 255); // Muted/disabled text
421 auto textAccent = ImColor(78, 205, 196, 255); // Accent text
422
423 // Border and separator colors
424 auto borderLight = ImColor(52, 61, 74, 255); // Light borders
425 auto borderMedium = ImColor(42, 51, 64, 255); // Medium borders
426 auto borderDark = ImColor(22, 27, 34, 255); // Dark borders/separators
427
428 //========================================================
430
431 colors[ImGuiCol_WindowBg] = backgroundDeep;
432 colors[ImGuiCol_ChildBg] = backgroundMedium;
433 colors[ImGuiCol_PopupBg] = backgroundPopup;
434 colors[ImGuiCol_Border] = borderMedium;
435 colors[ImGuiCol_BorderShadow] = ImVec4(0.0f, 0.0f, 0.0f, 0.0f);
436 colors[ImGuiCol_MenuBarBg] = backgroundDeepest;
437
438 //========================================================
440
441 colors[ImGuiCol_Text] = textPrimary;
442 colors[ImGuiCol_TextDisabled] = textMuted;
443 colors[ImGuiCol_TextSelectedBg] = primaryAccentMuted;
444
445 //========================================================
447
448 // Buttons
449 colors[ImGuiCol_Button] = backgroundElevated;
450 colors[ImGuiCol_ButtonHovered] = primaryAccentMuted;
451 colors[ImGuiCol_ButtonActive] = primaryAccentActive;
452
453 // Headers and collapsible sections
454 colors[ImGuiCol_Header] = backgroundElevated;
455 colors[ImGuiCol_HeaderHovered] = primaryAccentMuted;
456 colors[ImGuiCol_HeaderActive] = primaryAccent;
457
458 // Frame backgrounds (input fields, etc.)
459 colors[ImGuiCol_FrameBg] = backgroundMedium;
460 colors[ImGuiCol_FrameBgHovered] = backgroundElevated;
461 colors[ImGuiCol_FrameBgActive] = primaryAccentMuted;
462
463 //========================================================
465
466 colors[ImGuiCol_TitleBg] = backgroundDeepest;
467 colors[ImGuiCol_TitleBgActive] = backgroundDeep;
468 colors[ImGuiCol_TitleBgCollapsed] = backgroundDeepest;
469
470 colors[ImGuiCol_Tab] = backgroundDeep;
471 colors[ImGuiCol_TabHovered] = primaryAccentMuted;
472 colors[ImGuiCol_TabSelected] = primaryAccent;
473 colors[ImGuiCol_TabDimmed] = backgroundDeepest;
474 colors[ImGuiCol_TabDimmedSelected] = backgroundElevated;
475
476 //========================================================
478
479 colors[ImGuiCol_ScrollbarBg] = backgroundDeep;
480 colors[ImGuiCol_ScrollbarGrab] = backgroundElevated;
481 colors[ImGuiCol_ScrollbarGrabHovered] = primaryAccentMuted;
482 colors[ImGuiCol_ScrollbarGrabActive] = primaryAccent;
483
484 //========================================================
486
487 colors[ImGuiCol_SliderGrab] = primaryAccent;
488 colors[ImGuiCol_SliderGrabActive] = primaryAccentHover;
489
490 //========================================================
492
493 colors[ImGuiCol_CheckMark] = primaryAccent;
494
495 //========================================================
497
498 colors[ImGuiCol_Separator] = borderDark;
499 colors[ImGuiCol_SeparatorHovered] = primaryAccentMuted;
500 colors[ImGuiCol_SeparatorActive] = primaryAccent;
501
502 //========================================================
504
505 colors[ImGuiCol_ResizeGrip] = ImVec4(0.0f, 0.0f, 0.0f, 0.0f); // Invisible by default
506 colors[ImGuiCol_ResizeGripHovered] = primaryAccentMuted;
507 colors[ImGuiCol_ResizeGripActive] = primaryAccent;
508
509 //========================================================
511
512 colors[ImGuiCol_TableHeaderBg] = backgroundElevated;
513 colors[ImGuiCol_TableBorderStrong] = borderMedium;
514 colors[ImGuiCol_TableBorderLight] = borderLight;
515 colors[ImGuiCol_TableRowBg] = ImVec4(0.0f, 0.0f, 0.0f, 0.0f);
516 colors[ImGuiCol_TableRowBgAlt] = ImVec4(1.0f, 1.0f, 1.0f, 0.03f);
517
518 //========================================================
520
521 colors[ImGuiCol_DockingPreview] = primaryAccentMuted;
522 colors[ImGuiCol_DockingEmptyBg] = backgroundDeepest;
523
524 colors[ImGuiCol_PlotLines] = primaryAccent;
525 colors[ImGuiCol_PlotLinesHovered] = primaryAccentHover;
526 colors[ImGuiCol_PlotHistogram] = secondaryAccent;
527 colors[ImGuiCol_PlotHistogramHovered] = secondaryAccentHover;
528
529 //========================================================
531
532 colors[ImGuiCol_ModalWindowDimBg] = ImVec4(0.0f, 0.0f, 0.0f, 0.6f);
533
534 //========================================================
536
537 style.WindowRounding = 6.0f;
538 style.ChildRounding = 4.0f;
539 style.FrameRounding = 4.0f;
540 style.PopupRounding = 6.0f;
541 style.ScrollbarRounding = 8.0f;
542 style.GrabRounding = 4.0f;
543 style.TabRounding = 4.0f;
544
545 style.WindowBorderSize = 1.0f;
546 style.ChildBorderSize = 1.0f;
547 style.PopupBorderSize = 1.0f;
548 style.FrameBorderSize = 1.0f;
549
550 style.WindowPadding = ImVec2(12.0f, 12.0f);
551 style.FramePadding = ImVec2(10.0f, 6.0f);
552 style.CellPadding = ImVec2(8.0f, 4.0f);
553 style.ItemSpacing = ImVec2(8.0f, 6.0f);
554 style.ItemInnerSpacing = ImVec2(6.0f, 4.0f);
555 style.IndentSpacing = 20.0f;
556 style.ScrollbarSize = 16.0f;
557 style.GrabMinSize = 12.0f;
558
559 // Disable window menu button for cleaner appearance
560 style.WindowMenuButtonPosition = ImGuiDir_None;
561
562 // Handle viewport-specific settings
563 if(io.ConfigFlags & ImGuiConfigFlags_ViewportsEnable)
564 {
565 style.WindowRounding = 0.0f;
566 style.Colors[ImGuiCol_WindowBg].w = 1.0f;
567 }
568}
569
571{
572 ImGuiIO& io = ImGui::GetIO();
573 ImGui::StyleColorsDark();
574
575 auto& style = ImGui::GetStyle();
576 auto& colors = ImGui::GetStyle().Colors;
577
578 // Unity-inspired color palette - sophisticated grays with subtle blue accents
579 auto backgroundDarkest = ImColor(32, 32, 32, 255); // Main backgrounds
580 auto backgroundDark = ImColor(42, 42, 42, 255); // Panel backgrounds
581 auto backgroundMedium = ImColor(48, 48, 48, 255); // Input fields
582 auto backgroundLight = ImColor(56, 56, 56, 255); // Headers, elevated
583 auto backgroundPopup = ImColor(38, 38, 38, 255); // Popups
584
585 // Unity's signature blue accent
586 auto primaryAccent = ImColor(58, 121, 187, 255); // Unity blue
587 auto primaryAccentHover = ImColor(68, 131, 197, 255);
588 auto primaryAccentActive = ImColor(48, 111, 177, 255);
589 auto primaryAccentMuted = ImColor(58, 121, 187, 80);
590
591 // Text colors - Unity style
592 auto textPrimary = ImColor(210, 210, 210, 255);
593 auto textSecondary = ImColor(180, 180, 180, 255);
594 auto textMuted = ImColor(128, 128, 128, 255);
595
596 // Borders
597 auto borderColor = ImColor(28, 28, 28, 255);
598 auto borderLight = ImColor(68, 68, 68, 255);
599
600 // Apply colors
601 colors[ImGuiCol_WindowBg] = backgroundDark;
602 colors[ImGuiCol_ChildBg] = backgroundMedium;
603 colors[ImGuiCol_PopupBg] = backgroundPopup;
604 colors[ImGuiCol_Border] = borderColor;
605 colors[ImGuiCol_BorderShadow] = ImVec4(0.0f, 0.0f, 0.0f, 0.0f);
606 colors[ImGuiCol_MenuBarBg] = backgroundDarkest;
607
608 colors[ImGuiCol_Text] = textPrimary;
609 colors[ImGuiCol_TextDisabled] = textMuted;
610 colors[ImGuiCol_TextSelectedBg] = primaryAccentMuted;
611
612 colors[ImGuiCol_Button] = backgroundLight;
613 colors[ImGuiCol_ButtonHovered] = primaryAccentMuted;
614 colors[ImGuiCol_ButtonActive] = primaryAccentActive;
615
616 colors[ImGuiCol_Header] = backgroundLight;
617 colors[ImGuiCol_HeaderHovered] = primaryAccentMuted;
618 colors[ImGuiCol_HeaderActive] = primaryAccent;
619
620 colors[ImGuiCol_FrameBg] = backgroundMedium;
621 colors[ImGuiCol_FrameBgHovered] = backgroundLight;
622 colors[ImGuiCol_FrameBgActive] = primaryAccentMuted;
623
624 colors[ImGuiCol_TitleBg] = backgroundDarkest;
625 colors[ImGuiCol_TitleBgActive] = backgroundDark;
626 colors[ImGuiCol_TitleBgCollapsed] = backgroundDarkest;
627
628 colors[ImGuiCol_Tab] = backgroundDark;
629 colors[ImGuiCol_TabHovered] = primaryAccentMuted;
630 colors[ImGuiCol_TabSelected] = primaryAccent;
631 colors[ImGuiCol_TabDimmed] = backgroundDarkest;
632 colors[ImGuiCol_TabDimmedSelected] = backgroundLight;
633
634 colors[ImGuiCol_ScrollbarBg] = backgroundDark;
635 colors[ImGuiCol_ScrollbarGrab] = backgroundLight;
636 colors[ImGuiCol_ScrollbarGrabHovered] = primaryAccentMuted;
637 colors[ImGuiCol_ScrollbarGrabActive] = primaryAccent;
638
639 colors[ImGuiCol_CheckMark] = primaryAccent;
640 colors[ImGuiCol_SliderGrab] = primaryAccent;
641 colors[ImGuiCol_SliderGrabActive] = primaryAccentHover;
642
643 colors[ImGuiCol_Separator] = borderColor;
644 colors[ImGuiCol_SeparatorHovered] = borderLight;
645 colors[ImGuiCol_SeparatorActive] = primaryAccent;
646
647 colors[ImGuiCol_ResizeGrip] = ImVec4(0.0f, 0.0f, 0.0f, 0.0f);
648 colors[ImGuiCol_ResizeGripHovered] = primaryAccentMuted;
649 colors[ImGuiCol_ResizeGripActive] = primaryAccent;
650
651 colors[ImGuiCol_TableHeaderBg] = backgroundLight;
652 colors[ImGuiCol_TableBorderStrong] = borderColor;
653 colors[ImGuiCol_TableBorderLight] = borderLight;
654 colors[ImGuiCol_TableRowBg] = ImVec4(0.0f, 0.0f, 0.0f, 0.0f);
655 colors[ImGuiCol_TableRowBgAlt] = ImVec4(1.0f, 1.0f, 1.0f, 0.02f);
656
657 colors[ImGuiCol_DockingPreview] = primaryAccentMuted;
658 colors[ImGuiCol_DockingEmptyBg] = backgroundDarkest;
659
660 colors[ImGuiCol_PlotLines] = primaryAccent;
661 colors[ImGuiCol_PlotLinesHovered] = primaryAccentHover;
662 colors[ImGuiCol_PlotHistogram] = primaryAccent;
663 colors[ImGuiCol_PlotHistogramHovered] = primaryAccentHover;
664
665 colors[ImGuiCol_ModalWindowDimBg] = ImVec4(0.0f, 0.0f, 0.0f, 0.6f);
666
667 // Style settings - Unity-like
668 style.WindowRounding = 4.0f;
669 style.ChildRounding = 2.0f;
670 style.FrameRounding = 2.0f;
671 style.PopupRounding = 4.0f;
672 style.ScrollbarRounding = 6.0f;
673 style.GrabRounding = 2.0f;
674 style.TabRounding = 2.0f;
675
676 style.WindowBorderSize = 1.0f;
677 style.ChildBorderSize = 1.0f;
678 style.PopupBorderSize = 1.0f;
679 style.FrameBorderSize = 1.0f;
680
681 style.WindowPadding = ImVec2(8.0f, 8.0f);
682 style.FramePadding = ImVec2(8.0f, 4.0f);
683 style.CellPadding = ImVec2(6.0f, 3.0f);
684 style.ItemSpacing = ImVec2(6.0f, 4.0f);
685 style.ItemInnerSpacing = ImVec2(4.0f, 3.0f);
686 style.IndentSpacing = 16.0f;
687
688 style.WindowMenuButtonPosition = ImGuiDir_None;
689
690 if(io.ConfigFlags & ImGuiConfigFlags_ViewportsEnable)
691 {
692 style.WindowRounding = 0.0f;
693 style.Colors[ImGuiCol_WindowBg].w = 1.0f;
694 }
695}
696
698{
699 ImGuiIO& io = ImGui::GetIO();
700 ImGui::StyleColorsDark();
701
702 auto& style = ImGui::GetStyle();
703 auto& colors = ImGui::GetStyle().Colors;
704
705 // Modern purple theme - deep purples with violet accents
706 auto backgroundDarkest = ImColor(20, 15, 25, 255); // Main backgrounds
707 auto backgroundDark = ImColor(28, 22, 35, 255); // Panel backgrounds
708 auto backgroundMedium = ImColor(38, 30, 48, 255); // Input fields
709 auto backgroundLight = ImColor(48, 38, 58, 255); // Headers, elevated
710 auto backgroundPopup = ImColor(25, 20, 30, 255); // Popups
711
712 // Purple/violet accent scheme
713 auto primaryAccent = ImColor(147, 112, 219, 255); // Medium slate blue
714 auto primaryAccentHover = ImColor(157, 122, 229, 255);
715 auto primaryAccentActive = ImColor(137, 102, 209, 255);
716 auto primaryAccentMuted = ImColor(147, 112, 219, 90);
717
718 auto secondaryAccent = ImColor(255, 182, 193, 255); // Light pink
719 auto secondaryAccentMuted = ImColor(255, 182, 193, 60);
720
721 // Text colors
722 auto textPrimary = ImColor(245, 240, 250, 255);
723 auto textSecondary = ImColor(200, 190, 210, 255);
724 auto textMuted = ImColor(140, 130, 150, 255);
725
726 // Borders
727 auto borderColor = ImColor(15, 10, 20, 255);
728 auto borderLight = ImColor(58, 48, 68, 255);
729
730 // Apply colors
731 colors[ImGuiCol_WindowBg] = backgroundDark;
732 colors[ImGuiCol_ChildBg] = backgroundMedium;
733 colors[ImGuiCol_PopupBg] = backgroundPopup;
734 colors[ImGuiCol_Border] = borderColor;
735 colors[ImGuiCol_BorderShadow] = ImVec4(0.0f, 0.0f, 0.0f, 0.0f);
736 colors[ImGuiCol_MenuBarBg] = backgroundDarkest;
737
738 colors[ImGuiCol_Text] = textPrimary;
739 colors[ImGuiCol_TextDisabled] = textMuted;
740 colors[ImGuiCol_TextSelectedBg] = primaryAccentMuted;
741
742 colors[ImGuiCol_Button] = backgroundLight;
743 colors[ImGuiCol_ButtonHovered] = primaryAccentMuted;
744 colors[ImGuiCol_ButtonActive] = primaryAccentActive;
745
746 colors[ImGuiCol_Header] = backgroundLight;
747 colors[ImGuiCol_HeaderHovered] = primaryAccentMuted;
748 colors[ImGuiCol_HeaderActive] = primaryAccent;
749
750 colors[ImGuiCol_FrameBg] = backgroundMedium;
751 colors[ImGuiCol_FrameBgHovered] = backgroundLight;
752 colors[ImGuiCol_FrameBgActive] = primaryAccentMuted;
753
754 colors[ImGuiCol_TitleBg] = backgroundDarkest;
755 colors[ImGuiCol_TitleBgActive] = backgroundDark;
756 colors[ImGuiCol_TitleBgCollapsed] = backgroundDarkest;
757
758 colors[ImGuiCol_Tab] = backgroundDark;
759 colors[ImGuiCol_TabHovered] = primaryAccentMuted;
760 colors[ImGuiCol_TabSelected] = primaryAccent;
761 colors[ImGuiCol_TabDimmed] = backgroundDarkest;
762 colors[ImGuiCol_TabDimmedSelected] = backgroundLight;
763
764 colors[ImGuiCol_ScrollbarBg] = backgroundDark;
765 colors[ImGuiCol_ScrollbarGrab] = backgroundLight;
766 colors[ImGuiCol_ScrollbarGrabHovered] = primaryAccentMuted;
767 colors[ImGuiCol_ScrollbarGrabActive] = primaryAccent;
768
769 colors[ImGuiCol_CheckMark] = primaryAccent;
770 colors[ImGuiCol_SliderGrab] = primaryAccent;
771 colors[ImGuiCol_SliderGrabActive] = primaryAccentHover;
772
773 colors[ImGuiCol_Separator] = borderColor;
774 colors[ImGuiCol_SeparatorHovered] = borderLight;
775 colors[ImGuiCol_SeparatorActive] = primaryAccent;
776
777 colors[ImGuiCol_ResizeGrip] = ImVec4(0.0f, 0.0f, 0.0f, 0.0f);
778 colors[ImGuiCol_ResizeGripHovered] = primaryAccentMuted;
779 colors[ImGuiCol_ResizeGripActive] = primaryAccent;
780
781 colors[ImGuiCol_TableHeaderBg] = backgroundLight;
782 colors[ImGuiCol_TableBorderStrong] = borderColor;
783 colors[ImGuiCol_TableBorderLight] = borderLight;
784 colors[ImGuiCol_TableRowBg] = ImVec4(0.0f, 0.0f, 0.0f, 0.0f);
785 colors[ImGuiCol_TableRowBgAlt] = ImVec4(1.0f, 1.0f, 1.0f, 0.03f);
786
787 colors[ImGuiCol_DockingPreview] = primaryAccentMuted;
788 colors[ImGuiCol_DockingEmptyBg] = backgroundDarkest;
789
790 colors[ImGuiCol_PlotLines] = primaryAccent;
791 colors[ImGuiCol_PlotLinesHovered] = primaryAccentHover;
792 colors[ImGuiCol_PlotHistogram] = secondaryAccent;
793 colors[ImGuiCol_PlotHistogramHovered] = secondaryAccentMuted;
794
795 colors[ImGuiCol_ModalWindowDimBg] = ImVec4(0.0f, 0.0f, 0.0f, 0.6f);
796
797 // Modern rounded style
798 style.WindowRounding = 8.0f;
799 style.ChildRounding = 6.0f;
800 style.FrameRounding = 6.0f;
801 style.PopupRounding = 8.0f;
802 style.ScrollbarRounding = 10.0f;
803 style.GrabRounding = 6.0f;
804 style.TabRounding = 6.0f;
805
806 style.WindowBorderSize = 1.0f;
807 style.ChildBorderSize = 1.0f;
808 style.PopupBorderSize = 1.0f;
809 style.FrameBorderSize = 1.0f;
810
811 style.WindowPadding = ImVec2(12.0f, 12.0f);
812 style.FramePadding = ImVec2(10.0f, 6.0f);
813 style.CellPadding = ImVec2(8.0f, 4.0f);
814 style.ItemSpacing = ImVec2(8.0f, 6.0f);
815 style.ItemInnerSpacing = ImVec2(6.0f, 4.0f);
816 style.IndentSpacing = 18.0f;
817
818 style.WindowMenuButtonPosition = ImGuiDir_None;
819
820 if(io.ConfigFlags & ImGuiConfigFlags_ViewportsEnable)
821 {
822 style.WindowRounding = 0.0f;
823 style.Colors[ImGuiCol_WindowBg].w = 1.0f;
824 }
825}
826
828{
829 ImGuiIO& io = ImGui::GetIO();
830 ImGui::StyleColorsDark();
831
832 auto& style = ImGui::GetStyle();
833 auto& colors = ImGui::GetStyle().Colors;
834
835 // Warm amber theme - deep browns with golden accents
836 auto backgroundDarkest = ImColor(25, 20, 15, 255); // Main backgrounds
837 auto backgroundDark = ImColor(35, 28, 20, 255); // Panel backgrounds
838 auto backgroundMedium = ImColor(45, 35, 25, 255); // Input fields
839 auto backgroundLight = ImColor(55, 43, 30, 255); // Headers, elevated
840 auto backgroundPopup = ImColor(30, 24, 18, 255); // Popups
841
842 // Warm amber/orange accent scheme
843 auto primaryAccent = ImColor(255, 165, 0, 255); // Golden orange
844 auto primaryAccentHover = ImColor(255, 180, 30, 255);
845 auto primaryAccentActive = ImColor(235, 145, 0, 255);
846 auto primaryAccentMuted = ImColor(255, 165, 0, 90);
847
848 auto secondaryAccent = ImColor(255, 215, 0, 255); // Gold
849 auto secondaryAccentMuted = ImColor(255, 215, 0, 60);
850
851 // Text colors
852 auto textPrimary = ImColor(250, 245, 235, 255);
853 auto textSecondary = ImColor(210, 200, 185, 255);
854 auto textMuted = ImColor(150, 140, 125, 255);
855
856 // Borders
857 auto borderColor = ImColor(20, 15, 10, 255);
858 auto borderLight = ImColor(65, 53, 38, 255);
859
860 // Apply colors
861 colors[ImGuiCol_WindowBg] = backgroundDark;
862 colors[ImGuiCol_ChildBg] = backgroundMedium;
863 colors[ImGuiCol_PopupBg] = backgroundPopup;
864 colors[ImGuiCol_Border] = borderColor;
865 colors[ImGuiCol_BorderShadow] = ImVec4(0.0f, 0.0f, 0.0f, 0.0f);
866 colors[ImGuiCol_MenuBarBg] = backgroundDarkest;
867
868 colors[ImGuiCol_Text] = textPrimary;
869 colors[ImGuiCol_TextDisabled] = textMuted;
870 colors[ImGuiCol_TextSelectedBg] = primaryAccentMuted;
871
872 colors[ImGuiCol_Button] = backgroundLight;
873 colors[ImGuiCol_ButtonHovered] = primaryAccentMuted;
874 colors[ImGuiCol_ButtonActive] = primaryAccentActive;
875
876 colors[ImGuiCol_Header] = backgroundLight;
877 colors[ImGuiCol_HeaderHovered] = primaryAccentMuted;
878 colors[ImGuiCol_HeaderActive] = primaryAccent;
879
880 colors[ImGuiCol_FrameBg] = backgroundMedium;
881 colors[ImGuiCol_FrameBgHovered] = backgroundLight;
882 colors[ImGuiCol_FrameBgActive] = primaryAccentMuted;
883
884 colors[ImGuiCol_TitleBg] = backgroundDarkest;
885 colors[ImGuiCol_TitleBgActive] = backgroundDark;
886 colors[ImGuiCol_TitleBgCollapsed] = backgroundDarkest;
887
888 colors[ImGuiCol_Tab] = backgroundDark;
889 colors[ImGuiCol_TabHovered] = primaryAccentMuted;
890 colors[ImGuiCol_TabSelected] = primaryAccent;
891 colors[ImGuiCol_TabDimmed] = backgroundDarkest;
892 colors[ImGuiCol_TabDimmedSelected] = backgroundLight;
893
894 colors[ImGuiCol_ScrollbarBg] = backgroundDark;
895 colors[ImGuiCol_ScrollbarGrab] = backgroundLight;
896 colors[ImGuiCol_ScrollbarGrabHovered] = primaryAccentMuted;
897 colors[ImGuiCol_ScrollbarGrabActive] = primaryAccent;
898
899 colors[ImGuiCol_CheckMark] = primaryAccent;
900 colors[ImGuiCol_SliderGrab] = primaryAccent;
901 colors[ImGuiCol_SliderGrabActive] = primaryAccentHover;
902
903 colors[ImGuiCol_Separator] = borderColor;
904 colors[ImGuiCol_SeparatorHovered] = borderLight;
905 colors[ImGuiCol_SeparatorActive] = primaryAccent;
906
907 colors[ImGuiCol_ResizeGrip] = ImVec4(0.0f, 0.0f, 0.0f, 0.0f);
908 colors[ImGuiCol_ResizeGripHovered] = primaryAccentMuted;
909 colors[ImGuiCol_ResizeGripActive] = primaryAccent;
910
911 colors[ImGuiCol_TableHeaderBg] = backgroundLight;
912 colors[ImGuiCol_TableBorderStrong] = borderColor;
913 colors[ImGuiCol_TableBorderLight] = borderLight;
914 colors[ImGuiCol_TableRowBg] = ImVec4(0.0f, 0.0f, 0.0f, 0.0f);
915 colors[ImGuiCol_TableRowBgAlt] = ImVec4(1.0f, 1.0f, 1.0f, 0.03f);
916
917 colors[ImGuiCol_DockingPreview] = primaryAccentMuted;
918 colors[ImGuiCol_DockingEmptyBg] = backgroundDarkest;
919
920 colors[ImGuiCol_PlotLines] = primaryAccent;
921 colors[ImGuiCol_PlotLinesHovered] = primaryAccentHover;
922 colors[ImGuiCol_PlotHistogram] = secondaryAccent;
923 colors[ImGuiCol_PlotHistogramHovered] = secondaryAccentMuted;
924
925 colors[ImGuiCol_ModalWindowDimBg] = ImVec4(0.0f, 0.0f, 0.0f, 0.6f);
926
927 // Slightly rounded, warm style
928 style.WindowRounding = 4.0f;
929 style.ChildRounding = 3.0f;
930 style.FrameRounding = 3.0f;
931 style.PopupRounding = 4.0f;
932 style.ScrollbarRounding = 6.0f;
933 style.GrabRounding = 3.0f;
934 style.TabRounding = 3.0f;
935
936 style.WindowBorderSize = 1.0f;
937 style.ChildBorderSize = 1.0f;
938 style.PopupBorderSize = 1.0f;
939 style.FrameBorderSize = 1.0f;
940
941 style.WindowPadding = ImVec2(10.0f, 10.0f);
942 style.FramePadding = ImVec2(9.0f, 5.0f);
943 style.CellPadding = ImVec2(7.0f, 4.0f);
944 style.ItemSpacing = ImVec2(7.0f, 5.0f);
945 style.ItemInnerSpacing = ImVec2(5.0f, 4.0f);
946 style.IndentSpacing = 17.0f;
947
948 style.WindowMenuButtonPosition = ImGuiDir_None;
949
950 if(io.ConfigFlags & ImGuiConfigFlags_ViewportsEnable)
951 {
952 style.WindowRounding = 0.0f;
953 style.Colors[ImGuiCol_WindowBg].w = 1.0f;
954 }
955}
956
958{
959 ImGuiIO& io = ImGui::GetIO();
960 ImGui::StyleColorsDark();
961
962 auto& style = ImGui::GetStyle();
963 auto& colors = ImGui::GetStyle().Colors;
964
965 // Cool blue theme - deep blues with cyan accents
966 auto backgroundDarkest = ImColor(15, 20, 30, 255); // Main backgrounds
967 auto backgroundDark = ImColor(20, 28, 40, 255); // Panel backgrounds
968 auto backgroundMedium = ImColor(25, 35, 50, 255); // Input fields
969 auto backgroundLight = ImColor(30, 43, 60, 255); // Headers, elevated
970 auto backgroundPopup = ImColor(18, 25, 35, 255); // Popups
971
972 // Cool blue/cyan accent scheme
973 auto primaryAccent = ImColor(0, 174, 239, 255); // Bright cyan
974 auto primaryAccentHover = ImColor(30, 184, 249, 255);
975 auto primaryAccentActive = ImColor(0, 154, 219, 255);
976 auto primaryAccentMuted = ImColor(0, 174, 239, 90);
977
978 auto secondaryAccent = ImColor(64, 224, 255, 255); // Sky blue
979 auto secondaryAccentMuted = ImColor(64, 224, 255, 60);
980
981 // Text colors
982 auto textPrimary = ImColor(235, 245, 255, 255);
983 auto textSecondary = ImColor(185, 200, 220, 255);
984 auto textMuted = ImColor(125, 140, 160, 255);
985
986 // Borders
987 auto borderColor = ImColor(10, 15, 25, 255);
988 auto borderLight = ImColor(40, 53, 70, 255);
989
990 // Apply colors
991 colors[ImGuiCol_WindowBg] = backgroundDark;
992 colors[ImGuiCol_ChildBg] = backgroundMedium;
993 colors[ImGuiCol_PopupBg] = backgroundPopup;
994 colors[ImGuiCol_Border] = borderColor;
995 colors[ImGuiCol_BorderShadow] = ImVec4(0.0f, 0.0f, 0.0f, 0.0f);
996 colors[ImGuiCol_MenuBarBg] = backgroundDarkest;
997
998 colors[ImGuiCol_Text] = textPrimary;
999 colors[ImGuiCol_TextDisabled] = textMuted;
1000 colors[ImGuiCol_TextSelectedBg] = primaryAccentMuted;
1001
1002 colors[ImGuiCol_Button] = backgroundLight;
1003 colors[ImGuiCol_ButtonHovered] = primaryAccentMuted;
1004 colors[ImGuiCol_ButtonActive] = primaryAccentActive;
1005
1006 colors[ImGuiCol_Header] = backgroundLight;
1007 colors[ImGuiCol_HeaderHovered] = primaryAccentMuted;
1008 colors[ImGuiCol_HeaderActive] = primaryAccent;
1009
1010 colors[ImGuiCol_FrameBg] = backgroundMedium;
1011 colors[ImGuiCol_FrameBgHovered] = backgroundLight;
1012 colors[ImGuiCol_FrameBgActive] = primaryAccentMuted;
1013
1014 colors[ImGuiCol_TitleBg] = backgroundDarkest;
1015 colors[ImGuiCol_TitleBgActive] = backgroundDark;
1016 colors[ImGuiCol_TitleBgCollapsed] = backgroundDarkest;
1017
1018 colors[ImGuiCol_Tab] = backgroundDark;
1019 colors[ImGuiCol_TabHovered] = primaryAccentMuted;
1020 colors[ImGuiCol_TabSelected] = primaryAccent;
1021 colors[ImGuiCol_TabDimmed] = backgroundDarkest;
1022 colors[ImGuiCol_TabDimmedSelected] = backgroundLight;
1023
1024 colors[ImGuiCol_ScrollbarBg] = backgroundDark;
1025 colors[ImGuiCol_ScrollbarGrab] = backgroundLight;
1026 colors[ImGuiCol_ScrollbarGrabHovered] = primaryAccentMuted;
1027 colors[ImGuiCol_ScrollbarGrabActive] = primaryAccent;
1028
1029 colors[ImGuiCol_CheckMark] = primaryAccent;
1030 colors[ImGuiCol_SliderGrab] = primaryAccent;
1031 colors[ImGuiCol_SliderGrabActive] = primaryAccentHover;
1032
1033 colors[ImGuiCol_Separator] = borderColor;
1034 colors[ImGuiCol_SeparatorHovered] = borderLight;
1035 colors[ImGuiCol_SeparatorActive] = primaryAccent;
1036
1037 colors[ImGuiCol_ResizeGrip] = ImVec4(0.0f, 0.0f, 0.0f, 0.0f);
1038 colors[ImGuiCol_ResizeGripHovered] = primaryAccentMuted;
1039 colors[ImGuiCol_ResizeGripActive] = primaryAccent;
1040
1041 colors[ImGuiCol_TableHeaderBg] = backgroundLight;
1042 colors[ImGuiCol_TableBorderStrong] = borderColor;
1043 colors[ImGuiCol_TableBorderLight] = borderLight;
1044 colors[ImGuiCol_TableRowBg] = ImVec4(0.0f, 0.0f, 0.0f, 0.0f);
1045 colors[ImGuiCol_TableRowBgAlt] = ImVec4(1.0f, 1.0f, 1.0f, 0.03f);
1046
1047 colors[ImGuiCol_DockingPreview] = primaryAccentMuted;
1048 colors[ImGuiCol_DockingEmptyBg] = backgroundDarkest;
1049
1050 colors[ImGuiCol_PlotLines] = primaryAccent;
1051 colors[ImGuiCol_PlotLinesHovered] = primaryAccentHover;
1052 colors[ImGuiCol_PlotHistogram] = secondaryAccent;
1053 colors[ImGuiCol_PlotHistogramHovered] = secondaryAccentMuted;
1054
1055 colors[ImGuiCol_ModalWindowDimBg] = ImVec4(0.0f, 0.0f, 0.0f, 0.6f);
1056
1057 // Clean, modern style
1058 style.WindowRounding = 6.0f;
1059 style.ChildRounding = 4.0f;
1060 style.FrameRounding = 4.0f;
1061 style.PopupRounding = 6.0f;
1062 style.ScrollbarRounding = 8.0f;
1063 style.GrabRounding = 4.0f;
1064 style.TabRounding = 4.0f;
1065
1066 style.WindowBorderSize = 1.0f;
1067 style.ChildBorderSize = 1.0f;
1068 style.PopupBorderSize = 1.0f;
1069 style.FrameBorderSize = 1.0f;
1070
1071 style.WindowPadding = ImVec2(11.0f, 11.0f);
1072 style.FramePadding = ImVec2(9.0f, 5.0f);
1073 style.CellPadding = ImVec2(7.0f, 4.0f);
1074 style.ItemSpacing = ImVec2(7.0f, 5.0f);
1075 style.ItemInnerSpacing = ImVec2(5.0f, 4.0f);
1076 style.IndentSpacing = 18.0f;
1077
1078 style.WindowMenuButtonPosition = ImGuiDir_None;
1079
1080 if(io.ConfigFlags & ImGuiConfigFlags_ViewportsEnable)
1081 {
1082 style.WindowRounding = 0.0f;
1083 style.Colors[ImGuiCol_WindowBg].w = 1.0f;
1084 }
1085}
1086
1088{
1089 ImGuiIO& io = ImGui::GetIO();
1090 ImGui::StyleColorsDark();
1091
1092 auto& style = ImGui::GetStyle();
1093 auto& colors = ImGui::GetStyle().Colors;
1094
1095 // Minimalist green theme - very dark grays with subtle green accents
1096 auto backgroundDarkest = ImColor(18, 20, 18, 255); // Main backgrounds
1097 auto backgroundDark = ImColor(26, 28, 26, 255); // Panel backgrounds
1098 auto backgroundMedium = ImColor(34, 36, 34, 255); // Input fields
1099 auto backgroundLight = ImColor(42, 44, 42, 255); // Headers, elevated
1100 auto backgroundPopup = ImColor(22, 24, 22, 255); // Popups
1101
1102 // Subtle green accent scheme
1103 auto primaryAccent = ImColor(76, 175, 80, 255); // Material green
1104 auto primaryAccentHover = ImColor(86, 185, 90, 255);
1105 auto primaryAccentActive = ImColor(66, 165, 70, 255);
1106 auto primaryAccentMuted = ImColor(76, 175, 80, 75);
1107
1108 auto secondaryAccent = ImColor(129, 199, 132, 255); // Light green
1109 auto secondaryAccentMuted = ImColor(129, 199, 132, 50);
1110
1111 // Text colors - very high contrast
1112 auto textPrimary = ImColor(248, 248, 248, 255);
1113 auto textSecondary = ImColor(200, 200, 200, 255);
1114 auto textMuted = ImColor(130, 130, 130, 255);
1115
1116 // Borders - very subtle
1117 auto borderColor = ImColor(16, 18, 16, 255);
1118 auto borderLight = ImColor(52, 54, 52, 255);
1119
1120 // Apply colors
1121 colors[ImGuiCol_WindowBg] = backgroundDark;
1122 colors[ImGuiCol_ChildBg] = backgroundMedium;
1123 colors[ImGuiCol_PopupBg] = backgroundPopup;
1124 colors[ImGuiCol_Border] = borderColor;
1125 colors[ImGuiCol_BorderShadow] = ImVec4(0.0f, 0.0f, 0.0f, 0.0f);
1126 colors[ImGuiCol_MenuBarBg] = backgroundDarkest;
1127
1128 colors[ImGuiCol_Text] = textPrimary;
1129 colors[ImGuiCol_TextDisabled] = textMuted;
1130 colors[ImGuiCol_TextSelectedBg] = primaryAccentMuted;
1131
1132 colors[ImGuiCol_Button] = backgroundLight;
1133 colors[ImGuiCol_ButtonHovered] = primaryAccentMuted;
1134 colors[ImGuiCol_ButtonActive] = primaryAccentActive;
1135
1136 colors[ImGuiCol_Header] = backgroundLight;
1137 colors[ImGuiCol_HeaderHovered] = primaryAccentMuted;
1138 colors[ImGuiCol_HeaderActive] = primaryAccent;
1139
1140 colors[ImGuiCol_FrameBg] = backgroundMedium;
1141 colors[ImGuiCol_FrameBgHovered] = backgroundLight;
1142 colors[ImGuiCol_FrameBgActive] = primaryAccentMuted;
1143
1144 colors[ImGuiCol_TitleBg] = backgroundDarkest;
1145 colors[ImGuiCol_TitleBgActive] = backgroundDark;
1146 colors[ImGuiCol_TitleBgCollapsed] = backgroundDarkest;
1147
1148 colors[ImGuiCol_Tab] = backgroundDark;
1149 colors[ImGuiCol_TabHovered] = primaryAccentMuted;
1150 colors[ImGuiCol_TabSelected] = primaryAccent;
1151 colors[ImGuiCol_TabDimmed] = backgroundDarkest;
1152 colors[ImGuiCol_TabDimmedSelected] = backgroundLight;
1153
1154 colors[ImGuiCol_ScrollbarBg] = backgroundDark;
1155 colors[ImGuiCol_ScrollbarGrab] = backgroundLight;
1156 colors[ImGuiCol_ScrollbarGrabHovered] = primaryAccentMuted;
1157 colors[ImGuiCol_ScrollbarGrabActive] = primaryAccent;
1158
1159 colors[ImGuiCol_CheckMark] = primaryAccent;
1160 colors[ImGuiCol_SliderGrab] = primaryAccent;
1161 colors[ImGuiCol_SliderGrabActive] = primaryAccentHover;
1162
1163 colors[ImGuiCol_Separator] = borderColor;
1164 colors[ImGuiCol_SeparatorHovered] = borderLight;
1165 colors[ImGuiCol_SeparatorActive] = primaryAccent;
1166
1167 colors[ImGuiCol_ResizeGrip] = ImVec4(0.0f, 0.0f, 0.0f, 0.0f);
1168 colors[ImGuiCol_ResizeGripHovered] = primaryAccentMuted;
1169 colors[ImGuiCol_ResizeGripActive] = primaryAccent;
1170
1171 colors[ImGuiCol_TableHeaderBg] = backgroundLight;
1172 colors[ImGuiCol_TableBorderStrong] = borderColor;
1173 colors[ImGuiCol_TableBorderLight] = borderLight;
1174 colors[ImGuiCol_TableRowBg] = ImVec4(0.0f, 0.0f, 0.0f, 0.0f);
1175 colors[ImGuiCol_TableRowBgAlt] = ImVec4(1.0f, 1.0f, 1.0f, 0.02f);
1176
1177 colors[ImGuiCol_DockingPreview] = primaryAccentMuted;
1178 colors[ImGuiCol_DockingEmptyBg] = backgroundDarkest;
1179
1180 colors[ImGuiCol_PlotLines] = primaryAccent;
1181 colors[ImGuiCol_PlotLinesHovered] = primaryAccentHover;
1182 colors[ImGuiCol_PlotHistogram] = secondaryAccent;
1183 colors[ImGuiCol_PlotHistogramHovered] = secondaryAccentMuted;
1184
1185 colors[ImGuiCol_ModalWindowDimBg] = ImVec4(0.0f, 0.0f, 0.0f, 0.6f);
1186
1187 // Minimal, clean style
1188 style.WindowRounding = 2.0f;
1189 style.ChildRounding = 1.0f;
1190 style.FrameRounding = 2.0f;
1191 style.PopupRounding = 2.0f;
1192 style.ScrollbarRounding = 4.0f;
1193 style.GrabRounding = 2.0f;
1194 style.TabRounding = 1.0f;
1195
1196 style.WindowBorderSize = 1.0f;
1197 style.ChildBorderSize = 1.0f;
1198 style.PopupBorderSize = 1.0f;
1199 style.FrameBorderSize = 1.0f;
1200
1201 style.WindowPadding = ImVec2(8.0f, 8.0f);
1202 style.FramePadding = ImVec2(8.0f, 4.0f);
1203 style.CellPadding = ImVec2(6.0f, 3.0f);
1204 style.ItemSpacing = ImVec2(6.0f, 4.0f);
1205 style.ItemInnerSpacing = ImVec2(4.0f, 3.0f);
1206 style.IndentSpacing = 16.0f;
1207
1208 style.WindowMenuButtonPosition = ImGuiDir_None;
1209
1210 if(io.ConfigFlags & ImGuiConfigFlags_ViewportsEnable)
1211 {
1212 style.WindowRounding = 0.0f;
1213 style.Colors[ImGuiCol_WindowBg].w = 1.0f;
1214 }
1215}
1216
1218{
1219 ImGuiIO& io = ImGui::GetIO();
1220 ImGui::StyleColorsDark();
1221
1222 auto& style = ImGui::GetStyle();
1223 auto& colors = ImGui::GetStyle().Colors;
1224
1225 // Unity's EXACT color palette - sampled from Unity 2022.3+ screenshots
1226 auto backgroundDarkest = ImColor(48, 48, 48, 255); // Unity's darkest backgrounds (#303030)
1227 auto backgroundDark = ImColor(56, 56, 56, 255); // Unity's main panel color (#383838)
1228 auto backgroundMedium = ImColor(62, 62, 62, 255); // Unity's input fields (#3E3E3E)
1229 auto backgroundLight = ImColor(72, 72, 72, 255); // Unity's headers/elevated (#484848)
1230 auto backgroundPopup = ImColor(52, 52, 52, 255); // Unity's popups (#343434)
1231
1232 // Unity's classic blue - vibrant and professional
1233 auto primaryAccent = ImColor(58, 121, 187, 255); // Unity's signature blue (#3A79BB)
1234 auto primaryAccentHover = ImColor(78, 141, 207, 255); // Lighter hover state
1235 auto primaryAccentActive = ImColor(48, 101, 167, 255); // Darker active state
1236 auto primaryAccentStrong = ImColor(58, 121, 187, 180); // Strong selection background
1237 auto primaryAccentMuted = ImColor(58, 121, 187, 60); // Subtle hover background
1238
1239 // Unity's high-contrast text - very readable
1240 auto textPrimary = ImColor(220, 220, 220, 255); // Unity's bright text (#DCDCDC)
1241 auto textSecondary = ImColor(180, 180, 180, 255); // Unity's secondary text (#B4B4B4)
1242 auto textMuted = ImColor(128, 128, 128, 255); // Unity's disabled text (#808080)
1243 auto textSelected = ImColor(255, 255, 255, 255); // Unity's selected text (white)
1244
1245 // Unity's very subtle borders - barely visible
1246 auto borderDark = ImColor(35, 35, 35, 255); // Very dark borders (#232323)
1247 auto borderMedium = ImColor(80, 80, 80, 255); // Medium borders (#505050)
1248
1249 // Apply Unity's exact color scheme
1250 colors[ImGuiCol_WindowBg] = backgroundDark;
1251 colors[ImGuiCol_ChildBg] = backgroundMedium;
1252 colors[ImGuiCol_PopupBg] = backgroundPopup;
1253 colors[ImGuiCol_Border] = borderDark;
1254 colors[ImGuiCol_BorderShadow] = ImVec4(0.0f, 0.0f, 0.0f, 0.0f);
1255 colors[ImGuiCol_MenuBarBg] = backgroundDarkest;
1256
1257 // Unity's text styling - high contrast
1258 colors[ImGuiCol_Text] = textPrimary;
1259 colors[ImGuiCol_TextDisabled] = textMuted;
1260 colors[ImGuiCol_TextSelectedBg] = primaryAccentStrong; // Strong blue selection like Unity
1261
1262 // Unity's button styling
1263 colors[ImGuiCol_Button] = backgroundLight;
1264 colors[ImGuiCol_ButtonHovered] = primaryAccentMuted;
1265 colors[ImGuiCol_ButtonActive] = primaryAccentStrong;
1266
1267 // Unity's header styling - prominent when active
1268 colors[ImGuiCol_Header] = backgroundLight;
1269 colors[ImGuiCol_HeaderHovered] = primaryAccentMuted;
1270 colors[ImGuiCol_HeaderActive] = primaryAccentStrong; // Strong blue for active headers
1271
1272 // Unity's input field styling (now with darker backgrounds like Unity)
1273 colors[ImGuiCol_FrameBg] = ImColor(35, 35, 35, 255); // #232323, very dark
1274 colors[ImGuiCol_FrameBgHovered] = ImColor(45, 45, 45, 255); // #2D2D2D, slightly lighter
1275 colors[ImGuiCol_FrameBgActive] = ImColor(55, 55, 55, 255); // #373737, still darker than panel
1276
1277 // Unity's title bar styling
1278 colors[ImGuiCol_TitleBg] = backgroundDarkest;
1279 colors[ImGuiCol_TitleBgActive] = backgroundDark;
1280 colors[ImGuiCol_TitleBgCollapsed] = backgroundDarkest;
1281
1282 // Unity's tab styling - strong selection
1283 colors[ImGuiCol_Tab] = backgroundDark;
1284 colors[ImGuiCol_TabHovered] = primaryAccentMuted;
1285 colors[ImGuiCol_TabSelected] = primaryAccentStrong; // Very prominent selected tabs
1286 colors[ImGuiCol_TabDimmed] = backgroundDarkest;
1287 colors[ImGuiCol_TabDimmedSelected] = backgroundLight;
1288
1289 // Unity's scrollbar styling
1290 colors[ImGuiCol_ScrollbarBg] = backgroundDark;
1291 colors[ImGuiCol_ScrollbarGrab] = backgroundLight;
1292 colors[ImGuiCol_ScrollbarGrabHovered] = borderMedium;
1293 colors[ImGuiCol_ScrollbarGrabActive] = primaryAccent;
1294
1295 // Unity's interactive elements
1296 colors[ImGuiCol_CheckMark] = primaryAccent;
1297 colors[ImGuiCol_SliderGrab] = primaryAccent;
1298 colors[ImGuiCol_SliderGrabActive] = primaryAccentHover;
1299
1300 // Unity's separator styling - very subtle
1301 colors[ImGuiCol_Separator] = borderDark;
1302 colors[ImGuiCol_SeparatorHovered] = borderMedium;
1303 colors[ImGuiCol_SeparatorActive] = primaryAccent;
1304
1305 // Unity's resize grips - invisible until interaction
1306 colors[ImGuiCol_ResizeGrip] = ImVec4(0.0f, 0.0f, 0.0f, 0.0f);
1307 colors[ImGuiCol_ResizeGripHovered] = primaryAccentMuted;
1308 colors[ImGuiCol_ResizeGripActive] = primaryAccent;
1309
1310 // Unity's table styling - inspector panels
1311 colors[ImGuiCol_TableHeaderBg] = backgroundLight;
1312 colors[ImGuiCol_TableBorderStrong] = borderDark;
1313 colors[ImGuiCol_TableBorderLight] = borderMedium;
1314 colors[ImGuiCol_TableRowBg] = ImVec4(0.0f, 0.0f, 0.0f, 0.0f);
1315 colors[ImGuiCol_TableRowBgAlt] = ImVec4(1.0f, 1.0f, 1.0f, 0.01f); // Extremely subtle alternating
1316
1317 // Unity's docking styling
1318 colors[ImGuiCol_DockingPreview] = primaryAccentStrong;
1319 colors[ImGuiCol_DockingEmptyBg] = backgroundDarkest;
1320
1321 // Unity's plotting colors
1322 colors[ImGuiCol_PlotLines] = primaryAccent;
1323 colors[ImGuiCol_PlotLinesHovered] = primaryAccentHover;
1324 colors[ImGuiCol_PlotHistogram] = primaryAccent;
1325 colors[ImGuiCol_PlotHistogramHovered] = primaryAccentHover;
1326
1327 colors[ImGuiCol_ModalWindowDimBg] = ImVec4(0.0f, 0.0f, 0.0f, 0.65f);
1328
1329 // Unity's EXACT style parameters - completely square, tight spacing
1330 style.WindowRounding = 0.0f; // Unity is completely square
1331 style.ChildRounding = 0.0f; // No rounding anywhere
1332 style.FrameRounding = 2.0f; // Tiny rounding on input fields only
1333 style.PopupRounding = 0.0f; // Square popups
1334 style.ScrollbarRounding = 0.0f; // Square scrollbars
1335 style.GrabRounding = 0.0f; // Square grab handles
1336 style.TabRounding = 0.0f; // Square tabs
1337
1338 style.WindowBorderSize = 1.0f;
1339 style.ChildBorderSize = 0.0f; // Unity has no child borders
1340 style.PopupBorderSize = 1.0f;
1341 style.FrameBorderSize = 0.0f; // Unity has no frame borders
1342
1343 // Unity's tight, professional spacing
1344 style.WindowPadding = ImVec2(6.0f, 6.0f); // Unity's window padding
1345 style.FramePadding = ImVec2(8.0f, 3.0f); // Unity's frame padding
1346 style.CellPadding = ImVec2(4.0f, 2.0f); // Unity's cell padding
1347 style.ItemSpacing = ImVec2(4.0f, 3.0f); // Unity's item spacing
1348 style.ItemInnerSpacing = ImVec2(4.0f, 2.0f); // Unity's inner spacing
1349 style.IndentSpacing = 15.0f; // Unity's indent
1350 style.ScrollbarSize = 16.0f; // Unity's scrollbar width
1351 style.GrabMinSize = 10.0f; // Unity's minimum grab size
1352
1353 style.WindowMenuButtonPosition = ImGuiDir_None;
1354
1355 // Unity is always square in viewport mode
1356 if(io.ConfigFlags & ImGuiConfigFlags_ViewportsEnable)
1357 {
1358 style.WindowRounding = 0.0f;
1359 style.Colors[ImGuiCol_WindowBg].w = 1.0f;
1360 }
1361}
1362
1363} // namespace unravel
void init(rtti::context &ctx)
void show(bool show=true)
style_panel(imgui_panels *parent)