1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2026-01-18 10:11:00 +00:00
serenity/Tests/LibWeb
MacDue 1bc7b0320e LibGfx: Approximate elliptical arcs with cubic beziers
Unlike all other primitives elliptical arcs are non-trivial to
manipulate, it's tricky to correctly apply a Gfx::AffineTransform to
them. Prior to this change, Path::copy_transformed() was still
incorrectly applying transforms such as flips and skews to arcs.

This patch very closely approximates arcs with cubic beziers (I can not
visually spot any differences), which can then be easily and correctly
transformed in all cases.

Most of the maths here was taken from:
https://mortoray.com/rendering-an-svg-elliptical-arc-as-bezier-curves/
(which came from https://www.joecridge.me/content/pdf/bezier-arcs.pdf,
now a dead link).
2023-07-16 06:22:55 +02:00
..
Layout LibGfx: Approximate elliptical arcs with cubic beziers 2023-07-16 06:22:55 +02:00
Text Tests/LibWeb: Verify setting {readable,writable}Type throws RangeError 2023-07-15 11:59:39 +02:00
WPT Tests/LibWeb: Add a flag to update expectation metadata in WPT runner 2023-06-14 20:50:32 +02:00
CMakeLists.txt LibWeb+Tests: Demonstrate slowness of CSS::value_id_from_string 2023-01-14 15:43:27 -07:00
rebaseline-libweb-test Tests/LibWeb: Update rebaseline-libweb-test for path changes 2023-06-10 21:46:33 +02:00
TestCSSIDSpeed.cpp LibWeb: Make value_id_from_string() return Optional 2023-05-25 06:36:10 +02:00
TestHTMLTokenizer.cpp Everywhere: Remove unintentional partial stream reads and writes 2023-03-13 15:16:20 +00:00
tokenizer-test.html LibWeb: Fix assertion failure when tokenizing JS regex literals 2021-07-15 01:47:22 +02:00