From 4b58b2f61baba2a28e0148596102c8225c8cdf8a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mart=C3=ADn=20Lucas=20Golini?= Date: Wed, 13 May 2026 12:53:40 -0300 Subject: [PATCH] Fix line-height. --- .../assets/html/eepp-ui-anchor-margins.webp | Bin 1478 -> 1474 bytes .../assets/html/eepp-ui-span-padding.webp | Bin 6310 -> 6426 bytes src/eepp/graphics/richtext.cpp | 10 ++++------ src/tests/unit_tests/uihtml_tests.cpp | 8 ++++++++ 4 files changed, 12 insertions(+), 6 deletions(-) diff --git a/bin/unit_tests/assets/html/eepp-ui-anchor-margins.webp b/bin/unit_tests/assets/html/eepp-ui-anchor-margins.webp index f501815a6c2867f5ae6417084de4dcf38cccf954..8063ce9406f2eb903195b7de23559b264cac242a 100644 GIT binary patch delta 1120 zcmV-m1fToH3&IN#Qb|Tex&;6LS4BclR!}%hu8|SGe=*m#ZQHhO+ncp*+ZsFR&TQ?! z>!d1q)AM2dMD!n$+enTi_HEWhM6P=S{qcCEt*{A0`ae#y$r%xlBwJ0^MG zg%91r?a>!b(rl5B#mt5Kni=0Oe4Yr5d+B~&9M;E8$vaVUR$%L=)6Kzy+l6t#N}AU% zN6woWe_`R|ihL}-Ib?3}`v&#ZFg`tU)!5{m=qK69+}vDG({oPIs#GFgdCR@u|4!_2 zJEEo+;-za+P4B3r>v*%qx!jCs12eDmLW$Q`-}#_qoB!2))y;r?FONt~y!*a;JWICs zH_*mPC*qBd-21H)ZrpM2v?S47%hT+FQ!z*6e-62*j3~x39C#2fQjT-|Ee+%AG>1DV z-L=zc{X0C39j>;>cHNHQbBU#$NXsfS%Z$e4>Y|Cf*G~)Y@tmoh zxP`|hxU*MsY{n|yNp$+#lr22W@Mk(*NteBF++5y9)Q4{lZlkJOK2XUPzcXTe0|Q&Q ze{gQPs%pYEo+aD+8)##VB4T&ON^c%^XL(;hG}rQ+ccxD5DszWhR7MnI8Oq|r%5j!( ztF14cjPvic?%L_J{@3GEcCbapYuB8igm8!VXw9zKleV#?pGanvnPo;}a&^%}-s`8u z_1?XEd+ZC8%?G?7l+Kqa-OEzT%)G+ze`k8El5Xq=X63&`)g>Y&+tIq?y~se?q<6em zb(V7Ypw^x*>0>oaxayyWulT-zXs+e4FOt?d+@eZE|M#S!T;8u7rxQzsb7wKZ-3)350Pc`(`o&k3zWqc8L$21Q+k4a_%N?)E%Xz~tU;M0 zAXoP_k@xxuV%d{-@c1BSVsl4re>A?blCJE{h^;;~FNgLZD*V)Qou8U*^SBwjz`*6H zqhGyH6Wf!w^K{wX6Yws<{LOXOZgol^e#h}mcPo=jkwf1^`Q;mXt? zO-|K1*NiFYCYIE0JLy?iVJ{{c{n#wo|G?IL+|ih{ mSXZ<$y~uZQHhO+q+rYwym*~?#$Ny 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 XG-6mf-+XB%{6 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 diff --git a/src/eepp/graphics/richtext.cpp b/src/eepp/graphics/richtext.cpp index f9698d303..a7b7fa348 100644 --- a/src/eepp/graphics/richtext.cpp +++ b/src/eepp/graphics/richtext.cpp @@ -551,9 +551,8 @@ void RichText::updateLayout() { Float ascent = fontStyle.Font->getAscent( fontStyle.CharacterSize ); Float height = - pText->lineHeight > 0 ? pText->lineHeight - : mLineHeight > 0 - ? mLineHeight + pText->lineHeight > 0 + ? pText->lineHeight : fontStyle.Font->getLineSpacing( fontStyle.CharacterSize ); Float spanWidth = renderSpanText->getTextWidth(); @@ -844,9 +843,8 @@ void RichText::updateLayout() { renderSpanText->setStyleConfig( fontStyle ); Float ascent = fontStyle.Font->getAscent( fontStyle.CharacterSize ); - Float height = pText->lineHeight > 0 ? pText->lineHeight - : mLineHeight > 0 - ? mLineHeight + Float height = pText->lineHeight > 0 + ? pText->lineHeight : fontStyle.Font->getLineSpacing( fontStyle.CharacterSize ); Float spanWidth = renderSpanText->getTextWidth(); diff --git a/src/tests/unit_tests/uihtml_tests.cpp b/src/tests/unit_tests/uihtml_tests.cpp index 3bd2a1fb4..981f8e0bd 100644 --- a/src/tests/unit_tests/uihtml_tests.cpp +++ b/src/tests/unit_tests/uihtml_tests.cpp @@ -170,6 +170,14 @@ UTEST( UIRichText, anchorMargins ) { SceneManager::instance()->draw(); win->display(); + auto anchors = sceneNode->getRoot()->findAllByTag( "a" ); + + for ( auto anchor : anchors ) { + auto a = anchor->asType(); + EXPECT_EQ( anchor->getPixelsSize().getHeight(), + a->getFont()->getLineSpacing( a->getFontSize() ) ); + } + compareImages( utest_state, utest_result, win, "eepp-ui-anchor-margins", "html" ); Engine::destroySingleton();