Commit Graph

2470 Commits

Author SHA1 Message Date
Marco Melorio
f1faa71d6d picture: Set overflow to be hidden
The new content-fit property was wrongly suggesting to manually set
widgets' overflow property, but that property is not really intended to
be set by external code. This commit removes those suggestions and
directly set picture's overflow to be hidden.
2022-07-16 01:40:01 +02:00
Matthias Clasen
63c61340ac Merge branch 'test-coverage' into 'main'
node-editor: Make the help more helpful

See merge request GNOME/gtk!4874
2022-07-15 22:34:02 +00:00
Marco Melorio
d8a73cbd03 picture: Add content-fit property
It allows to specify the resize mode of the paintable inside the
GtkPicture allocation. This also deprecates the keep-aspect-ratio
property.

Fixes #5027.
2022-07-15 23:01:23 +02:00
Matthias Clasen
35e6a2fdb8 node-editor: Sort help better
Move the gshader section where it belongs.
2022-07-15 15:46:06 -04:00
Matthias Clasen
69336fa5f1 node-editor: Make the help more helpful
I struggled to remember how newlines vs strings work in
this format, so put it in the docs.
2022-07-15 15:46:06 -04:00
Emmanuele Bassi
f4f683a469 Rename clear_template to dispose_template
Make it more clear that the function is supposed to be called during the
dispose sequence of a widget.
2022-07-11 18:24:37 +01:00
Emmanuele Bassi
e71f9bb79f Port gtk-demo widgets to gtk_widget_clear_template() 2022-07-11 18:24:37 +01:00
Emmanuele Bassi
bf75a21deb Port node editor to gtk_widget_clear_template() 2022-07-11 18:24:37 +01:00
Emmanuele Bassi
1bba874895 Port icon browser to gtk_widget_clear_template() 2022-07-11 18:24:37 +01:00
Emmanuele Bassi
01f5142b00 Port constraint editor to gtk_widget_clear_template() 2022-07-11 18:24:37 +01:00
Matthias Clasen
7c5d71ebf6 widget-factory: Fix a missing export
This broke when we started using a scope.
2022-07-07 21:44:57 -04:00
Matthias Clasen
5ba8fc8f10 Font features demo improvements
Use font-provided names for ssNN and cvNN features.

But good luck finding a font that has these!
2022-07-03 01:19:19 -04:00
Matthias Clasen
5d05daaed0 Font features demo improvements
Add buttons to cycle through samples.
2022-07-02 23:37:34 -04:00
Matthias Clasen
86dd72fad6 Fix up font features demo
The conversion to a textview was incomplete.
2022-07-02 22:46:27 -04:00
Matthias Clasen
9c4490b7ad gtk4-demo: Add color to font features 2022-07-02 11:35:24 -04:00
Matthias Clasen
cd40cd145f gtk4-demo: Cosmetics 2022-07-01 00:10:16 -04:00
Matthias Clasen
88bbb933a1 gtk4-demo: Add a waterfall to font features 2022-06-30 23:52:37 -04:00
Matthias Clasen
4070e794d2 gtk4-demo: Fix font features animation 2022-06-30 21:11:49 -04:00
Matthias Clasen
a284dc9f31 demos: Use gtk_builder_cscope_add_callback
This is C convenience API, lets use it for
our convenience.
2022-06-30 20:10:06 -04:00
Matthias Clasen
64f3ac6760 gtk3-demo: Add animation to font features 2022-06-30 19:02:02 -04:00
Matthias Clasen
508ceccb66 gtk4-demo: Polish the font features demo 2022-06-30 19:02:02 -04:00
Matthias Clasen
d6dde63074 gtk4-demo: Restructure the font features demo 2022-06-30 19:02:02 -04:00
Matthias Clasen
bdb1886fc9 gtk4-demo: Cosmetics
Rename the ui file to match the C source, to preserve sanity.
2022-06-30 19:02:02 -04:00
Matthias Clasen
e4781e393c gtk-demo: Beef up font features demo
Some work on making this demo better.
2022-06-30 09:42:32 -04:00
Matthias Clasen
092fe2f712 gtk-demo: Cosmetics
Tweak the complicated textview demo a bit.
2022-06-23 07:40:55 -04:00
Jan Tojnar
d91e669d98 gtk-demo: Remove mention of directories in picker examples
Those were removed in https://gitlab.gnome.org/GNOME/gtk/-/merge_requests/2909.
2022-06-22 23:07:28 +02:00
Matthias Clasen
8b3a38779b gtk-demo: Add some keywords
Make it so that the right demos show up when
you search for GtkInscription.
2022-06-13 11:16:51 -04:00
Benjamin Otte
98e0ca7477 gtk-demo: Add a "Read More" label demo. 2022-06-11 22:19:17 +02:00
Matthias Clasen
c7c8b37e4c Merge branch 'wip/otte/inscription' into 'main'
Add GtkInscription

