From 565ee4cb2d0a658d0eba16752aace633b3d56657 Mon Sep 17 00:00:00 2001 From: WerWolv Date: Wed, 15 Jan 2025 18:08:05 +0100 Subject: [PATCH] fix: Banner positions with multi-viewports enabled --- main/gui/source/window/window.cpp | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/main/gui/source/window/window.cpp b/main/gui/source/window/window.cpp index 758359fce..9789dd2ee 100644 --- a/main/gui/source/window/window.cpp +++ b/main/gui/source/window/window.cpp @@ -558,13 +558,14 @@ namespace hex { { const bool onWelcomeScreen = !ImHexApi::Provider::isValid(); - float startY = (ImGui::GetTextLineHeight() + ImGui::GetStyle().FramePadding.y * 2.0F) * (onWelcomeScreen ? 2 : 3); + const auto windowPos = ImHexApi::System::getMainWindowPosition(); + float startY = windowPos.y + ((ImGui::GetTextLineHeight() + (ImGui::GetStyle().FramePadding.y * 2.0F)) * (onWelcomeScreen ? 2 : 3)); const auto height = 30_scaled; for (const auto &banner : impl::BannerBase::getOpenBanners() | std::views::take(5)) { ImGui::PushID(banner.get()); { - ImGui::SetNextWindowPos(ImVec2(1_scaled, startY)); + ImGui::SetNextWindowPos(ImVec2(windowPos.x + 1_scaled, startY)); ImGui::SetNextWindowSize(ImVec2(ImHexApi::System::getMainWindowSize().x - 2_scaled, height)); ImGui::PushStyleColor(ImGuiCol_WindowBg, banner->getColor().Value); if (ImGui::Begin("##Banner", nullptr, ImGuiWindowFlags_NoCollapse | ImGuiWindowFlags_NoResize | ImGuiWindowFlags_NoScrollbar | ImGuiWindowFlags_NoScrollWithMouse | ImGuiWindowFlags_NoDocking | ImGuiWindowFlags_NoTitleBar | ImGuiWindowFlags_NoFocusOnAppearing)) {