Commit Graph

67447 Commits

Author SHA1 Message Date
Benjamin Otte
12fb007f3e testsuite: Add tests for gsk_path_measure_add_segment() 2020-11-26 03:16:23 +01:00
Benjamin Otte
17ac429242 gtk-demo: Add a text-on-path demo 2020-11-26 03:16:23 +01:00
Benjamin Otte
942eff9e9e xxx: path_fill demo 2020-11-26 03:16:23 +01:00
Benjamin Otte
f7ed53eaed path: Add gsk_path_measure_get_point()
Allows querying the coordinates and direction of any specific point on a
path.
2020-11-26 03:16:23 +01:00
Matthias Clasen
76f410100b path: Add gsk_path_add_circle()
Adds a circle contour, too.
2020-11-26 03:16:19 +01:00
Benjamin Otte
b7a365ce02 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-11-26 01:51:26 +01:00
Benjamin Otte
fa4e03caf3 path: Implement gsk_path_to_cairo() using foreach() 2020-11-26 01:51:26 +01:00
Benjamin Otte
75950a9da5 path: Add gsk_path_foreach() 2020-11-26 01:51:26 +01:00
Benjamin Otte
517f44999b path: Collect flags
We don't need them yet, but maybe later.
2020-11-26 01:51:26 +01:00
Benjamin Otte
ebc41d5bd4 testsuite: Add path tests 2020-11-26 01:51:26 +01:00
Benjamin Otte
c5befbadd7 pathmeasure: Add gsk_path_measure_add_segment()
This allows chunking paths, weeee.
2020-11-26 01:51:26 +01:00
Benjamin Otte
323a054a90 path: Add gsk_path_builder_add_path() 2020-11-26 01:51:26 +01:00
Benjamin Otte
aeb1ed01dd gsk: Add GskPathMeasure
An object to do measuring operations on paths - determining their
length, cutting off subpaths, things like that.
2020-11-26 01:51:26 +01:00
Benjamin Otte
b1daf88508 path: Change data structure for standard path
Instead of the Cairo method and imitating cairo_path_data_t, use the
Skia method and keep points and operations separate.

That way we get a points array that includes the starting point -
because it's always the end point of the previous operation.
2020-11-26 01:51:26 +01:00
Benjamin Otte
ebc0b9d1cc popover: Use fill and stroke nodes instead of Cairo
... to render the arrow.

The arrow should really be turned into a real thing - maybe an icon?
2020-11-26 01:51:26 +01:00
Benjamin Otte
043b9e1d4d snapshot: Add gtk_snapshot_push_stroke() 2020-11-26 01:51:26 +01:00
Benjamin Otte
22805d7c5a gsk: Add GskStrokeNode 2020-11-26 01:51:26 +01:00
Benjamin Otte
bd3d8fc143 gsk: Add GskStroke
It's unused in this commit. This just prepares the new object.
2020-11-26 01:32:40 +01:00
Benjamin Otte
6f2e97f537 demos: Add a simple demo filling a path 2020-11-25 15:51:30 +01:00
Benjamin Otte
ff5db3d7d1 snapshot: Add gtk_snapshot_push_fill() 2020-11-25 15:51:30 +01:00
Benjamin Otte
19161b89ad gsk: Add GskFillNode
Take a rendernode as source and a GskPath and fill the region in the
path just like cairo_fill() would.
2020-11-25 15:51:28 +01:00
Benjamin Otte
cab6491580 gsk: Add GskPath 2020-11-25 15:50:48 +01:00
Benjamin Otte
5c9a8f69e5 listview: Use the correct scroll policy
Use the horizontal policy for horizontal decisions, not the vertical
one.

This broke in 0011ce949c.
2020-11-25 15:50:48 +01:00
Benjamin Otte
fbe3f2e581 docs: Put render nodes in their own sections 2020-11-25 15:50:46 +01:00
Matthias Clasen
c84c014536 Merge branch 'wip/chergert/for-master' into 'master'
textview: fix precondition assertions

Closes #3386

See merge request GNOME/gtk!2886
2020-11-24 17:14:53 +00:00
Christian Hergert
1e994419ee textview: fix precondition assertions
It is a programmer error to call this with a child widget that has not
been placed within the GtkTextView.

Fixes #3386
2020-11-24 08:29:52 -08:00
Matthias Clasen
7b22c44b39 Merge branch 'fix-integer-overflow' into 'master'
gdk/win32: fix integer overflow in monitor refresh rate calculation

Closes #3394

See merge request GNOME/gtk!2884
2020-11-24 16:22:49 +00:00
Anders Jonsson
2e744260e0 Update Swedish translation 2020-11-23 22:09:28 +00:00
Volker Rümelin
7190a31b5f gdk/win32: fix integer overflow in monitor refresh rate calculation
In gdk/win32/gdkmonitor-win32.c in function
populate_monitor_devices_from_display_config() refresh->Numerator * 1000
overflows for refresh->Numerator > 4294976.

Cast the factor 1000 to UINT64 to prevent the overflow.

Fixes #3394
2020-11-23 21:42:58 +01:00
Matthias Clasen
729f007379 Merge branch 'no-more-devel-headers' into 'master'
Drop devel styling from our windows

See merge request GNOME/gtk!2882
2020-11-23 19:01:44 +00:00
Matthias Clasen
b75b359f19 Drop devel styling from our windows
We are about to do a stable release. Time to get used
again to plain old, boring header bars.
2020-11-23 12:10:01 -05:00
Emmanuele Bassi
d7de720275 Merge branch 'ebassi/for-master' into 'master'
Ebassi/for master

See merge request GNOME/gtk!2876
2020-11-23 15:41:03 +00:00
Emmanuele Bassi
ef86e46238 a11y: Cache the accessibility bus address
Just check for it once; doing it every time we failed to create an
ATContext is just going to fill up the logs.
2020-11-23 14:34:46 +00:00
Emmanuele Bassi
0a46baeb56 a11y: Turn critical warnings into debug messages
The accessibility bus might not be available, and if it isn't the case,
it means something has failed at a level where the user can't do much
about it. There's no need to emit a critical warning.
2020-11-23 14:34:46 +00:00
Emmanuele Bassi
fd3a6299ce Merge branch 'ebassi/glib-min-version' into 'master'
Ebassi/glib min version

See merge request GNOME/gtk!2880
2020-11-23 14:33:20 +00:00
Emmanuele Bassi
803b147483 Disable deprecation warnings from GLib
We don't want to test the latest changes in GLib in our own build.
2020-11-23 13:04:11 +00:00
Emmanuele Bassi
1f44319588 Drop redundant dependencies
PangoCairo already depends on Pango; Cairo-gobject already depends on
Cairo.
2020-11-23 13:04:11 +00:00
Emmanuele Bassi
505478bc59 Drop GLib dependency from GTK's declared dependencies
We depend on GObject, which already depends on GLib; on older versions
of Meson, this ends up trying to depend on the system copy of GLib,
instead of the sub-project copy, in case the version of GLib we have
installed is too old.
2020-11-23 12:29:32 +00:00
Emmanuele Bassi
de7833b6a0 Use the right GLib macros for version checking
There's a typo in the name, and we never noticed.
2020-11-23 12:06:22 +00:00
Emmanuele Bassi
3a1b2083d6 Do not depend on GLib API introduced after 2.66
To avoid bleeding edge deprecations we use GLIB_VERSION_MIN_REQUIRED and
GLIB_VERSION_MAX_ALLOWED. Since we depend on GLib 2.66, we cannot use
API introduced in 2.67, even when conditionally compiled.
2020-11-23 12:06:22 +00:00
nana-4
3e996f61ae icon-browser: Add .sidebar style class in the main window
So the sidebar can get the proper background and border colors.
2020-11-23 10:51:58 +01:00
nana-4
56eac4f846 gtk-demo: Add .sidebar style class in the main window
So the sidebar can get the proper background and border colors.
2020-11-23 10:51:58 +01:00
nana-4
61dcb685b2 Adwaita: Unify sidebar background-color
The sidebar item style is already unified. The sidebar background-color
should be unified as well.

See https://gitlab.gnome.org/GNOME/gtk/-/issues/3382
2020-11-23 10:51:58 +01:00
nana-4
bd0d75e237 Adwaita: Make sidebar row styling better
- Reorder declaration blocks for code legibility.
- Don't lighten text color on :hover and :selected for better contrast.
- Add missing :focus-visible:focus-within styling to non-:selected row.
2020-11-23 10:51:58 +01:00
nana-4
179fc68355 Adwaita: Fix some sidebar sizing
- Don't set the sidebar padding twice.
- Add padding to the assistant sidebar directly, as it doesn't have
  .navigation-sidebar internally.
- Set missing margin to the sidebar separator.

See https://gitlab.gnome.org/GNOME/gtk/-/issues/3382
2020-11-23 10:51:58 +01:00
nana-4
9828756e05 Adwaita: Move placessidebar-specific sizing from .navigation-sidebar
The common .navigation-sidebar styling should be more generic.
2020-11-23 10:51:58 +01:00
nana-4
40f2b49c0d Adwaita: Make treeexpander styling generic
The widget can be used outside .navigation-sidebar.

This also fixes the label misalignment in the widget.
2020-11-23 10:51:58 +01:00
nana-4
8e81cbef2c stacksidebar: Add missing .navigation-sidebar to the inner list
Also don't set :show-separators, which is not applied in other sidebars.

See https://gitlab.gnome.org/GNOME/gtk/-/issues/3382
2020-11-23 10:51:58 +01:00
Timm Bäder
47d572834b Merge branch 'scalebutton' into 'master'
properly set ScaleButton's parent_class

Closes #3381

See merge request GNOME/gtk!2877
2020-11-23 07:38:17 +00:00
Bilal Elmoussaoui
46601325f1 properly set ScaleButton's parent_class
GtkScaleButton doesn't subclass GtkButton anymore
Fixes #3381
2020-11-23 02:47:12 +01:00