See merge request GNOME/gtk!4800
2022-06-11 13:47:20 +00:00
Benjamin Otte
61bc38cd61 gtk-demo: Use GtkInscription in the wordlist demo 2022-06-10 04:34:23 +02:00
Benjamin Otte
b56b5ed81b gtk-demo: Use GtkInscription in the main list 2022-06-10 04:34:23 +02:00
Matthias Clasen
27db4b5c2f node-editor: Add a zoom button
This is a bit more convenient than manually
adding a transform node in the text editor.
2022-06-07 13:39:22 -04:00
Matthias Clasen
5ba5693efd Make our demos more likable
Nobody likes Facebook.
Everybody loves the Eagles.
2022-05-27 17:34:55 -04:00
Matthias Clasen
bcad305136 Make the formatted link more neutral
There have been complaints about company names in
our demos. Lets use something else.

Part of: #4716
2022-05-27 08:43:06 -04:00
Matthias Clasen
726a92200f Install gtk4-node-editor
It is an application worth having around.
2022-05-07 07:18:36 -04:00
Matthias Clasen
78d34c098e node-editor: Add things
Add a desktop file and appdata.
2022-05-07 07:18:36 -04:00
Alexander Mikhaylenko
1ca2d41a98 icons: Use the proper eye icons
adwaita-icon-theme has more appropriate icons for showing/hiding text now.
use those, and in the process fix the fact GtkPasswordEntry has been using
them the other way around.
2022-04-22 16:22:05 +04:00
Matthias Clasen
191558cfa4 gtk-demo: Small fixup to the cursors demo 2022-04-07 07:01:29 -04:00
Matthias Clasen
79fad9f221 gtk-demo: Don't hardcode a title font
We want a large font size, but we don't have to
hardcode Sans.
2022-03-18 12:33:33 -07:00
Matthias Clasen
b6b2682bd6 build: Avoid objcopy on arm
The trickery we do with objcopy and ld to speed up
resource inclusion does not seem to work right on
32bit Arm, so just skip it there.

Fixes: #4757, #4748, #4752
2022-03-14 08:44:09 -04:00
Ting-Wei Lan
e1e88ce665 build: Don't use ld and objcopy when cross-compiling
These commands don't work when compiling Windows binaries on Linux.
2022-03-13 15:19:46 +08:00
Guido Günther
25f4e597ee print-editor: Use gtk_window_present()
This lets xdg-activation work as otherwise gdk_wayland_surface_focus is
never invoked.
2022-02-28 16:55:54 +00:00
Guido Günther
db8339ca66 demo: Use gtk_window_present()
This lets xdg-activation work as otherwise gdk_wayland_surface_focus is
never invoked.
2022-02-28 16:55:54 +00:00
Guido Günther
5ba02e3459 widget-factory: Use gtk_window_present()
This lets xdg-activation work as otherwise gdk_wayland_surface_focus is
never invoked.
2022-02-28 16:55:54 +00:00
Benjamin Otte
a26c1a5f0d widget-factory: Make <F11> toggle fullscreen 2022-02-12 19:05:19 +01:00
Jan Alexander Steffens (heftig)
d8befc612f demos: Make our stack noexec
This is similar to https://gitlab.gnome.org/GNOME/gtk/-/merge_requests/4330
and https://gitlab.gnome.org/GNOME/gtk/-/merge_requests/4334, which fixed
the main library but missed the demos.
2022-02-03 19:14:36 +00:00
Chun-wei Fan
169172a9e0 demos: Always build font explorer demo
We are no longer using PangoFT2 APIs in this demo, so make sure that we build
it on all builds since we already depend on a HarfBuzz/Pango version that
provide everything that we need here.

Drop the unnecessary pangofc-font.h include as a result.
2022-01-12 17:29:30 +08:00
Chun-wei Fan
0a3fad4d47 gtk-demo/language-names.c: Acquire language names natively on Windows
Like what was done on gtk/language-names.c, acquire the language names via the
native Windows NLS APIs, eliminating a run-time dependency on iso-codes on
Windows.
2022-01-12 17:29:30 +08:00
Timm Bäder
a00480f4a1 application demo: Resolve a keyboard shortcut conflict
There were two menu entries side-by-side with the same keyboard shortcut
2021-12-27 10:02:03 +01:00
Emmanuele Bassi
6f2ff620bd build: Replace deprecated 'gui_app'
Use `win_subsystem: 'windows'` instead.
2021-12-24 15:51:11 +00:00
Emmanuele Bassi
bd772610b1 build: Replace source_root()
Use project_source_root(), which replaces the deprecated source_root().
2021-12-24 15:48:06 +00:00
Matthias Clasen
a4760bcff7 Merge branch 'toolbar-combobox' into 'main'
Don't make all buttons in toolbars flat

