Benjamin Otte
3c363f00d5
path: Add flags to gsk_path_foreach()
...
This way we can default to the siplest possible foreach() output - like
cairo_copy_path_flat() decomposing everything into lines - and add flags
to get more and more fancy.
This will be useful to have conics automatically decomposed for Cairo
drawing or if we want to add more line types in the future.
2020-12-27 00:31:18 +01:00
Matthias Clasen
acdf04287d
Implement gsk_path_measure_in_fill
...
Implement this in the obvious way, using the decomposed form
of standard contours. Since the decomposed form is part of the
measure object, this api moves from gsk_path_in_fill to
gsk_path_measure_in_fill.
2020-12-27 00:31:18 +01:00
Matthias Clasen
2478963cbb
path: Implement gsk_path_parse
...
Implement the SVG path syntax to read back the strings
that we generate when serializing paths. The tests for
this code are taken from librsvg.
This includes an elliptical arc implementation according
to the SVG spec. The code is mostly taken from librsvg,
but pretty directly follows the SVG spec implementation
notes. We don't export this, since the parametrization
is inconvenient. We do want an arc_to API, but
these are not the arcs we are looking for.
2020-12-27 00:31:18 +01:00
Matthias Clasen
69177416a0
stroke: Add miter limit
...
Add a miter limit to GskStroke. This will be needed to
fully implement line joins.
Also introduce the GSK_LINE_JOIN_MITER_CLIP value,
following SVG 2.0. cairo does not have it, so translate
it to plain miter when using cairo.
2020-12-27 00:31:18 +01:00
Benjamin Otte
237c37f6c2
pathbuilder: Add relative path commands
...
And gsk_path_builder_get_current_point().
They will be needed by the string parser.
2020-12-27 00:31:18 +01:00
Benjamin Otte
790a4201c3
path: Add gsk_path_measure_get_closest_point()
...
... and gsk_path_measure_get_closest_point_full().
Those 2 functions allow finding the closest point on a path to a given
point.
2020-12-27 00:31:18 +01:00
Benjamin Otte
e4c147cf2f
path: Add gsk_path_measure_get_point()
...
Allows querying the coordinates and direction of any specific point on a
path.
2020-12-27 00:31:18 +01:00
Matthias Clasen
fc2c6f1566
path: Add gsk_path_add_circle()
...
Adds a circle contour, too.
2020-12-27 00:31:18 +01:00
Benjamin Otte
b0d6130905
pathmeasure: Implement support for beziers
...
Instead of treating bezier curves as lines, we properly decompose them
into line segments now so that we can treat those as lines.
2020-12-27 00:31:18 +01:00
Benjamin Otte
801c63494c
path: Add gsk_path_foreach()
2020-12-27 00:31:17 +01:00
Benjamin Otte
483a4773cd
pathmeasure: Add gsk_path_measure_add_segment()
...
This allows chunking paths, weeee.
2020-12-27 00:31:17 +01:00
Benjamin Otte
c82ad0214e
path: Add gsk_path_builder_add_path()
2020-12-27 00:31:17 +01:00
Benjamin Otte
207feeb7a9
gsk: Add GskPathMeasure
...
An object to do measuring operations on paths - determining their
length, cutting off subpaths, things like that.
2020-12-27 00:31:17 +01:00
Benjamin Otte
118e41f432
snapshot: Add gtk_snapshot_push_stroke()
2020-12-27 00:31:17 +01:00
Benjamin Otte
c279e1aa1e
gsk: Add GskStroke
...
It's unused in this commit. This just prepares the new object.
2020-12-27 00:31:17 +01:00
Benjamin Otte
e7bbed54b5
snapshot: Add gtk_snapshot_push_fill()
2020-12-27 00:31:17 +01:00
Benjamin Otte
4eb7d68970
gsk: Add GskFillNode
...
Take a rendernode as source and a GskPath and fill the region in the
path just like cairo_fill() would.
2020-12-27 00:31:17 +01:00
Benjamin Otte
98337f7115
gsk: Add GskPath
2020-12-27 00:31:17 +01:00
Matthias Clasen
7e579bb59a
Merge branch 'wip/otte/for-master' into 'master'
...
Wip/otte/for master
See merge request GNOME/gtk!2997
2020-12-24 07:13:22 +00:00
Benjamin Otte
f85d939e5e
docs: Put render nodes in their own sections
2020-12-24 06:38:45 +01:00
Emmanuele Bassi
6c31ed53f4
docs: Fix typo and whitespace
2020-12-21 17:03:42 +00:00
wisp3rwind
9521f609d8
docs: backtick fixes
...
- in the gettext() examples, at least the _() triggers italics
- add missing closing backtick
2020-12-18 16:31:41 +01:00
Matthias Clasen
d33062795c
Merge branch 'ebassi/docs-for-master' into 'master'
...
Ebassi/docs for master
See merge request GNOME/gtk!2971
2020-12-17 23:59:41 +00:00
Matthias Clasen
3f56e8191f
Merge branch 'shortcuts' into 'master'
...
docs: Add separation between kinds of shortcuts in Keyboard input
See merge request GNOME/gtk!2964
2020-12-17 19:43:38 +00:00
Chris Mayo
bf4c3dc2c5
docs: Fix list of kinds of shortcuts in Keyboard input
...
Formatting in HTML was mangled.
2020-12-17 19:18:10 +00:00
Emmanuele Bassi
a5365ec8cb
docs: Add missing GTK types
...
If we don't specify the get_type() function, gtk-doc will not collect
properties and signals, and will use a different URL for the page.
2020-12-17 18:30:19 +00:00
Sebastian Keller
02f0681344
settings: Change gtk-cursor-aspect-ratio from float to double
...
Float properties can not be read from keyfiles. This was causing changes
to this property in settings.ini to be ignored. Fix this by changing it
to a double.
Technically this change could be considered an API break, but there are
no users of this property as float yet and it is early enough to expect
there to never be any.
Also document this change in the 3 to 4 migration guide since in gtk 3
this setting will be kept a float.
Fixes https://gitlab.gnome.org/GNOME/gtk/-/issues/3441
2020-12-16 22:35:36 +01:00
Emmanuele Bassi
9fa4c2f5b8
docs: Ignore gtkspinbuttonprivate.h
2020-12-16 16:29:01 +00:00
Emmanuele Bassi
73dda96711
docs: Add missing stanzas for gtk_test_accessible API
2020-12-16 16:29:01 +00:00
Emmanuele Bassi
d711acc954
docs: Ignore gtksorterprivate.h
2020-12-16 16:29:01 +00:00
Emmanuele Bassi
f24429e84a
docs: Remove private symbols
2020-12-16 16:29:00 +00:00
Emmanuele Bassi
fc4402b456
docs: Ignore gtkpasswordentryprivate.h
2020-12-16 16:29:00 +00:00
Emmanuele Bassi
344eb21bee
docs: Complete symbol coverage for GSK
...
100% symbol docs coverage.
241 symbols documented.
0 symbols incomplete.
0 not documented.
2020-12-16 16:29:00 +00:00
Emmanuele Bassi
4fb55b3270
docs: Complete symbol coverage for GDK
...
100% symbol docs coverage.
833 symbols documented.
0 symbols incomplete.
0 not documented.
What's left are just type system macros and windowing system opaque
structures.
2020-12-16 16:28:58 +00:00
Emmanuele Bassi
5d2278a5ca
docs: Add public symbols to the GTK reference
2020-12-15 16:21:20 +00:00
Emmanuele Bassi
ea5e186bb8
Hide GtkTextAttributes functions
...
The type is private, so making functions operating on it public is
pointless.
2020-12-15 16:20:21 +00:00
Emmanuele Bassi
3132b10bc0
docs: Add more private headers
2020-12-15 15:55:06 +00:00
Emmanuele Bassi
91bba794a6
docs: Add missing symbols to the GTK reference
2020-12-15 14:30:32 +00:00
Emmanuele Bassi
a6bd0c7eed
Remove stray mentions of GdkConfigureEvent
...
The event was removed, but some traces of it linger.
2020-12-15 13:58:52 +00:00
Emmanuele Bassi
ff351721b2
docs: Add missing symbols to the GDK reference
2020-12-15 13:47:40 +00:00
Emmanuele Bassi
f546e03d31
docs: Add missing symbols to the GSK reference
2020-12-15 13:35:19 +00:00
Emmanuele Bassi
bdbea0d037
docs: Add more ignored header for GSK
2020-12-15 13:31:02 +00:00
Emmanuele Bassi
99e0929d6c
build: Use a consistent style for Meson files
2020-12-15 12:46:59 +00:00
Emmanuele Bassi
08d52bee14
docs: Add note for the removal of GtkFileChooserButton
...
Point developers in the direction of GtkButton and GtkFileChooserNative.
2020-12-14 16:55:15 +00:00
Emmanuele Bassi
b8a651df47
Share the popcount() fallback for MSVC
...
We use __builtin_popcount() in a couple of places, so it makes sense to
have it in one header.
2020-12-09 16:06:52 +00:00
Matthias Clasen
1f141c1953
Merge branch 'wip/surface-state-rework' into 'master'
...
Rework surface state and geometry computation
See merge request GNOME/gtk!2885
2020-12-08 15:38:36 +00:00
Matthias Clasen
3b69facf0b
Mention window sizes in the migration guide
2020-12-07 20:37:30 +01:00
Matthias Clasen
a6bc4c95b1
docs: Add gtk_window_is_fullscreen
2020-12-07 20:37:30 +01:00
Matthias Clasen
3db0d06901
Properly remove gtk_window_get_size
...
It was still in the headers and the docs, but did
not have an implementation anymore.
2020-12-07 20:37:30 +01:00
Jonas Ådahl
40a9baa2db
gtk/native: Remove gtk_native_check_resize()
...
This is now handle by the corresponding implemenatations using per
non-gobject-type API.
2020-12-07 20:37:29 +01:00