Sam Atkins
389f1ee6f5
LibGfx: Add method for copying a Path with a transform applied
...
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-08-14 11:30:40 +02:00
Idan Horowitz
086969277e
Everywhere: Run clang-format
2022-04-01 21:24:45 +01:00
Lenny Maiorani
9c56a83b76
Libraries: Use default constructors/destructors in LibGfx
...
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-17 17:23:49 +00:00
Simon Danner
f0a1ab6f84
LibWeb: Keep SVG elliptical arc shape when applying viewbox
...
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-03-12 15:38:55 +01:00
Sam Atkins
aa2f20fb60
LibGfx: Add Path::[horizontal,vertical]_path_to()
...
The SVG spec describes some path operations using these, so we might as
well have them. :^)
2022-02-11 21:38:27 +01:00
Ali Mohammad Pur
433725fef2
LibGfx: Implement cubic bezier curves by splitting them to subcurves
...
This makes them significantly more nicer-looking, and fixes a FIXME :^)
2021-09-18 02:12:38 +04:30
Andreas Kling
8c863ad959
LibGfx: Make Path::bounding_box() and Path::split_lines() const
...
Use a const_cast internally when segmentizing. As far as clients are
concerned, these are const operations.
2021-09-17 13:40:34 +02:00
Andreas Kling
09d13e437b
LibGfx: Add Path::cubic_bezier_curve_to()
...
This is pretty unsophisticated as it will simply add a fixed number of
of line segments approximating the curve. Still better than nothing.
2021-09-15 20:57:43 +02:00
Matthew Olsson
b6c884d20c
LibGfx: Add Path::clear
2021-05-25 00:24:09 +04:30
Andreas Kling
b91c49364d
AK: Rename adopt() to adopt_ref()
...
This makes it more symmetrical with adopt_own() (which is used to
create a NonnullOwnPtr from the result of a naked new.)
2021-04-23 16:46:57 +02:00
Brian Gianforcaro
1682f0b760
Everything: Move to SPDX license identifiers in all files.
...
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-22 11:22:27 +02:00
AnotherTest
801daf47f0
LibGfx+LibWeb: Wire up CanvasRenderingContext2D.ellipse()
...
Note that this is *extremely* naive, and not very good at being correct.
2021-04-15 17:50:16 +02:00
AnotherTest
6c05d6d370
LibGfx: Add a Path::arc_to() helper
...
...That just uses elliptical_arc_to().
2021-04-15 17:50:16 +02:00
AnotherTest
1ea466661f
LibGfx+LibWeb: Move out the EllipticArcTo() logic into Path
...
At its previous state, the interface allowed invalid "ellipses" to be
specified, instead of doing that, simply use the parameters that SVG
uses :^)
2021-04-15 17:50:16 +02:00
Andreas Kling
ef1e5db1d0
Everywhere: Remove klog(), dbg() and purge all LogStream usage :^)
...
Good-bye LogStream. Long live AK::Format!
2021-03-12 17:29:37 +01:00
Andreas Kling
5d180d1f99
Everywhere: Rename ASSERT => VERIFY
...
(...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-02-23 20:56:54 +01:00
Andreas Kling
13d7c09125
Libraries: Move to Userland/Libraries/
2021-01-12 12:17:46 +01:00