From f2027befc8b4e77dbda06f81a1095e599a9539d8 Mon Sep 17 00:00:00 2001 From: Green Sky Date: Sun, 15 Dec 2024 22:01:53 +0100 Subject: [PATCH] fix bitset getting rendered all the time --- src/chat_gui4.cpp | 45 ++++++++++++++++++++++++++------------------- 1 file changed, 26 insertions(+), 19 deletions(-) diff --git a/src/chat_gui4.cpp b/src/chat_gui4.cpp index 2119db4..edab608 100644 --- a/src/chat_gui4.cpp +++ b/src/chat_gui4.cpp @@ -1246,27 +1246,34 @@ void ChatGui4::renderMessageBodyFile(Message3Registry& reg, const Message3 e) { overlay_buf ); - auto const cursor_start_vec = ImGui::GetCursorScreenPos(); + ImVec2 orig_curser_pos = ImGui::GetCursorPos(); const ImVec2 bar_size{ImGui::GetContentRegionAvail().x, TEXT_BASE_HEIGHT*0.15f}; - // TODO: replace with own version, so we dont have to internal - ImGui::RenderFrame( - cursor_start_vec, - { - cursor_start_vec.x + bar_size.x, - cursor_start_vec.y + bar_size.y - }, - ImGui::GetColorU32(ImGuiCol_FrameBg), - false - ); + // deploy dummy and check visibility + ImGui::Dummy(bar_size); + if (ImGui::IsItemVisible()) { + ImGui::SetCursorPos(orig_curser_pos); // reset before dummy - auto [id, img_width, img_height] = _b_tc.get(o); - ImGui::Image( - id, - bar_size, - {0.f, 0.f}, // default - {1.f, 1.f}, // default - ImGui::GetStyleColorVec4(ImGuiCol_PlotHistogram) - ); + auto const cursor_start_vec = ImGui::GetCursorScreenPos(); + // TODO: replace with own version, so we dont have to internal + ImGui::RenderFrame( + cursor_start_vec, + { + cursor_start_vec.x + bar_size.x, + cursor_start_vec.y + bar_size.y + }, + ImGui::GetColorU32(ImGuiCol_FrameBg), + false + ); + + auto [id, img_width, img_height] = _b_tc.get(o); + ImGui::Image( + id, + bar_size, + {0.f, 0.f}, // default + {1.f, 1.f}, // default + ImGui::GetStyleColorVec4(ImGuiCol_PlotHistogram) + ); + } ImGui::EndGroup(); } else {