mirror of
https://github.com/SerenityOS/serenity
synced 2024-07-22 02:26:11 +00:00
LibWeb: Use PaintableFragment::baseline() in paint_text_decoration()
No need to calculate baseline based on glyph height when we can get this information from a fragment.
This commit is contained in:
parent
1c4ce2c5f1
commit
d5e3158cfe
BIN
Tests/LibWeb/Ref/reference/images/text-decorations.png
Normal file
BIN
Tests/LibWeb/Ref/reference/images/text-decorations.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 1.7 KiB |
9
Tests/LibWeb/Ref/reference/text-decorations-ref.html
Normal file
9
Tests/LibWeb/Ref/reference/text-decorations-ref.html
Normal file
|
@ -0,0 +1,9 @@
|
|||
<style>
|
||||
* {
|
||||
margin: 0;
|
||||
}
|
||||
body {
|
||||
background-color: white;
|
||||
}
|
||||
</style>
|
||||
<img src="./images/text-decorations.png">
|
39
Tests/LibWeb/Ref/text-decorations.html
Normal file
39
Tests/LibWeb/Ref/text-decorations.html
Normal file
|
@ -0,0 +1,39 @@
|
|||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<link rel="match" href="reference/text-decorations-ref.html" />
|
||||
<style>
|
||||
.underline {
|
||||
text-decoration: underline;
|
||||
text-decoration-thickness: 2px;
|
||||
}
|
||||
|
||||
.overline {
|
||||
text-decoration: overline;
|
||||
text-decoration-thickness: 2px;
|
||||
}
|
||||
|
||||
.line-through {
|
||||
text-decoration: line-through;
|
||||
text-decoration-thickness: 2px;
|
||||
}
|
||||
|
||||
.underline-overline {
|
||||
text-decoration: underline overline;
|
||||
text-decoration-thickness: 2px;
|
||||
}
|
||||
|
||||
.underline-line-through {
|
||||
text-decoration: underline line-through;
|
||||
text-decoration-thickness: 2px;
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<p class="underline">Hello</p>
|
||||
<p class="overline">Hello</p>
|
||||
<p class="line-through">Hello</p>
|
||||
<p class="underline-overline">Hello</p>
|
||||
<p class="underline-line-through">Hello</p>
|
||||
</body>
|
||||
</html>
|
|
@ -505,7 +505,7 @@ void paint_text_decoration(PaintContext& context, Layout::Node const& text_node,
|
|||
auto& font = fragment.layout_node().first_available_font();
|
||||
auto fragment_box = fragment.absolute_rect();
|
||||
CSSPixels glyph_height = CSSPixels::nearest_value_for(font.pixel_size());
|
||||
auto baseline = fragment_box.height() / 2 - (glyph_height + 4) / 2 + glyph_height;
|
||||
auto baseline = fragment.baseline();
|
||||
|
||||
auto line_color = text_node.computed_values().text_decoration_color();
|
||||
|
||||
|
|
Loading…
Reference in a new issue