servo/components/layout/display_list
Martin Robinson 7f0cebd442
layout: Support wavy and double for text-decoration-line (#37079)
- Add support for `text-decoration-line: double`: Line drawing is done
similar to how it works in Firefox and Chromium. A gap of half of line
thickness is added between each line.
- Fix support for `text-decoration-line: wavy`: Wavy lines rectangles
were not calcualted properly, which meant they were rendered as solid
lines. Now the amplitude of the wave is 1.5 times line thickness.

Testing: A manual test is updated `tests/html/text_deco_simple.html`
to cover more cases. In general, rendering of text-decorations is
difficult
to test via reftesting.
Fixes #17887.

Signed-off-by: Martin Robinson <mrobinson@igalia.com>
2025-05-22 17:42:50 +00:00
..
background.rs layout: Split stacking context and display list construction (#37047) 2025-05-20 13:42:39 +00:00
clip.rs layout: Split stacking context and display list construction (#37047) 2025-05-20 13:42:39 +00:00
conversions.rs layout: Support wavy and double for text-decoration-line (#37079) 2025-05-22 17:42:50 +00:00
gradient.rs layout: Combine layout_2020 and layout_thread_2020 into a crate called layout (#36613) 2025-04-19 10:17:03 +00:00
mod.rs layout: Support wavy and double for text-decoration-line (#37079) 2025-05-22 17:42:50 +00:00
stacking_context.rs layout: Move text decoration propagation to stacking context tree construction (#37069) 2025-05-21 16:38:29 +00:00