Matthias Clasen
3b8218a99e
gtk-demo: Name some idles
...
These show up in profiles, so give them a name.
2024-05-01 16:06:16 -04:00
Matthias Clasen
9904259661
gsk: Serialize hint metrics too
...
We need this to ensure that we properly roundtrip text nodes
without any changes.
2024-05-01 14:00:18 -04:00
Matthias Clasen
9df6f802f2
gtk-demo: Better accessibility for the sidebar
...
Add an accessible description saying how many search reasults
we have. This is an experiment.
Related: #6678
2024-04-30 11:54:56 -04:00
Benjamin Otte
02d7817632
demo: Use get_fps() in fishbowl demo
...
Hopefully that leads to somewhat more reliable fps measurements
2024-04-09 17:39:36 +02:00
Matthias Clasen
f51c82a2aa
gtk-demo: Use offload for shadertoy
...
This is an easy way to verify that GtkGLArea delivers dmabufs
now, and it might have some practical uses to offload gl area.
2024-04-07 13:03:13 -04:00
Matthias Clasen
37e18b784e
gtk-demo: Add a callback cursor
...
Make one of the GTK logo cursors in the cursors demo use a callback
cursor that follows the cursor theme size, to show that that is
possible.
2024-04-04 01:07:28 +02:00
Matthias Clasen
0dd58c4d1b
gtk-demo: Cosmetic changes
...
Remove the periods from the tooltips in the cursor demo.
Tooltips are better without periods.
2024-04-03 14:39:51 +02:00
Matthias Clasen
2c1590001f
Sync cursor images with Adwaita
...
Several cursor metaphors were changes in Adwaita. Update our docs
and the Cursors demo to match.
2024-03-20 13:19:12 -04:00
Matthias Clasen
b4f5432d5a
gtk4-demo: Clean up the application demo
...
This partially reverts ca1c570c21
.
2024-03-17 22:29:22 -04:00
Matthias Clasen
2701a2bfdd
demos: Make the maze demo non-resizable
...
It isn't playable if the entrance/exit don't reach the edge
of the window.
Fixes : #6549
2024-03-16 10:08:37 -04:00
Matthias Clasen
d224110b48
gtk-demo: Skip the transitions demo when necessary
...
This demo uses GL shader nodes which only work with the GL renderer,
therefore skip the demo unless the GL renderer is in use.
Fixes : #6538
2024-03-13 21:02:17 -04:00
Matthias Clasen
8f356c2e8c
gtk-demo: Skip gl shader when necessary
...
GL shader nodes only work with the GL renderer, therefore skip
the Shader in the list unless the GL renderer is in use.
Fixes : #6538
2024-03-13 21:02:10 -04:00
Benjamin Otte
d88e616711
demos: shadertoy only handles GL
...
If somebody wants to add GLES support, go for it.
For now we enforce GL.
2024-03-03 22:20:44 +00:00
Matthias Clasen
b018da2acd
gsk: Accept font options in node files
...
The goal is to fix all the context that influences the rendering
of text nodes in the node file. This will help with better font
testing.
The newly accepted properties are
hint-style: none/slight/full
antialias: none/gray
We are omitting font options and values that aren't supported
in GSK or have no influence on the rendering.
Note that these settings will get incorporated in the PangoFont
that gets set on the resulting text node.
Parser tests included.
2024-03-02 18:39:14 -05:00
Matthias Clasen
f5159e1ecb
gsk: Make glyph parsing more flexible
...
It is a bit annoying that one has to specify the glyph width
when specifying glyphs numerically for a text node, since this
information really is part of the font.
Make the parser more flexible, and allow to specify just the glyph
ids, without an explicit width. In this case, the width will be
determined from the font.
With this, glyphs can now be specified in any of the follwing
ways:
glyphs: "ABC"; (ASCII)
glyphs: 23, 45, 1001; (Glyph IDs)
glyphs: 23 10, 100 11.1; (Glyph IDs and advance widths)
glyphs: 23 10 1 2 color; (with offsets and flags)
Tests have been updated to cover these variants.
2024-03-01 11:22:28 -05:00
Matthias Clasen
c739b9fe7f
Merge branch 'wip/kabus/misc-leaks2' into 'main'
...
general: Fix leaks
See merge request GNOME/gtk!6951
2024-02-28 12:35:02 +00:00
Matthias Clasen
b7422c0f62
nodeparser: Change default font
...
Use Cantarell 15px instead of Cantarell 11, ot make roundtrip
tests easier to read.
2024-02-27 23:45:46 -05:00
Khalid Abu Shawarib
44fa748826
general: Fix leaks
2024-02-27 22:01:41 +03:00
Matthias Clasen
d4d4c7e119
gtk-demo: Add keywords to some demos
...
Folks had trouble finding the 'suggestion entry' demo.
2024-02-16 10:13:55 -05:00
Matthias Clasen
f858daeca4
node-editor: Don't help too much
...
This was somehow duplicated when the reload action was added.
2024-02-12 14:19:21 -05:00
Matthias Clasen
d3e4d310b2
node-editor: Improve the crash warning
...
Hint in the text how to reenable auto-reload. A button for this
is not practical in the notification itself, since it will just
crash again if you reenable it without editing the content.
2024-02-06 18:41:47 +00:00
Matthias Clasen
77c115c224
node-editor: Make crash handling more robust
...
Handle cases where the crash only happens in render(), and not
in reload().
2024-02-06 18:41:47 +00:00
Matthias Clasen
f2ec2f2a58
node-editor: Make the crash warning work
...
In some cases, we leave behind both an autosave and an
autosave-unsafe file, so check for the unsafe one first.
2024-01-27 10:21:26 -05:00
Matthias Clasen
3bd1f491d1
node-editor: Remove some dead code
...
We ended up not needing a map implementation after all.
Remove the vestiges.
2024-01-23 00:07:23 -05:00
Matthias Clasen
c7b345f73e
build: Move and rename demo_conf.h header
...
We want to use the same header in the inspector, so move it to
the toplevel. And since it is no longer for demos only, rename
it to profile_conf.h, and also rename the build option back
to profile.
2024-01-18 20:20:58 -05:00
Matthias Clasen
c2abf30c46
Revert "node-editor: Make test fonts available"
...
This reverts commit 4882514234
.
We can now put custom fonts into node files, so there is
no more need for this.
2024-01-16 07:04:45 -05:00
Matthias Clasen
8158945de9
gsk: Allow custom fonts in node files
...
This will let us store complete test fonts inside node files,
as data: urls. You can also use a file: url to refer to a local
file.
The syntax is as follows:
text {
font: "FONT DESCRIPTION" url("data:font/ttf;base64,FONT DATA");
}
with the url being optional.
2024-01-15 18:58:17 -05:00
Matthias Clasen
48dc7df5b7
Update the node format docs
...
Mention the new syntax for naming and reusing textures.
2024-01-15 07:46:18 -05:00
Matthias Clasen
550e98090a
node-editor: Redo crash recovery UX
...
Switch from a dialog to an in-app notification, and make use
of the new auto-reload property for it.
2024-01-14 14:40:51 -05:00
Matthias Clasen
2771befdd9
node-editor: Add a menu items for auto reloading
...
Expose the auto-reload property as a toggle action, and add
a menu item for it.
2024-01-14 14:40:51 -05:00
Matthias Clasen
911730493d
node-editor: Add an auto-reload property
...
This is not exposed anywhere yet.
2024-01-14 14:40:51 -05:00
Matthias Clasen
d41fb7c5a6
node-editor: Add commandline options
...
Add --reset to remove the autosave file. While we're at it, also
add --version.
2024-01-12 20:50:34 -05:00
Matthias Clasen
3b28c46595
node-editor: Add autosave
...
Save the buffer contents to a file in ~/.cache/gtk4-node-editor
and restore it on startup.
2024-01-12 20:50:34 -05:00
Matthias Clasen
4882514234
node-editor: Make test fonts available
...
Add the directory containing test fonts for gsk tests to the
font configuration, so that node files from the testsuite using
these fonts just work.
2024-01-10 21:10:36 -05:00
Benjamin Otte
63d7b22924
demo: Port the paintable demo to paths
2024-01-08 09:28:26 +01:00
Matthias Clasen
59578c6d18
Fix typos throughout
...
These were pointed out by codespell.
2024-01-07 20:44:05 -05:00
Benjamin Otte
ee14b96c28
node-editor: Don't #include <gsk/gl/gskglrenderer.h>
2024-01-07 14:47:22 +01:00
Benjamin Otte
f57e211ba9
node-editor: Use gsk_renderer_realize_for_display()
...
... in all the places where we used realize (NULL) before.
2024-01-07 14:47:22 +01:00
Benjamin Otte
5f03053569
gsk: include Vulkan renderer in public header
...
The Vulkan renderer can just be public API, because it doesn't expose
any Vulkan-specific APIs.
And it can just exist when compiled without Vulkan, because it can fail
to realize.
Also move get rid of the gsk/vulkan/gskvulkanrenderer.h header. It was
experimental and isn't necessary now that the renderer is included via
gsk.h.
2024-01-07 14:47:22 +01:00
Benjamin Otte
10f934f782
node-editor: Add the new renderer(s)
2024-01-07 07:22:49 +01:00
Benjamin Otte
1e54e838e0
vulkan: Remove GskVulkanRenderer
...
We want to introduce a new one next.
Technically, this breaks API, because gsk_vulkan_renderer_new() is going
away, but practically, we're gonna bring it back once we introduce that
renderer in a few commits.
2024-01-07 07:22:49 +01:00
Matthias Clasen
0dcf31292d
icon-browser: Use #pragma once consistently
...
That is the current coding style.
2023-12-20 10:24:05 -05:00
Matthias Clasen
4ab18b6657
gtk4-demo: Use #pragma once consistently
...
This is our current coding style.
2023-12-20 09:55:11 -05:00
Matthias Clasen
d21a691f44
node-editor: Convert headers to #pragma once
...
That is our current coding style.
2023-12-20 09:51:19 -05:00
Carlos Garnacho
39b08b82ca
gtk-demo: Fix typo
...
Close the quotes in alert dialog message.
2023-12-11 14:22:30 +01:00
Matthias Clasen
3ab7b2d7ce
Merge branch 'va-fixes-reported-by-pvs' into 'main'
...
Fix issues spotted by PVS-Studio
See merge request GNOME/gtk!6558
2023-11-15 00:27:08 +00:00
Andrey Kutejko
540a83327f
Fix issues spotted by PVS-Studio
2023-11-14 08:56:40 +01:00
Matthias Clasen
d32ab7544d
gtk-demo: Enable offload in the video player
2023-11-13 22:27:51 +01:00
Kleis Auke Wolthuizen
d0f76b6ab4
widget-factory: Remove insert-image icon
...
This icon is already present in the hicolor icon theme.
2023-10-28 20:25:53 +02:00
Kleis Auke Wolthuizen
4c7206343a
widget-factory: Remove view-grid-symbolic icon
...
No longer needed as it's included in the hicolor icon theme now.
2023-10-28 20:25:53 +02:00