From: ANZ1217 Date: Thu, 13 Mar 2025 04:14:39 +0000 (+0900) Subject: Fix issue where vertical alignment "CENTER" does not align based on line height. X-Git-Tag: accepted/tizen/9.0/unified/20250410.163732~3 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=f710ec338068577b60dacf94a6da40f4498c7ddc;p=platform%2Fcore%2Fuifw%2Fdali-toolkit.git Fix issue where vertical alignment "CENTER" does not align based on line height. Change-Id: I7b68c67246b58f40306e4c6170245a5f50e35919 --- diff --git a/dali-toolkit/internal/text/layouts/layout-engine.cpp b/dali-toolkit/internal/text/layouts/layout-engine.cpp index 6437a0cfc1..596d0a568f 100644 --- a/dali-toolkit/internal/text/layouts/layout-engine.cpp +++ b/dali-toolkit/internal/text/layouts/layout-engine.cpp @@ -1941,6 +1941,14 @@ struct Engine::Impl hyphensCount--; } + if(!isMultiline) + { + // Recalculate line spacing and line height + LineRun& lastLineRun = *(lines.End() - 1u); + lastLineRun.lineSpacing = GetLineSpacing(lastLineRun.ascender + -lastLineRun.descender, layout.relativeLineSize); + layoutSize.height = GetLineHeight(lastLineRun, false); + } + // No more lines to layout. break; } diff --git a/dali-toolkit/internal/text/rendering/text-typesetter.cpp b/dali-toolkit/internal/text/rendering/text-typesetter.cpp index 52747a3ccd..c493430c39 100644 --- a/dali-toolkit/internal/text/rendering/text-typesetter.cpp +++ b/dali-toolkit/internal/text/rendering/text-typesetter.cpp @@ -267,8 +267,6 @@ Devel::PixelBuffer Typesetter::RenderWithPixelBuffer(const Vector2& size, Toolki case VerticalAlignment::CENTER: { penY = static_cast(std::round(0.5f * (size.height - layoutSize.height))); - penY = penY < 0.f ? 0.f : penY; - break; } case VerticalAlignment::BOTTOM: