From 1e20a5721f18c8d36806ef23bb116d2e4dca15b8 Mon Sep 17 00:00:00 2001 From: Gleb Mazovetskiy Date: Sun, 27 Nov 2022 22:00:42 +0000 Subject: [PATCH] Settings menu: Fix description clipping Adjust description dimensions to make it fit exactly 3 lines for CJK. Previously, the second line was clipped since we fixed the clipping. --- Source/DiabloUI/settingsmenu.cpp | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/Source/DiabloUI/settingsmenu.cpp b/Source/DiabloUI/settingsmenu.cpp index 88c9fd3b5..548d03c25 100644 --- a/Source/DiabloUI/settingsmenu.cpp +++ b/Source/DiabloUI/settingsmenu.cpp @@ -319,15 +319,17 @@ void UiSettingsMenu() const Rectangle &uiRectangle = GetUIRectangle(); + const int descriptionLineHeight = IsSmallFontTall() ? 20 : 18; + const int descriptionMarginTop = IsSmallFontTall() ? 10 : 16; rectList = { uiRectangle.position + Displacement { 50, 204 }, Size { 540, 208 } }; - rectDescription = { rectList.position + Displacement { -26, rectList.size.height + 16 }, Size { 590, 35 } }; + rectDescription = { rectList.position + Displacement { -26, rectList.size.height + descriptionMarginTop }, Size { 590, 80 - descriptionMarginTop } }; optionDescription[0] = '\0'; string_view titleText = shownMenu == ShownMenuType::Settings ? _("Settings") : selectedOption->GetName(); vecDialog.push_back(std::make_unique(titleText.data(), MakeSdlRect(uiRectangle.position.x, uiRectangle.position.y + 161, uiRectangle.size.width, 35), UiFlags::FontSize30 | UiFlags::ColorUiSilver | UiFlags::AlignCenter, 8)); vecDialog.push_back(std::make_unique((*ArtScrollBarBackground)[0], (*ArtScrollBarThumb)[0], *ArtScrollBarArrow, MakeSdlRect(rectList.position.x + rectList.size.width + 5, rectList.position.y, 25, rectList.size.height))); - vecDialog.push_back(std::make_unique(optionDescription, MakeSdlRect(rectDescription), UiFlags::FontSize12 | UiFlags::ColorUiSilverDark | UiFlags::AlignCenter, 1, IsSmallFontTall() ? 22 : 18)); + vecDialog.push_back(std::make_unique(optionDescription, MakeSdlRect(rectDescription), UiFlags::FontSize12 | UiFlags::ColorUiSilverDark | UiFlags::AlignCenter, 1, descriptionLineHeight)); size_t itemToSelect = 1; std::optional> eventHandler;