summaryrefslogtreecommitdiffstats
path: root/widget/src/text/rich.rs
diff options
context:
space:
mode:
authorLibravatar Héctor Ramón Jiménez <hector@hecrj.dev>2024-07-28 15:40:22 +0200
committerLibravatar Héctor Ramón Jiménez <hector@hecrj.dev>2024-07-28 15:40:22 +0200
commit9ce55eb51113b79d57b981ccd971242528a36395 (patch)
tree8a3482278ee2ad2257c024f5b579925d279e3bf4 /widget/src/text/rich.rs
parentca31dcadd52b3be05bcf01aa0426bf4279ac5f13 (diff)
downloadiced-9ce55eb51113b79d57b981ccd971242528a36395.tar.gz
iced-9ce55eb51113b79d57b981ccd971242528a36395.tar.bz2
iced-9ce55eb51113b79d57b981ccd971242528a36395.zip
Make `underline` positioning aware of `line_height`
Diffstat (limited to 'widget/src/text/rich.rs')
-rw-r--r--widget/src/text/rich.rs16
1 files changed, 10 insertions, 6 deletions
diff --git a/widget/src/text/rich.rs b/widget/src/text/rich.rs
index d179c2d6..096056d4 100644
--- a/widget/src/text/rich.rs
+++ b/widget/src/text/rich.rs
@@ -285,14 +285,15 @@ where
}
if span.underline || is_hovered_link {
+ let size = span
+ .size
+ .or(self.size)
+ .unwrap_or(renderer.default_size());
+
let line_height = span
.line_height
.unwrap_or(self.line_height)
- .to_absolute(
- span.size
- .or(self.size)
- .unwrap_or(renderer.default_size()),
- );
+ .to_absolute(size);
for bounds in regions {
renderer.fill_quad(
@@ -302,7 +303,10 @@ where
+ translation
+ Vector::new(
0.0,
- line_height.0 * 0.8 + 1.0,
+ size.0
+ + (line_height.0 - size.0)
+ / 2.0
+ - size.0 * 0.08,
),
Size::new(bounds.width, 1.0),
),