Commit Graph

80669 Commits

Author SHA1 Message Date
Maximiliano Sandoval
c73ff197e0
gsk: meson: Document renderers
These contain docstrings.
2024-06-29 15:14:32 +02:00
Maximiliano Sandoval
1ad1a13085
gtktestatcontext: Document assertion_meesage_role
This, and many methods in this file, lands in GIR and should be documented.
2024-06-29 15:14:32 +02:00
Maximiliano Sandoval
50e3a37b7a
gtk: meson: Add files with public API correctly
Example symbols documented in these files are:

- gtk_snapshot_append_layout
- gtk_accessible_state_init_value
- gtk_text_mark_set_visible
2024-06-29 15:14:31 +02:00
Matthias Clasen
7d3970546c Merge branch 'fix_help_text' into 'main'
a11y: Fix the help text property bridging to ATSPI

See merge request GNOME/gtk!7348
2024-06-29 13:01:09 +00:00
Matthias Clasen
3d739c6a15 Merge branch 'matthiasc/for-main' into 'main'
rendernode: Set proper values for fill and stroke nodes

See merge request GNOME/gtk!7394
2024-06-29 12:55:21 +00:00
Benjamin Otte
16692f9f5e vulkan: Remove unused function 2024-06-29 07:14:03 -04:00
Benjamin Otte
4f453ab521 vulkan: Rename variable
It's not a format.
2024-06-29 07:13:54 -04:00
Benjamin Otte
72a4fae8dc vulkan: More slight refactoring
This applies the same refactoring as commit
5fbdec2a29 to another function.
2024-06-29 07:13:27 -04:00
Matthias Clasen
36c7d05445 gpu: Keep actual clear values in clear op
Keeping the GdkRGBA requires doing later conversions, which isn't
necessary if we just keep the already converted float[4].

It also prepares for future color states, where the color will need to
be converted using the colorstate.
2024-06-29 07:12:28 -04:00
Matthias Clasen
f3d5683f67 rendernode: Fix container nodes preferred depth
The current code injects an implicit GDK_MEMORY_U8 into this.
It is harmless now, but may not be in future. So avoid it.
2024-06-29 07:12:10 -04:00
Benjamin Otte
120887979d rendernode: Set proper values for fill and stroke nodes
Fill and stroke nodes were not reporting proper offscreen-for-opacity
and preferred depth.

This was unlikely to have been noticed as their child is usually a solid
color.
2024-06-29 07:12:10 -04:00
Benjamin Otte
77434fc9f9 testsuite: Use a proper texture on defaultvalue test 2024-06-29 07:12:10 -04:00
Benjamin Otte
830846b39c testsuite: Use a proper texture on objects-finalize test 2024-06-29 07:12:10 -04:00
Benjamin Otte
3073704010 testsuite: Use a proper texture in notify test 2024-06-29 07:12:10 -04:00
Matthias Clasen
e165dcf78d Merge branch 'text-selection-changes-cleanup' into 'main'
text: Move a11y selection updates where they belong

Closes #6805

See merge request GNOME/gtk!7390
2024-06-29 10:45:54 +00:00
Matthias Clasen
2d2fc59597 Merge branch 'css-used-value-fixes' into 'main'
css: Fix oversights in handling of used values

Closes #6814

See merge request GNOME/gtk!7393
2024-06-29 10:25:14 +00:00
Matthias Clasen
89020892a8 css: Fix oversights in handling of used values
Some of the properties where currentcolor might make a difference
between computed and used value are arrays, so we need to be able
to resolve arrays of values. Change things around to make resolve
a GtkCssValue vfunc and turn the existing resolve() implementations
into implementations of that vfunc.

Fixes: #6814
2024-06-28 21:18:38 -04:00
Matthias Clasen
653f4d4183 Merge branch 'matthiasc/for-main' into 'main'
dnd: Avoid a critical

See merge request GNOME/gtk!7392
2024-06-28 19:19:46 +00:00
Matthias Clasen
d998d703ff testdnd: Human-readable spew
Nicer to read the names of actions and other enum values.
2024-06-28 14:12:45 -04:00
Matthias Clasen
43bec39794 dnd: Avoid a critical
There is no way for callers of this function to find out if
the drop is still the same, so spewing a critical if it isn't
seems useless. Just quietly do nothing.
2024-06-28 14:12:35 -04:00
Matthias Clasen
e2067e3703 text: Move a11y selection updates where they belong
gtk_text_set_positions is the central place for any changes to
text caret and selection bound. And it already filters out no-change
updates. So move the remaining signals from
gtk_text_set_selection_bounds here, for more accurate updates
of cursor positions in accessibility.

Fixes: #6805
2024-06-28 08:18:12 -04:00
Matthias Clasen
0e19a7d024 Merge branch 'matthiasc/for-main' into 'main'
Post-release version bump

See merge request GNOME/gtk!7389
2024-06-28 11:07:11 +00:00
Matthias Clasen
cdd0aa4cfd Post-release version bump 2024-06-28 07:02:34 -04:00
Matthias Clasen
157c714d86 Merge branch 'matthiasc/for-main' into 'main'
4.15.2

See merge request GNOME/gtk!7388
2024-06-28 11:01:04 +00:00
Matthias Clasen
4873bb3099 4.15.2 2024-06-28 06:39:59 -04:00
Matthias Clasen
f4509a63b0 Merge branch 'css-current-color1' into 'main'
css: Handle currentcolor more correctly

See merge request GNOME/gtk!7387
2024-06-28 01:22:03 +00:00
Matthias Clasen
29559deeeb reftests: Avoid some deprecated css
alpha() is deprecated, replace it with a relative color.
2024-06-27 21:03:14 -04:00
Matthias Clasen
0cff62335b Fix style variables test
Make the results match what the comments actually say.
2024-06-27 21:03:14 -04:00
Matthias Clasen
e4325e5b2b css: Add more currentcolor style tests
These tests check various situations with inheritance and
currentColor. In particular the caret-color test was not
working correctly before we handled used values explicitly.
2024-06-27 21:03:14 -04:00
Matthias Clasen
f57010180c css: Update style printing to show used values
This is what we want to see, most of the time.
2024-06-27 21:03:14 -04:00
Matthias Clasen
5807b68d5b gtk: Update all users to use used values
Update all widgets and rendering code to use the used values of
relevant css properties.
2024-06-27 21:03:14 -04:00
Matthias Clasen
1af746e136 css: Update animated styles to resolve used values
The way this works is that we first apply the value changes
from animations, which will trigger recomputation of the regular
style properies if the keyframes contains custom properties.

After that is done, we resolve the used values, base on the
new computed values. This is where currentcolor is resolved.
2024-06-27 21:03:14 -04:00
Matthias Clasen
d3c78c8811 css: Implement used values for static styles
Change the style computation machinery to populate the used
values struct, and stop relying on NULL values in the values
structs to indicate currentColor occurrences. Instead, use
gtk_css_color_value_contains_current_color() when determining
style changes.
2024-06-27 21:03:14 -04:00
Matthias Clasen
28a4f7a60a css: Add an assertion
Passing NULL as compute context does not work, so make it obvious
when it happens.
2024-06-27 21:02:37 -04:00
Matthias Clasen
d54a9d241d css: Add some new style apis
Add separate apis for getting computed and used values, and
a method to resolve used values of a style.
2024-06-27 21:00:18 -04:00
Matthias Clasen
8814c00573 css: Introduce a struct for used values
The GtkCssUsedValues struct will hold the used values of those
css properties where that makes a difference. The new structs
are not used yet.
2024-06-27 20:21:43 -04:00
Matthias Clasen
36b55a8b57 css: Make image values resolve used values
Separate out computed and used values for this type.
2024-06-27 20:21:43 -04:00
Matthias Clasen
e027843cb0 css: Add a way to resolve css images
This will be needed to separate out computed and used values
for css image values.
2024-06-27 20:21:43 -04:00
Matthias Clasen
5de0ebab26 css: Make shadow values resolve used values
Separate out computed and used values for this type.
2024-06-27 20:21:43 -04:00
Matthias Clasen
cc463d52f6 css: Make palette value resolve used values
Separate out computed and used values for this type.
2024-06-27 20:21:43 -04:00
Matthias Clasen
eeca361418 css: Make currentcolor compute to itself
This temporarily breaks currentcolor values. All uses of color
values will have to be fixed up to handle currentcolor at use time.
2024-06-27 19:51:56 -04:00
Matthias Clasen
bdf56ec6d6 css: Make color resolving more robust
Make gtk_css_color_value_resolve() handle situations where it can't
fully resolve a color expression. This will start to happen in the
next commits, when we make currentColor compute to itself

This commit also changes the api for gtk_css_color_value_resolve
to not take the property_id, since we already pass the currentcolor
value that it is meant to help determine. Update all callers.
2024-06-27 19:51:56 -04:00
Matthias Clasen
ee9e302b24 css: Introduce gtk_css_value_contains_current_color
Track whether a value contains currentcolor (in which case
it needs to be resolved at use time).

This just adds the bit and the getter, it isn't used yet.
2024-06-27 19:51:54 -04:00
Matthias Clasen
17b50f08b3 Merge branch 'document_shortcuts_and_actions' into 'main'
docs: Document shortcuts and actions

See merge request GNOME/gtk!7379
2024-06-27 16:20:17 +00:00
g.willems
d58297fa15 docs: Document shortcuts and actions 2024-06-27 16:33:31 +02:00
Matthias Clasen
c27516a1db NEWS: Updates 2024-06-26 21:20:17 -04:00
Matthias Clasen
cf4cd4abd8 Merge branch 'popover-positioning-improvements' into 'main'
popover: Recompute shape more often

See merge request GNOME/gtk!7385
2024-06-27 00:33:45 +00:00
Matthias Clasen
a4cc95b293 popover: Hide if we don't get enough size
If the compositor does not give us our min size, we have to
disappear, or we risk criticals from underallocating widgets.
2024-06-26 17:31:38 -04:00
Matthias Clasen
a8bb6d5918 Merge branch 'matthiasc/for-main' into 'main'
css: Fix animations

Closes #6807

See merge request GNOME/gtk!7382
2024-06-26 20:11:56 +00:00
Matthias Clasen
496c75617c css: Make recomputing animated styles make more sense
When we look for what values need recomputing, we also determine what
value we are going to use to recompute. For values that contain
variables, that is the 'original' value, as returned by
gtk_css_style_get_original_value. For values that we recompute
because they may contain currentcolor, that is the specified value
as returned by gtk_css_animated_style_get_intrinsic_value.

The one issue here is that we currently don't preserve currentcolor
in the computed value, so recomputing the value does not do us
any good in the color case. That will be fixed separately.
2024-06-26 15:51:07 -04:00