From 4916e5542ad99ac829ea4d7a4d2e923989c5adde Mon Sep 17 00:00:00 2001 From: WerWolv Date: Fri, 22 Mar 2024 17:52:10 +0100 Subject: [PATCH] fix: Splash screen being scaled incorrectly --- main/gui/source/init/splash_window.cpp | 30 ++++++++++++-------------- 1 file changed, 14 insertions(+), 16 deletions(-) diff --git a/main/gui/source/init/splash_window.cpp b/main/gui/source/init/splash_window.cpp index 7e3694921..b1741aef4 100644 --- a/main/gui/source/init/splash_window.cpp +++ b/main/gui/source/init/splash_window.cpp @@ -238,7 +238,7 @@ namespace hex::init { FrameResult WindowSplash::fullFrame() { - glfwSetWindowSize(m_window, 640_scaled, 400_scaled); + glfwSetWindowSize(m_window, 640, 400); centerWindow(m_window); glfwPollEvents(); @@ -248,23 +248,21 @@ namespace hex::init { ImGui_ImplGlfw_NewFrame(); ImGui::NewFrame(); - auto scale = ImHexApi::System::getGlobalScale(); - // Draw the splash screen background auto drawList = ImGui::GetBackgroundDrawList(); { // Draw the splash screen background - drawList->AddImage(this->splashBackgroundTexture, ImVec2(0, 0), this->splashBackgroundTexture.getSize() * scale); + drawList->AddImage(this->splashBackgroundTexture, ImVec2(0, 0), this->splashBackgroundTexture.getSize()); { // Function to highlight a given number of bytes at a position in the splash screen const auto highlightBytes = [&](ImVec2 start, size_t count, ImColor color, float opacity) { // Dimensions and number of bytes that are drawn. Taken from the splash screen image - const auto hexSize = ImVec2(29, 18) * scale; - const auto hexSpacing = ImVec2(17.4, 15) * scale; - const auto hexStart = ImVec2(27, 127) * scale; + const auto hexSize = ImVec2(29, 18); + const auto hexSpacing = ImVec2(17.4, 15); + const auto hexStart = ImVec2(27, 127); constexpr auto HexCount = ImVec2(13, 7); @@ -312,10 +310,10 @@ namespace hex::init { this->progressLerp += (m_progress - this->progressLerp) * 0.1F; // Draw the splash screen foreground - drawList->AddImage(this->splashTextTexture, ImVec2(0, 0), this->splashTextTexture.getSize() * scale); + drawList->AddImage(this->splashTextTexture, ImVec2(0, 0), this->splashTextTexture.getSize()); // Draw the "copyright" notice - drawList->AddText(ImVec2(35, 85) * scale, ImColor(0xFF, 0xFF, 0xFF, 0xFF), hex::format("WerWolv\n2020 - {0}", &__DATE__[7]).c_str()); + drawList->AddText(ImVec2(35, 85), ImColor(0xFF, 0xFF, 0xFF, 0xFF), hex::format("WerWolv\n2020 - {0}", &__DATE__[7]).c_str()); // Draw version information // In debug builds, also display the current commit hash and branch @@ -325,18 +323,18 @@ namespace hex::init { const static auto VersionInfo = hex::format("{0}", ImHexApi::System::getImHexVersion()); #endif - drawList->AddText(ImVec2((this->splashBackgroundTexture.getSize().x * scale - ImGui::CalcTextSize(VersionInfo.c_str()).x) / 2, 105 * scale), ImColor(0xFF, 0xFF, 0xFF, 0xFF), VersionInfo.c_str()); + drawList->AddText(ImVec2((this->splashBackgroundTexture.getSize().x - ImGui::CalcTextSize(VersionInfo.c_str()).x) / 2, 105), ImColor(0xFF, 0xFF, 0xFF, 0xFF), VersionInfo.c_str()); } // Draw the task progress bar { std::lock_guard guard(m_progressMutex); - const auto progressBackgroundStart = ImVec2(99, 357) * scale; - const auto progressBackgroundSize = ImVec2(442, 30) * scale; + const auto progressBackgroundStart = ImVec2(99, 357); + const auto progressBackgroundSize = ImVec2(442, 30); - const auto progressStart = progressBackgroundStart + ImVec2(0, 20) * scale; - const auto progressSize = ImVec2(progressBackgroundSize.x * m_progress, 10 * scale); + const auto progressStart = progressBackgroundStart + ImVec2(0, 20); + const auto progressSize = ImVec2(progressBackgroundSize.x * m_progress, 10); // Draw progress bar drawList->AddRectFilled(progressStart, progressStart + progressSize, 0xD0FFFFFF); @@ -344,7 +342,7 @@ namespace hex::init { // Draw task names separated by | characters if (!m_currTaskNames.empty()) { drawList->PushClipRect(progressBackgroundStart, progressBackgroundStart + progressBackgroundSize, true); - drawList->AddText(progressStart + ImVec2(5, -20) * scale, ImColor(0xFF, 0xFF, 0xFF, 0xFF), hex::format("{}", fmt::join(m_currTaskNames, " | ")).c_str()); + drawList->AddText(progressStart + ImVec2(5, -20), ImColor(0xFF, 0xFF, 0xFF, 0xFF), hex::format("{}", fmt::join(m_currTaskNames, " | ")).c_str()); drawList->PopClipRect(); } } @@ -492,7 +490,7 @@ namespace hex::init { ImFontConfig cfg; cfg.OversampleH = cfg.OversampleV = 1, cfg.PixelSnapH = true; - cfg.SizePixels = 13.0_scaled; + cfg.SizePixels = ImHexApi::Fonts::DefaultFontSize; io.Fonts->AddFontDefault(&cfg); std::uint8_t *px;