Closes #4384

See merge request GNOME/gtk!4103
2021-12-17 00:35:18 +00:00
Matthias Clasen
787111a145 gtk-demo: Add dnd back to the clipboard demo 2021-12-12 16:27:36 -05:00
Matthias Clasen
f8855e892a gtk-demo: Small followup fixes
Make image copy work remotely.
2021-12-12 13:41:24 -05:00
Matthias Clasen
ebb58b7cbc gtk-demo: Rewrite the clipboard demo
This is more in line with the current clipboard
api, and shows handling colors and files.
2021-12-12 13:13:11 -05:00
Georg Vienna
c517e945de textchildanchor: allow to specify replacement character 2021-12-03 16:02:48 +00:00
Matthias Clasen
b9c2a925e2 Beef up the tabs demo
Show various alignments, including numeric.
2021-12-03 07:55:20 -05:00
Benjamin Otte
8d1956921d node-editor: Display errors
When opening a file or pasting DND fails, display the error as the
actual node.
2021-11-30 14:12:10 +01:00
Matthias Clasen
ddd5704c92 Update references to master in the repository 2021-11-29 17:37:49 -05:00
Matthias Clasen
6690197673 node-editor: Don't make paned shrinkable
When the handle is dragged all the way to the left,
it is impossible to get it back. Which is not fun.
2021-11-18 17:25:29 -05:00
Matthias Clasen
96778fca92 Fix formatting error in demo about dialogs
Try harder to format things nicely.
2021-11-16 16:45:56 -05:00
Benjamin Otte
300a88922e build: Disable gcc warnings as warnings, too
We use -Werror in the build, so even if some warnings are just warnings,
they'd be errors.
2021-11-15 15:35:10 +01:00
Benjamin Otte
061026f21f gtk-demo: Don't use deprecated librsvg API
New API requires a newer librsvg version, so require that one.
2021-11-09 20:29:49 +01:00
Benjamin Otte
129042425d demos: Update for climate change and Covid 2021-11-09 03:41:43 +01:00
Matthias Clasen
895dc94cc9 gtk-demo: Avoid a missing icon
The hypertext demo was using an icon that we no longer
include in our embedded icon theme. Use a different one.
2021-11-08 14:17:42 -05:00
Matthias Clasen
73bba62d82 widget-factory: Add a color button to the toolbar
This is to check that our 'nested' buttons come out as
expected in a toolbar context.
2021-10-29 11:51:18 -04:00
Benjamin Otte
a4e83ec584 demos: Remove unused code 2021-10-23 00:03:51 +02:00
Benjamin Otte
869d2f281a node-editor: Create renderers surfaceless 2021-10-20 21:49:32 +02:00
Bernhard M. Wiedemann
d6f4a0d2cf Drop date attribute from our appdata files
in order to make builds reproducible.
See https://reproducible-builds.org/ for why this is good

This was suggested by Matthias Clasen as an alternative to MR !3929
2021-10-19 07:37:59 -04:00
Timm Bäder
a61999170e fontrendering: Protect against NULL hints 2021-10-17 11:12:14 +02:00
Matthias Clasen
144f727d5a Rename ngl to gl
We have only one gl renderer now, and it is
a bit odd for it not be called gl.
2021-10-07 13:05:53 -04:00
Matthias Clasen
0969d9db83 Merge branch 'wip/otte/gl-hdr' into 'master'
Rework GL for HDR support

See merge request GNOME/gtk!4032
2021-10-06 02:59:05 +00:00
Benjamin Otte
9012a032c1 widget-factory: Name the images pages 2021-10-05 04:48:15 +02:00
Matthias Clasen
8079f8ea3c Add depfiles back to resource generation
The recent change to faster resource generation
lost the depfiles to ensure that we regenerate
resources when any of the contents change.
Bring it back.
2021-10-03 22:23:56 -04:00
Matthias Clasen
670659bcba Revert "Add GtkLoader to gtk4-widget-factory"
This reverts commit 923c944abb.

This commit broke the image dnd, and the async
loading isn't that important here.
2021-10-02 23:58:26 -04:00
Matthias Clasen
200a2f5c71 gtk-demo: Speed up the build
Avoid serializing the gresource blob into a C string
and running gcc over it. Instead, use ld to put it
directly into an .o file and add it to the build.

The build system machinations here were copied from
gobject/tests/meson.build, and should ideally be part
of the meson gnome module.
2021-09-30 23:10:24 -04:00
Matthias Clasen
d7e117f52b widget-factory: Speed up build
Avoid serializing the gresource blob into a C string
and running gcc over it. Instead, use ld to put it
directly into an .o file and add it to the build.

The build system machinations here were copied from
gobject/tests/meson.build, and should ideally be part
of the meson gnome module.
2021-09-30 23:10:24 -04:00
Matthias Clasen
f42c61f9d1 Merge branch 'wip/otte/for-master' into 'master'
testsuite: Actually run all memorytexture tests

See merge request GNOME/gtk!4016
2021-10-01 00:26:59 +00:00
Benjamin Otte
ce40c64f6b widget-factory: Copy alpha-corrected logo webm from gtk-demo
I want beautiful content please.

I'd also like to see when transparency suddenly starts working.
2021-10-01 01:18:45 +02:00
Matthias Clasen
160aeb4879 Simplify our ui files
Run gtk4-builder-tool simplify over our ui files,
we simplify some more things now.
2021-09-29 10:58:23 -04:00
Matthias Clasen
923c944abb Add GtkLoader to gtk4-widget-factory
Add an async-loading paintable implementation
to gtk4-widget-factory, and use it to load the
jpegs in the background.
2021-09-22 17:09:53 -04:00
Matthias Clasen
56e6a51ac0 Merge branch 'delayed-loading' into 'master'
gtk-demo: Cosmetics

See merge request GNOME/gtk!3975
2021-09-18 23:02:00 +00:00
Matthias Clasen
d88c4d122d gtk-demo: Cosmetics
Tweak the color of the outlines in the font rendering
demo.
2021-09-18 11:08:15 -04:00
Timm Bäder
1c2c356ed4 widget factory: Scale down jpeg images 2021-09-18 16:48:48 +02:00
Matthias Clasen
2c8e55605b gtk-demo: Improve ink extents rendering
Show the pixel-aligned ink rectangle, so we can
see that it includes all the pixels that are inked.
2021-09-17 16:29:30 -04:00
Matthias Clasen
06db477847 gtk-demo: Fix non-circular buttons 2021-09-17 15:24:26 -04:00
Matthias Clasen
27d662f1aa node editor: Preserve aspect ratio
We don't want to distort our rendering.
Tell the paintable to keep the aspect
ratio.
2021-09-17 10:28:49 -04:00
Benjamin Otte
3914ecbd0f gtk-demo: Use textures in listbox example 2021-09-17 04:31:46 +02:00
Matthias Clasen
f7c84ddc7f gtk-demo: Font rendering - Add some bling
Fade the outlines and pixels in and out.
2021-09-04 23:41:44 -04:00
Matthias Clasen
f4a4dd2615 gtk-demo: Font rendering - expand docs 2021-09-04 23:05:55 -04:00
Matthias Clasen
b718d99d1f gtk-demo: Font rendering - Add keynav
Add mnemonics to most controls, and make
Ctrl+/- change the zoom.
2021-09-04 23:00:17 -04:00
Matthias Clasen
c7215d1199 gtk-demo: Font rendering - add outlines
Should outlines as well.
2021-09-04 22:56:07 -04:00
Matthias Clasen
24d69ef125 gtk-demo: Font rendering - better start
Turn antialiasing on initially, and turn the
extents and grid off. Otherwise we show pretty
shocking rendering right from the start.
2021-09-04 22:56:07 -04:00
Matthias Clasen
7c3fbdecf2 gtk-demo: Font rendering - improve the grid
Allow changing the character shown in the grid.
2021-09-04 22:56:07 -04:00
Matthias Clasen
b77938f40f Cosmetics
Remove an unused object from the font rendering
demo ui file.
2021-09-04 22:55:47 -04:00
Matthias Clasen
f3ccf62463 gtk-demo: Improve the font rendering demo
Add a toggle for antialiasing, and make the metrics
hinting turn on rounding of positions, to match what
we do with settings now.
2021-09-03 11:29:44 -04:00
Matthias Clasen
ad3dad1965 Initial support for new Pango attributes
This is still missing the GtkTextTag hookup,
but it fixes the build.
2021-09-01 10:32:45 -04:00
Benjamin Otte
2863095f06 node-editor: Allow dragging and dropping the center picture
Dragging will just drag the render node.

Dropping will replace the current contents of the textview with the
dropped node.

Neat side effect: You can drag the node onto itself to do a
deserialize/serialize of the current text.
2021-08-30 06:02:16 +02:00
Benjamin Otte
6c87d362c5 enums: Add a GtkSymbolicColor enum
That way we don't nedmagic numbres to index the colors array.

Use it in the symbolic paintable demo.
2021-08-30 04:36:16 +02:00
Benjamin Otte
7cdbdb663c gtk-demo: Add a symbolic paintable demo
Don't click the button!
2021-08-29 04:29:53 +02:00