From 46ede200e7b46f054e335b1342781e66bca0e513 Mon Sep 17 00:00:00 2001 From: Zedb0T <89345505+Zedb0T@users.noreply.github.com> Date: Mon, 2 Dec 2024 20:57:05 -0500 Subject: [PATCH] Add option to hide the imgui bar with a click event --- game/graphics/opengl_renderer/debug_gui.cpp | 26 +++++++++++++++++---- 1 file changed, 22 insertions(+), 4 deletions(-) diff --git a/game/graphics/opengl_renderer/debug_gui.cpp b/game/graphics/opengl_renderer/debug_gui.cpp index c1b4076212b..ea532246d7d 100644 --- a/game/graphics/opengl_renderer/debug_gui.cpp +++ b/game/graphics/opengl_renderer/debug_gui.cpp @@ -188,10 +188,28 @@ void OpenGlDebugGui::draw(const DmaStats& dma_stats) { } if (!Gfx::g_debug_settings.ignore_hide_imgui) { - ImGui::Text("%s", fmt::format("Toggle toolbar with {}", - sdl_util::get_keyboard_button_name( - Gfx::g_debug_settings.hide_imgui_key, InputModifiers())) - .c_str()); + std::string button_text = + fmt::format("Click here or Press {} to hide Toolbar", + sdl_util::get_keyboard_button_name(Gfx::g_debug_settings.hide_imgui_key, + InputModifiers())); + + ImVec2 text_size = ImGui::CalcTextSize(button_text.c_str()); + float button_width = text_size.x + ImGui::GetStyle().FramePadding.x * 2; + float button_height = text_size.y + ImGui::GetStyle().FramePadding.y * 2; + + ImGui::PushStyleColor(ImGuiCol_Header, + ImGui::GetStyleColorVec4(ImGuiCol_MenuBarBg)); + ImGui::PushStyleColor(ImGuiCol_HeaderHovered, + ImGui::GetStyleColorVec4(ImGuiCol_HeaderHovered)); + ImGui::PushStyleColor(ImGuiCol_HeaderActive, + ImGui::GetStyleColorVec4(ImGuiCol_HeaderActive)); + + if (ImGui::Selectable(button_text.c_str(), false, ImGuiSelectableFlags_DontClosePopups, + ImVec2(button_width, button_height))) { + std::shared_ptr display = Display::GetMainDisplay(); + display->set_imgui_visible(false); + } + ImGui::PopStyleColor(3); } } ImGui::EndMainMenuBar();