mirror of
https://github.com/LadybirdBrowser/ladybird.git
synced 2025-08-05 15:49:11 +00:00
LibWeb/SVG: Move path data into Path.{h,cpp}
More things need this than just the `<path>` element, so let's avoid having to include `SVGPathElement.h` in places that don't need it. Minor changes at the same time: - Wrap it in a Path class - Specify underlying type for PathInstructionType - Make a couple of free functions into methods - Give PathInstruction an operator== No functionality changes.
This commit is contained in:
parent
07b5b7ffb6
commit
6b53454b68
Notes:
github-actions[bot]
2025-07-17 18:00:44 +00:00
Author: https://github.com/AtkinsSJ
Commit: 6b53454b68
Pull-request: https://github.com/LadybirdBrowser/ladybird/pull/5491
Reviewed-by: https://github.com/kalenikaliaksandr ✅
9 changed files with 322 additions and 272 deletions
|
@ -26,7 +26,7 @@ Optional<Vector<Transform>> AttributeParser::parse_transform(StringView input)
|
|||
return parser.parse_transform();
|
||||
}
|
||||
|
||||
Vector<PathInstruction> AttributeParser::parse_path_data(StringView input)
|
||||
Path AttributeParser::parse_path_data(StringView input)
|
||||
{
|
||||
AttributeParser parser { input };
|
||||
parser.parse_whitespace();
|
||||
|
@ -37,9 +37,9 @@ Vector<PathInstruction> AttributeParser::parse_path_data(StringView input)
|
|||
}
|
||||
if (!parser.m_instructions.is_empty() && parser.m_instructions[0].type != PathInstructionType::Move) {
|
||||
// Invalid. "A path data segment (if there is one) must begin with a "moveto" command."
|
||||
return {};
|
||||
return Path { {} };
|
||||
}
|
||||
return parser.m_instructions;
|
||||
return Path { parser.m_instructions };
|
||||
}
|
||||
|
||||
Optional<float> AttributeParser::parse_coordinate(StringView input)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue