| 43 | } |
| 44 | |
| 45 | static void apply_theme() { |
| 46 | ImGuiStyle& s = ImGui::GetStyle(); |
| 47 | s.WindowRounding = 6.0f; |
| 48 | s.FrameRounding = 4.0f; |
| 49 | s.GrabRounding = 3.0f; |
| 50 | s.ScrollbarRounding = 4.0f; |
| 51 | s.TabRounding = 4.0f; |
| 52 | s.ChildRounding = 4.0f; |
| 53 | s.PopupRounding = 4.0f; |
| 54 | s.FramePadding = ImVec2(6, 4); |
| 55 | s.ItemSpacing = ImVec2(8, 5); |
| 56 | s.WindowPadding = ImVec2(10, 10); |
| 57 | s.FrameBorderSize = 0.0f; |
| 58 | s.WindowBorderSize = 0.0f; |
| 59 | s.ScrollbarSize = 12.0f; |
| 60 | |
| 61 | ImVec4* c = s.Colors; |
| 62 | c[ImGuiCol_WindowBg] = ImVec4(0.08f, 0.08f, 0.10f, 1.00f); |
| 63 | c[ImGuiCol_ChildBg] = ImVec4(0.08f, 0.08f, 0.10f, 1.00f); |
| 64 | c[ImGuiCol_PopupBg] = ImVec4(0.10f, 0.10f, 0.13f, 0.96f); |
| 65 | c[ImGuiCol_Border] = ImVec4(0.20f, 0.20f, 0.25f, 0.50f); |
| 66 | c[ImGuiCol_FrameBg] = ImVec4(0.14f, 0.14f, 0.18f, 1.00f); |
| 67 | c[ImGuiCol_FrameBgHovered] = ImVec4(0.22f, 0.22f, 0.28f, 1.00f); |
| 68 | c[ImGuiCol_FrameBgActive] = ImVec4(0.26f, 0.26f, 0.34f, 1.00f); |
| 69 | c[ImGuiCol_TitleBg] = ImVec4(0.08f, 0.08f, 0.10f, 1.00f); |
| 70 | c[ImGuiCol_TitleBgActive] = ImVec4(0.12f, 0.12f, 0.16f, 1.00f); |
| 71 | c[ImGuiCol_MenuBarBg] = ImVec4(0.10f, 0.10f, 0.13f, 1.00f); |
| 72 | c[ImGuiCol_ScrollbarBg] = ImVec4(0.06f, 0.06f, 0.08f, 0.60f); |
| 73 | c[ImGuiCol_ScrollbarGrab] = ImVec4(0.28f, 0.28f, 0.34f, 1.00f); |
| 74 | c[ImGuiCol_ScrollbarGrabHovered]= ImVec4(0.36f, 0.36f, 0.42f, 1.00f); |
| 75 | c[ImGuiCol_ScrollbarGrabActive] = ImVec4(0.40f, 0.40f, 0.50f, 1.00f); |
| 76 | c[ImGuiCol_CheckMark] = ImVec4(0.45f, 0.60f, 1.00f, 1.00f); |
| 77 | c[ImGuiCol_SliderGrab] = ImVec4(0.38f, 0.52f, 0.90f, 1.00f); |
| 78 | c[ImGuiCol_SliderGrabActive] = ImVec4(0.50f, 0.64f, 1.00f, 1.00f); |
| 79 | c[ImGuiCol_Button] = ImVec4(0.18f, 0.20f, 0.28f, 1.00f); |
| 80 | c[ImGuiCol_ButtonHovered] = ImVec4(0.30f, 0.34f, 0.48f, 1.00f); |
| 81 | c[ImGuiCol_ButtonActive] = ImVec4(0.36f, 0.40f, 0.56f, 1.00f); |
| 82 | c[ImGuiCol_Header] = ImVec4(0.18f, 0.20f, 0.28f, 1.00f); |
| 83 | c[ImGuiCol_HeaderHovered] = ImVec4(0.26f, 0.30f, 0.42f, 1.00f); |
| 84 | c[ImGuiCol_HeaderActive] = ImVec4(0.30f, 0.34f, 0.48f, 1.00f); |
| 85 | c[ImGuiCol_Separator] = ImVec4(0.22f, 0.22f, 0.28f, 1.00f); |
| 86 | c[ImGuiCol_SeparatorHovered] = ImVec4(0.36f, 0.42f, 0.60f, 1.00f); |
| 87 | c[ImGuiCol_SeparatorActive] = ImVec4(0.42f, 0.50f, 0.70f, 1.00f); |
| 88 | c[ImGuiCol_ResizeGrip] = ImVec4(0.30f, 0.36f, 0.52f, 0.50f); |
| 89 | c[ImGuiCol_ResizeGripHovered] = ImVec4(0.40f, 0.48f, 0.68f, 0.70f); |
| 90 | c[ImGuiCol_ResizeGripActive] = ImVec4(0.46f, 0.54f, 0.76f, 0.90f); |
| 91 | c[ImGuiCol_Tab] = ImVec4(0.14f, 0.14f, 0.18f, 1.00f); |
| 92 | c[ImGuiCol_TabHovered] = ImVec4(0.30f, 0.34f, 0.48f, 1.00f); |
| 93 | c[ImGuiCol_TabSelected] = ImVec4(0.22f, 0.26f, 0.38f, 1.00f); |
| 94 | c[ImGuiCol_TextSelectedBg] = ImVec4(0.26f, 0.36f, 0.56f, 0.50f); |
| 95 | c[ImGuiCol_Text] = ImVec4(0.90f, 0.90f, 0.94f, 1.00f); |
| 96 | c[ImGuiCol_TextDisabled] = ImVec4(0.44f, 0.44f, 0.50f, 1.00f); |
| 97 | } |
| 98 | |
| 99 | enum vtrack_mode { VMODE_TEXT, VMODE_BOX, VMODE_POINTS }; |
| 100 | |