mirror of
https://github.com/LadybirdBrowser/ladybird.git
synced 2025-09-06 01:26:22 +00:00
LibWeb: Parse stroke-{linejoin,miterlimit} attributes
Similar to LadybirdBrowser/ladybird#1714. We don't implement the linejoin values `miter-clip` and `arcs`, because according to the SVG 2 spec: > The values miter-clip and arcs of the stroke-linejoin property are at > risk. There are no known browser implementations. See issue Github > issue w3c/svgwg#592. Nothing uses this yet. The next step is to change SVGPathPaintable::paint() to read `graphics_element.stroke_linejoin()` and `graphics_element.stroke_miterlimit()` when painting.
This commit is contained in:
parent
eafcd82e82
commit
421cf8d9bf
Notes:
github-actions[bot]
2024-10-29 22:37:55 +00:00
Author: https://github.com/nico
Commit: 421cf8d9bf
Pull-request: https://github.com/LadybirdBrowser/ladybird/pull/2030
Reviewed-by: https://github.com/AtkinsSJ ✅
10 changed files with 80 additions and 1 deletions
|
@ -326,6 +326,25 @@ Optional<CSS::StrokeLinecap> StyleProperties::stroke_linecap() const
|
|||
return keyword_to_stroke_linecap(value->to_keyword());
|
||||
}
|
||||
|
||||
Optional<CSS::StrokeLinejoin> StyleProperties::stroke_linejoin() const
|
||||
{
|
||||
auto value = property(CSS::PropertyID::StrokeLinejoin);
|
||||
return keyword_to_stroke_linejoin(value->to_keyword());
|
||||
}
|
||||
|
||||
NumberOrCalculated StyleProperties::stroke_miterlimit() const
|
||||
{
|
||||
auto value = property(CSS::PropertyID::StrokeMiterlimit);
|
||||
|
||||
if (value->is_math()) {
|
||||
auto const& math_value = value->as_math();
|
||||
VERIFY(math_value.resolves_to_number());
|
||||
return NumberOrCalculated { math_value };
|
||||
}
|
||||
|
||||
return NumberOrCalculated { value->as_number().number() };
|
||||
}
|
||||
|
||||
float StyleProperties::stroke_opacity() const
|
||||
{
|
||||
auto value = property(CSS::PropertyID::StrokeOpacity);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue