mirror of
https://github.com/LadybirdBrowser/ladybird.git
synced 2025-05-05 10:42:51 +00:00
LibWeb: Update SVG get_path()
API to take a viewport size
This will allow resolving paths that use sizes that are relative to the viewport. This necessarily removes the on element caching, which has been redundant for a while as computed paths are stored on the paintable.
This commit is contained in:
parent
1fbf1073ab
commit
b9afea40e6
Notes:
sideshowbarker
2024-07-19 01:59:31 +09:00
Author: https://github.com/MacDue
Commit: b9afea40e6
Pull-request: https://github.com/SerenityOS/serenity/pull/23455
Issue: https://github.com/SerenityOS/serenity/issues/23121
16 changed files with 55 additions and 126 deletions
|
@ -99,10 +99,8 @@ void SVGPathElement::attribute_changed(FlyString const& name, Optional<String> c
|
|||
{
|
||||
SVGGeometryElement::attribute_changed(name, value);
|
||||
|
||||
if (name == "d") {
|
||||
if (name == "d")
|
||||
m_instructions = AttributeParser::parse_path_data(value.value_or(String {}));
|
||||
m_path.clear();
|
||||
}
|
||||
}
|
||||
|
||||
Gfx::Path path_from_path_instructions(ReadonlySpan<PathInstruction> instructions)
|
||||
|
@ -273,12 +271,9 @@ Gfx::Path path_from_path_instructions(ReadonlySpan<PathInstruction> instructions
|
|||
return path;
|
||||
}
|
||||
|
||||
Gfx::Path& SVGPathElement::get_path()
|
||||
Gfx::Path SVGPathElement::get_path(CSSPixelSize)
|
||||
{
|
||||
if (!m_path.has_value()) {
|
||||
m_path = path_from_path_instructions(m_instructions);
|
||||
}
|
||||
return m_path.value();
|
||||
return path_from_path_instructions(m_instructions);
|
||||
}
|
||||
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue