From 423ba8283785102fa021380d81087248804f7787 Mon Sep 17 00:00:00 2001 From: trompetin17 Date: Thu, 28 Aug 2025 00:59:56 -0500 Subject: [PATCH] Fix text right alignment with GUI Scale Now that size uses float when emulating positioning, it was getting a different value, like 0.008. This commit fixed that issue by using std::floor to remove small noise. Symmetrical for LEFT with std::ceil. --- source/gui/CGUIText.cpp | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/source/gui/CGUIText.cpp b/source/gui/CGUIText.cpp index 47b987b1c0..c5dc51ffc9 100644 --- a/source/gui/CGUIText.cpp +++ b/source/gui/CGUIText.cpp @@ -29,6 +29,7 @@ #include "lib/debug.h" #include +#include #include #include #include @@ -329,13 +330,13 @@ float CGUIText::GetLineOffset( switch (align) { case EAlign::LEFT: - return widthRangeFrom; + return std::ceil(widthRangeFrom); case EAlign::CENTER: return (widthRangeTo + widthRangeFrom - lineSize.Width) / 2; case EAlign::RIGHT: - return widthRangeTo - lineSize.Width; + return std::floor(widthRangeTo - lineSize.Width); default: debug_warn(L"Broken EAlign in CGUIText()");