Matthias Clasen
ad9fb1e101
Improve quad and conic decomposition
...
If the control point is equal to either
start or end, just emit a line. This improves
the rendering of rounded rectangles with such
corners.
2023-08-27 16:57:03 -04:00
Matthias Clasen
02a9652af4
Use a more compact representation for circles
...
Print circles as M-o-o-o-o-z.
2023-08-27 14:32:21 -04:00
Matthias Clasen
6f823d2d0d
gtk-demo: Add a few path benchmarks
...
The Tiger and Graph examples in the fishbowl test
path handling.
2023-08-27 12:59:10 -04:00
Matthias Clasen
a5c9cd5657
Merge branch 'rectangle-contour' into 'main'
...
Add a rectangle contour
See merge request GNOME/gtk!6351
2023-08-27 16:46:12 +00:00
Matthias Clasen
21ab5b6fa3
Merge branch 'matthiasc/for-main' into 'main'
...
Add a test for rectangle segments
See merge request GNOME/gtk!6352
2023-08-27 16:45:58 +00:00
Benjamin Otte
2582fd45e4
demos: Add cute maze demo
2023-08-27 12:45:25 -04:00
Matthias Clasen
0a28a5d53a
Add a rectangle contour
...
Add a contour that optimizes some things for
rectangles. Also add rectangle detection to the
path parser, and add tests similar to what we
have for the other special contours.
2023-08-27 12:36:56 -04:00
Matthias Clasen
ddd4855bbc
Add a test for rectangle segments
2023-08-27 12:36:30 -04:00
Matthias Clasen
204216e3d5
Merge branch 'matthiasc/for-main' into 'main'
...
Drop unused code
See merge request GNOME/gtk!6350
2023-08-27 16:19:16 +00:00
Matthias Clasen
1e6a124665
Correct the docs of gsk_path_builder_add_rect
...
The path does *not* always go clockwise!
2023-08-27 12:18:36 -04:00
Matthias Clasen
78c5aff956
Test special contours harder
...
Check that the start- and endpoint work
as expected and verify that their winding
numbers match the ones of the standard contour,
and are negated when the contour is reversed.
2023-08-27 11:47:40 -04:00
Matthias Clasen
8d1844135b
path: Add a comment
2023-08-27 10:10:08 -04:00
Matthias Clasen
b5dd9dae0d
rounded rect contour: Fix an oversight
...
The close operation takes 2 points, so our array
was one too short. Oops.
2023-08-27 10:09:32 -04:00
Matthias Clasen
ebcb518e4f
Cosmetics
2023-08-27 09:50:16 -04:00
Matthias Clasen
b7ea22f168
Drop unused code
...
Nobody is calling gsk_contour_get_start_end, so drop
this internal API.
2023-08-27 09:39:59 -04:00
Matthias Clasen
f0b3381660
Merge branch 'rounded-rect-contour' into 'main'
...
path: Add a rounded rect contour
See merge request GNOME/gtk!6347
2023-08-27 13:36:53 +00:00
Matthias Clasen
0796c72049
Add roundtrip tests for rounded rect contours
...
These should survive roundtrips through the
path parser as well now.
2023-08-27 09:31:17 -04:00
Matthias Clasen
822e988efe
path: Recognize rounded rects when parsing
...
We can look out for M-L-O-L-O-L-O-L-O-Z patterns
with matching numbers.
2023-08-27 09:31:17 -04:00
Matthias Clasen
cee043f977
Add a rounded rect contour
...
This special contour takes advantage of its
rounded-rect-ness for speeding up bounding
boxes and winding numbers. It falls back
to the standard contour code for everything
else.
2023-08-27 09:29:19 -04:00
Matthias Clasen
b420540b15
Merge branch 'matthiasc/for-main' into 'main'
...
Simplify the path spinner demo
See merge request GNOME/gtk!6349
2023-08-27 13:27:50 +00:00
Matthias Clasen
031c0ec3e5
pathpoint: Add some debug API
...
Add a private gsk_path_point_to_string that
can be called in the debugger if you want
to see the contents of a GskPathPoint and
are too lazy to cast it to GskRealPathPoint
yourself.
2023-08-27 09:14:47 -04:00
Matthias Clasen
43b6822eb0
Add roundtrip tests for special contours
...
So far, we only have a circle contour.
Check that it survives a roundtrip through
gsk_path_to_string and gsk_path_parse.
2023-08-27 09:14:03 -04:00
Matthias Clasen
ba3a657c48
contour: Add some debug API
...
Add a private way to get the class of a contour,
so we can test that roundtrips through gsk_path_parse
work as expected.
2023-08-27 09:13:32 -04:00
Matthias Clasen
5f2f116c28
circle contour: Fix a typo
2023-08-27 07:43:55 -04:00
Matthias Clasen
1db75e521d
Simplify the path spinner demo
...
The transforms were obscuring a simple
calculation here.
2023-08-27 07:43:55 -04:00
Matthias Clasen
2297a353b8
Merge branch 'circle-contour' into 'main'
...
path: Add a circle contour
See merge request GNOME/gtk!6345
2023-08-27 11:12:51 +00:00
Matthias Clasen
80903e5f44
Merge branch 'bilelmoussaoui/gi' into 'main'
...
gi: Add missing since annotation
See merge request GNOME/gtk!6348
2023-08-27 11:05:31 +00:00
Bilal Elmoussaoui
7342ce5bca
gi: Add missing since annotation
2023-08-27 08:17:00 +00:00
Matthias Clasen
167b38dfa1
contour: Some reactoring
...
Make a default print implementation, and use it.
2023-08-26 23:42:52 -04:00
Matthias Clasen
ead88c36ec
path: Add circle tests
2023-08-26 23:42:52 -04:00
Matthias Clasen
b8a3d7fa00
path: Recognize circles when parsing
...
We can look out for the tell-tale
M-O-O-O-O-Z and turn it into a circle
contour.
2023-08-26 23:42:52 -04:00
Matthias Clasen
0fce24674a
path: Add a circle contour
...
This special contour takes advantage of the
circle definition to speed up things like
hit testing and closest point determination.
2023-08-26 23:42:52 -04:00
Matthias Clasen
99ad585252
Merge branch 'measure-speedups' into 'main'
...
contour: Stop doing the roundtrip test
See merge request GNOME/gtk!6342
2023-08-27 01:13:41 +00:00
Matthias Clasen
949b6692ac
Merge branch 'matthiasc/for-main' into 'main'
...
Drop unused code
See merge request GNOME/gtk!6344
2023-08-26 16:46:49 +00:00
Piotr Drąg
eb0479d8ed
Update POTFILES.in and POTFILES.skip
2023-08-26 17:52:22 +02:00
Matthias Clasen
6defdb4e8a
Drop unused code
...
we are not using any gsk_spline functions currently.
2023-08-26 11:29:09 -04:00
Matthias Clasen
9fdad6d4ee
Make randomized path tests less precise
...
Bump the epsilon in test_split to make these
tests survive longer. They still fail eventually,
unfortunately.
2023-08-26 11:23:02 -04:00
Matthias Clasen
b6e285844f
Make curve tests pass
2023-08-26 11:22:58 -04:00
Matthias Clasen
c989a06718
pathmeasure: compute samples on demand
...
Only do the work for a curve the first time
we need it. This should greatly speed up
use cases where you only create a measure
to get the length of the path.
2023-08-26 10:23:02 -04:00
Matthias Clasen
1c8bd8658d
curve: Cosmetics
2023-08-26 10:23:02 -04:00
Matthias Clasen
ab50cba4e9
curve: Reduce the order of our approximation
...
Use 24 samples instead of 32.
2023-08-26 10:23:02 -04:00
Matthias Clasen
57918813e2
contour: Stop doing the roundtrip test
...
Doing inverse arclength computations is
a very high overhead operation. And the
tests still pass without it.
2023-08-26 09:39:49 -04:00
Matthias Clasen
a4df8d8818
Merge branch 'path-node-tests' into 'main'
...
css: Replace border rendering code with GskPath
See merge request GNOME/gtk!6341
2023-08-26 12:13:04 +00:00
Matthias Clasen
4b00cfc1ce
Merge branch 'macos_ci' into 'main'
...
Disable macOS CI for forks
See merge request GNOME/gtk!6337
2023-08-26 11:43:57 +00:00
Matthias Clasen
889688c978
Add more fill and stroke node tests
2023-08-26 07:39:23 -04:00
Matthias Clasen
0bf1ae033d
Document node format for stroke and fill nodes
2023-08-26 07:39:23 -04:00
Jordi Mas
994afcaeed
Update Catalan translation
2023-08-26 09:50:31 +02:00
Matthias Clasen
b69cc832ef
Merge branch 'path-tool-restrict' into 'main'
...
path-tool: Add a restrict command
See merge request GNOME/gtk!6340
2023-08-26 04:24:06 +00:00
Matthias Clasen
ca188b41ae
post-release version bump
2023-08-25 22:29:09 -04:00
Matthias Clasen
81c8d1dd28
path-tool: Add length to info output
...
This requires GskPathMeasure.
2023-08-25 22:26:54 -04:00