From 9ab597c0e93d92bafaf9beb842ab37f9b1a63b78 Mon Sep 17 00:00:00 2001 From: Bruno Herbelin Date: Thu, 8 Jun 2023 00:19:21 +0200 Subject: [PATCH] Icons to show enabled and disabled Hardware decoding Updated the left panel for media source to show indication of hardware decoding on/off --- rsc/images/icons.dds | Bin 1638528 -> 1638528 bytes src/ImGuiVisitor.cpp | 24 +++++++++++------------- 2 files changed, 11 insertions(+), 13 deletions(-) diff --git a/rsc/images/icons.dds b/rsc/images/icons.dds index 585a7e0c60cbeb61a9e59101b89a69027b53a9fa..8c393e07ec4e1a5fd614ac438d8abdf0fc01187e 100644 GIT binary patch delta 2589 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 diff --git a/src/ImGuiVisitor.cpp b/src/ImGuiVisitor.cpp index 6c1ea29..042993a 100644 --- a/src/ImGuiVisitor.cpp +++ b/src/ImGuiVisitor.cpp @@ -666,9 +666,8 @@ void ImGuiVisitor::visit (Source& s) void ImGuiVisitor::visit (MediaSource& s) { - ImVec2 _top = ImGui::GetCursorPos(); - _top.x = 0.5f * ImGui::GetFrameHeight() + ImGui::GetContentRegionAvail().x IMGUI_RIGHT_ALIGN; - ImVec2 top = _top; + ImVec2 top = ImGui::GetCursorPos(); + top.x = 0.5f * ImGui::GetFrameHeight() + ImGui::GetContentRegionAvail().x IMGUI_RIGHT_ALIGN; // Media info ImGui::PushTextWrapPos(ImGui::GetCursorPos().x + ImGui::GetContentRegionAvail().x IMGUI_RIGHT_ALIGN); @@ -684,6 +683,15 @@ void ImGuiVisitor::visit (MediaSource& s) if ( !s.failed() ) { // icon (>) to open player if ( s.playable() ) { + ImGui::SetCursorPos(top); + std::string decoder = s.mediaplayer()->decoderName(); + if ( decoder.compare("software") != 0) { + decoder = "Hardware decoder\n" + decoder; + ImGuiToolkit::Indication(decoder.c_str(), 13, 2); + } + else + ImGuiToolkit::Indication("Software decoder", 14, 2); + top.x += ImGui::GetFrameHeight(); ImGui::SetCursorPos(top); std::string msg = s.playing() ? "Open Player\n(source is playing)" : "Open Player\n(source is paused)"; if (ImGuiToolkit::IconButton( s.playing() ? ICON_FA_PLAY_CIRCLE : ICON_FA_PAUSE_CIRCLE, msg.c_str())) @@ -695,16 +703,6 @@ void ImGuiVisitor::visit (MediaSource& s) if (ImGuiToolkit::IconButton(ICON_FA_FOLDER_OPEN, "Show in finder")) SystemToolkit::open(SystemToolkit::path_filename(s.path())); - // Icon to inform hardware decoding - std::string decoder = s.mediaplayer()->decoderName(); - if ( decoder.compare("software") != 0) { - top = _top; - top.y += ImGui::GetFrameHeight(); - ImGui::SetCursorPos(top); - decoder = "Hardware decoder\n" + decoder; - ImGuiToolkit::Indication(decoder.c_str(), ICON_FA_MICROCHIP); - } - ImGui::SetCursorPos(botom); } else {