mirror of
https://github.com/RGBCube/serenity
synced 2025-07-25 15:57:45 +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;
|
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:
|
case PathInstructionType::SmoothCurve:
|
||||||
// Instead of crashing the browser every time we come across an SVG
|
// Instead of crashing the browser every time we come across an SVG
|
||||||
// with these path instructions, let's just skip them
|
// with these path instructions, let's just skip them
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue