mirror of
https://github.com/RGBCube/serenity
synced 2025-05-31 12:48:10 +00:00
LibWeb: Support "c" and "C" curves in SVG <path> data
These instructions now generate cubic Bézier curves.
This commit is contained in:
parent
09d13e437b
commit
422d725c79
1 changed files with 13 additions and 1 deletions
|
@ -584,7 +584,19 @@ Gfx::Path& SVGPathElement::get_path()
|
|||
break;
|
||||
}
|
||||
|
||||
case PathInstructionType::Curve:
|
||||
case PathInstructionType::Curve: {
|
||||
Gfx::FloatPoint c1 = { data[0], data[1] };
|
||||
Gfx::FloatPoint c2 = { data[2], data[3] };
|
||||
Gfx::FloatPoint p2 = { data[4], data[5] };
|
||||
if (!absolute) {
|
||||
p2 += path.segments().last().point();
|
||||
c1 += path.segments().last().point();
|
||||
c2 += path.segments().last().point();
|
||||
}
|
||||
path.cubic_bezier_curve_to(c1, c2, p2);
|
||||
break;
|
||||
}
|
||||
|
||||
case PathInstructionType::SmoothCurve:
|
||||
// Instead of crashing the browser every time we come across an SVG
|
||||
// with these path instructions, let's just skip them
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue