summaryrefslogtreecommitdiff
path: root/Userland/Libraries/LibGfx/Path.h
AgeCommit message (Collapse)Author
2022-12-07Meta+Userland: Pass Gfx::FloatPoint by valueMacDue
Just a small 8-byte value like Gfx::IntPoint.
2022-12-06Everywhere: Rename to_{string => deprecated_string}() where applicableLinus Groh
This will make it easier to support both string types at the same time while we convert code, and tracking down remaining uses. One big exception is Value::to_string() in LibJS, where the name is dictated by the ToString AO.
2022-12-06AK+Everywhere: Rename String to DeprecatedStringLinus Groh
We have a new, improved string type coming up in AK (OOM aware, no null state), and while it's going to use UTF-8, the name UTF8String is a mouthful - so let's free up the String name by renaming the existing class. Making the old one have an annoying name will hopefully also help with quick adoption :^)
2022-08-14LibGfx: Add method for copying a Path with a transform appliedSam Atkins
The Web's CanvasRenderingContext2D needs a way to draw a path with a transform applied to it, without modifying the original path, so here it is. :^)
2022-04-01Everywhere: Run clang-formatIdan Horowitz
2022-03-17Libraries: Use default constructors/destructors in LibGfxLenny Maiorani
https://isocpp.github.io/CppCoreGuidelines/CppCoreGuidelines#cother-other-default-operation-rules "The compiler is more likely to get the default semantics right and you cannot implement these functions better than the compiler."
2022-03-12LibWeb: Keep SVG elliptical arc shape when applying viewboxSimon Danner
When doing viewbox transforms, elliptical always had large arc and sweep flag set to false. Preserve these flags so they can be set correctly when applying viewbox transformations.
2022-02-11LibGfx: Add Path::[horizontal,vertical]_path_to()Sam Atkins
The SVG spec describes some path operations using these, so we might as well have them. :^)
2021-09-18LibGfx: Implement cubic bezier curves by splitting them to subcurvesAli Mohammad Pur
This makes them significantly more nicer-looking, and fixes a FIXME :^)
2021-09-17LibGfx: Make Path::bounding_box() and Path::split_lines() constAndreas Kling
Use a const_cast internally when segmentizing. As far as clients are concerned, these are const operations.
2021-09-15LibGfx: Add Path::cubic_bezier_curve_to()Andreas Kling
This is pretty unsophisticated as it will simply add a fixed number of of line segments approximating the curve. Still better than nothing.
2021-05-25LibGfx: Add Path::clearMatthew Olsson
2021-04-23AK: Rename adopt() to adopt_ref()Andreas Kling
This makes it more symmetrical with adopt_own() (which is used to create a NonnullOwnPtr from the result of a naked new.)
2021-04-22Everything: Move to SPDX license identifiers in all files.Brian Gianforcaro
SPDX License Identifiers are a more compact / standardized way of representing file license information. See: https://spdx.dev/resources/use/#identifiers This was done with the `ambr` search and replace tool. ambr --no-parent-ignore --key-from-file --rep-from-file key.txt rep.txt *
2021-04-15LibGfx+LibWeb: Wire up CanvasRenderingContext2D.ellipse()AnotherTest
Note that this is *extremely* naive, and not very good at being correct.
2021-04-15LibGfx: Add a Path::arc_to() helperAnotherTest
...That just uses elliptical_arc_to().
2021-04-15LibGfx+LibWeb: Move out the EllipticArcTo() logic into PathAnotherTest
At its previous state, the interface allowed invalid "ellipses" to be specified, instead of doing that, simply use the parameters that SVG uses :^)
2021-03-12Everywhere: Remove klog(), dbg() and purge all LogStream usage :^)Andreas Kling
Good-bye LogStream. Long live AK::Format!
2021-02-23Everywhere: Rename ASSERT => VERIFYAndreas Kling
(...and ASSERT_NOT_REACHED => VERIFY_NOT_REACHED) Since all of these checks are done in release builds as well, let's rename them to VERIFY to prevent confusion, as everyone is used to assertions being compiled out in release. We can introduce a new ASSERT macro that is specifically for debug checks, but I'm doing this wholesale conversion first since we've accumulated thousands of these already, and it's not immediately obvious which ones are suitable for ASSERT.
2021-01-12Libraries: Move to Userland/Libraries/Andreas Kling