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
Benjamin Otte
1b390d3857
gtk-demo: Explicitly pass nuclear icon colors
2021-08-29 04:29:53 +02:00
Matthias Clasen
38040c96d6
More markup demos
...
Showing more of what Pango can do.
2021-08-25 19:38:59 -04:00
Matthias Clasen
b9cad7cc54
textview: Implement new pango attributes
...
Implement the word and sentence attributes.
2021-08-25 14:57:13 -04:00
Matthias Clasen
bf21df4195
Add an example for text transforms
...
Show some transformed text in the markup demo.
2021-08-22 15:57:50 -04:00
Matthias Clasen
417b3f9c6b
Implement text transforms for GtkTextView
...
Add a property to GtkTextTag and do all the
legwork to translate it to the Pango attribute.
2021-08-22 15:57:50 -04:00
Matthias Clasen
ba95ef63da
Drop PANGO_VERSION_CHECK checks
...
We require Pango 1.49 now.
2021-08-22 15:26:23 -04:00
Matthias Clasen
6c19a8352f
gtk-demo: Add a line height demo
...
Add an example for widely spaced text to the markup demo.
2021-08-22 15:15:50 -04:00
Matthias Clasen
e3df89b524
gtk-demo: Improve markup demo
...
The font sizes demo had the space between the font-size spans,
causing us to have a run with just a default sized space between
the words, which in turn leads to wobbly cursor sizes. Avoid that
by including the space in the preceding span.
Also, make it bigger.
2021-08-22 15:15:50 -04:00
Matthias Clasen
a9003f7ac0
gtk-demo: Set line height from markup
...
Keep the import-markup code in sync with GtkTextBuffer.
2021-08-22 15:15:50 -04:00
Matthias Clasen
fd885e42b0
Merge branch 'drop-gl' into 'master'
...
gsk: Drop the gl renderer
See merge request GNOME/gtk!3863
2021-08-22 17:04:25 +00:00
Matthias Clasen
5feba67a3d
Handle new pango attribute type
...
Update all the places where we switch over
PangoAttrType to handle PANGO_ATTR_TEXT_TRANSFORM,
and do nothing for now - text-transform support
will land in 4.6.
2021-08-22 11:04:28 -04:00
Matthias Clasen
e9e373913e
gsk: Drop the gl renderer
...
ngl supports all the same platforms as gl
now, and has seen more improvements in the
last cycle.
2021-08-20 22:58:30 -04:00
Benjamin Otte
6b733d2943
gtk-demo: Make clipboard demo paste from clipboard
...
The old code was just pasting local clipboard data that we put there
ourselves and was causing criticals on remote clipboard data. Now the
code does the proper async paste.
2021-08-19 03:16:48 +02:00
Benjamin Otte
7bc1c9a562
demo: Add a dnd special-case for textures
...
If the DND/clipboard machinery knows a texture is a texture, it will try
to serialize it. Paintables can't be serialized, so it wouldn't try.
2021-08-19 03:16:48 +02:00
Matthias Clasen
528ebfabf0
Handle the new line height pango attribute
...
Update all the places where we switch over PangoAttributeType
to handle (and ignore, for now) the new line height attribute.
2021-08-10 08:22:52 -04:00
Matthias Clasen
256f3a0d60
gtk-demo: Spruce up the hypertext demo
...
Use the newish allow-breaks pango attribute
to make the text break better.
2021-08-07 12:35:17 -04:00
Benjamin Otte
99e4a6a2d6
widget-factory: Propagate natural size for text styles
...
This avoids them requiring scrolling.
2021-07-30 20:54:58 +02:00
Benjamin Otte
c06817b951
widget-factory: Make frames cooler
...
Instead of havoing a label for the video frame that clashes with the
background of the video, add a frame around the text styles box and add
a label for them. As a side benefit, it also makes it more obvious that
it is scrollable.
Note: Most of this patch is just reindenting.
2021-07-30 20:43:02 +02:00
Benjamin Otte
e765aaa3f4
widget-factory: Expand the video to cover the whole frame
...
1. This looks way cooler.
2. Since the frame is rounded, it adds a very visible test for our
clipping of rounded rectangles.
2021-07-30 20:37:34 +02:00
Benjamin Otte
f1b50baba1
widget-factory: Add images that support dnd
...
Just use the bottom left notebook for a GtkPicture with custom drag
source and drop target.
2021-07-27 04:40:57 +02:00
Matthias Clasen
4453597946
widget-factory: Some new backgrounds
...
Snowy wasn't ideal because of the aspect ratio.
Replace it by beach and nyc.
2021-07-27 04:40:42 +02:00
Maximiliano Sandoval R
64b9d53472
appdata: Use launchable rather than id
...
<id> should be used for the component id and <launchable> for the
desktop file.
2021-07-16 11:14:46 +02:00
Maximiliano Sandoval R
a5e7b92c5d
appdata: Add content_rating
...
https://www.freedesktop.org/software/appstream/docs/chap-Metadata.html#tag-content_rating
2021-07-16 11:14:42 +02:00
Maximiliano Sandoval R
2da9ba63e2
appdata: Use correct SPDX license identifier
...
Following
https://www.freedesktop.org/software/appstream/docs/chap-Metadata.html#tag-project_license ,
for the complete list of identifiers see https://spdx.org/licenses/
2021-07-16 11:09:28 +02:00
Matthias Clasen
c920236c54
gtk-demo: Add a slider to the menu example
...
This is a fun way to show that we can scale fast.
2021-07-05 19:31:54 -04:00
Matthias Clasen
749ea8c30c
widget-factory: Add a default button
...
Mark one of the buttons in the message dialog
as default, so we can see how the default appears
visually.
2021-07-03 23:01:14 -04:00
Matthias Clasen
3227aa2c45
mediastream: Rename apis one more time
...
Before we end up with names that we are unhappy with,
rename things one more time, and update all callers.
2021-07-03 09:05:33 -04:00
Matthias Clasen
92c6485adf
docs: Tweak wording
...
Instead of drag'n'drop, say drag-and-drop. That is easier
to read, and less unclear on the markdown syntax implications.
2021-06-19 08:03:47 -07:00
Matthias Clasen
1bda665662
Merge branch 'matthiasc/for-master' into 'master'
...
action muxer fixes
See merge request GNOME/gtk!3678
2021-06-17 17:53:16 +00:00
Matthias Clasen
4d00f1903a
widget-factory: Show Ctrl-? in the menu
...
We use our own action for showing the shortcuts window,
so we need to associate this shortcut with our action
for it to show up.
2021-06-17 08:59:30 -04:00
Matthias Clasen
7b1a7629bc
print-editor: Make accels work
...
Sadly, they don't show up anymore with this.
2021-06-16 10:17:49 -04:00
Matthias Clasen
96fc5dc3a7
mediastream: Some more api renaming
...
Also rename gtk_media_stream_ended to
gtk_media_stream_set_ended, to avoid naming
collision with GtkMediaStream:ended.
The existing entry points still exist, deprecated
and marked as non-introspectable.
Update all internal uses.
Fixes : #4023
2021-06-15 18:33:23 -04:00
Matthias Clasen
86b5dba43b
mediastream: Rename an api to avoid name collisions
...
Some bindings can't handle the coexistence of
GtkMediaStream:prepared and gtk_media_stream_prepared.
Help them out by renaming the function to
gtk_media_stream_set_prepared, and rename
gtk_media_stream_unprepared as well, to match.
The existing entry points still exist, deprecated.
Update all internal uses.
Fixes : #4023
2021-06-14 07:50:12 -04:00
Matthias Clasen
3ab97fac1f
Cosmetics: Eradicate gdouble
...
Remove 3 errant uses of gdouble.
2021-06-03 17:41:28 -04:00
Matthias Clasen
25ee6d3f47
demos: Generate appdata
...
We don't maintain a release history here, but at least
we can put in the right version and date for the current
build.
Fixes : #3993
2021-06-01 15:36:33 -04:00
Matthias Clasen
0996552708
demos: Clean up doc comments
...
These don't show up anywhere, but might still clean
them up.
2021-05-21 13:53:38 -04:00
Chun-wei Fan
c18a1ac1a1
gen-demo-header.py: Fix running without git
...
The script assumes that the git program is in the PATH which may not be always
the case, so if git was not found, fallback to the former behavior of making
VCS_TAG an empty string if the profile option was not set to 'devel'.
Also fix the call to the script so that we do indeed call GIT on the source GIT
repo so that we can get the right short SHA1 sum.
Re-organize the code a bit in the process, so that things seem cleaner.
2021-05-18 11:25:20 +08:00
Emmanuele Bassi
c1fbf654a0
build: Check CI envvars before rev-parse
...
The CI pipeline does not do a full clone, so we cannot use `git
rev-parse` to get the short SHA checksum for the current commit.
Of course, since nothing's ever easy, we cannot use vcs_tag() with a
custom command, so we need to generate our out `demo_conf.h` header
straight from a script.
2021-05-17 21:34:13 +01:00
Matthias Clasen
7259be35b0
Merge branch 'file-replace-trap' into 'master'
...
print-editor: Fix saving
See merge request GNOME/gtk!3536
2021-05-09 23:06:49 +00:00
Alexander Mikhaylenko
7ebd9291d9
demo: Ensure .image-button on header bar buttons
2021-05-09 20:53:05 +05:00
Alexander Mikhaylenko
c5d2d89930
demo: Use more appropriate back/forward icons
2021-05-09 20:35:39 +05:00
Matthias Clasen
087935f160
print-editor: Fix saving
...
g_file_replace_contents() does not accept -1 as
length, unlike similar apis.
2021-05-09 11:19:43 -04:00
Chun-wei Fan
efb875daef
demos: Mark non-static signal handler symbols for export
...
The symbols in the .ui files for the signal handlers and functions must be
exported so that the system can pick them up during execution.
Fixes #3918 .
2021-05-07 10:38:02 +08:00
Matthias Clasen
014fb41448
Help the compiler out
...
gcc says: error: iteration 2147483649 invokes undefined behavior
[-Werror=aggressive-loop-optimizations]
which of course, never happens because ncols is always >= 2.
Add some assertions to tell the compiler.
2021-05-05 08:17:26 -04:00
Matthias Clasen
5e7b5fe085
gtk-demo: Avoid compiler warnings without assertions
...
Avoid an unused variable warning.
2021-04-12 21:22:46 -04:00
Matthias Clasen
ae41697d83
node-editor: Make header buttons not steal focus
...
This is rarely useful, and is confusing when it
happens as side-effect of dragging the window.
2021-04-11 15:32:15 -04:00
Matthias Clasen
e2fb59798e
icon browser: Make header buttons not steal focus
...
This is rarely useful, and is confusing when it
happens as side-effect of dragging the window.
2021-04-11 15:32:15 -04:00
Matthias Clasen
d0fc3e166d
widget-factory: Make header buttons not steal focus
...
This is rarely useful, and is confusing when it
happens as side-effect of dragging the window.
2021-04-11 15:32:15 -04:00
Matthias Clasen
e4ce46e75f
gtk-demo: Make header buttons not steal focus
...
This is rarely useful, and is confusing when it
happens as side-effect of dragging the window.
2021-04-11 15:32:15 -04:00
Matthias Clasen
678e6fc6d6
nodeeditor: Make the help window wide enough
...
Make the help window wide enough to show the
tables without wrapping.
2021-04-11 12:50:34 -04:00
Matthias Clasen
e4a6101ae0
gtk-demo: Make one text scroll benchmark harder
...
Add underlines into the mix with the Emoji heavy
text, to see if we can optimize lines.
2021-04-08 23:34:36 -04:00
Matthias Clasen
cb18437908
widget-factory: Name an event controller
...
This helps with debugging.
2021-04-02 22:23:34 -04:00
Matthias Clasen
1e1f199b56
node-editor: Support pasting the image
...
Add a button that copies the image to the clipboard.
2021-04-02 21:24:59 -04:00
Matthias Clasen
e964e176f9
widget-factory: Use the new themes
...
Update the Style menu to switch between the variants
of the Default theme.
2021-04-01 12:27:35 -04:00
Matthias Clasen
8b64f0147c
gtk-demo: Allow opening images in video player
...
It works, so why not.
2021-03-29 23:40:17 -04:00
Matthias Clasen
43a1641dd7
Add a frame benchmark
...
This can be used to gauge what fps we can hope for
in the best case, on a given system.
2021-03-29 08:27:43 -04:00
Matthias Clasen
3ab07203ce
widget-factory: Add missing icons
...
This removes all the cases where we were showing a missing-image
when running with the hicolor icontheme.
2021-03-26 14:34:40 -04:00
Matthias Clasen
6ba414216c
widget-factory: Drop two icons from the iconview
...
This avoids the scrollbar by default, which is nice.
2021-03-26 13:30:46 -04:00
Matthias Clasen
4028bd5bce
widget-factory: Add emblem-shared-symbolic icon
...
We use it, so include it.
2021-03-26 11:59:37 -04:00
Matthias Clasen
0ee6868b7f
gtk-demo: Add a test for scrolling with Emoji
...
Make a text with lots of Emoji and text. This
is exercising the GL renderers switching between
different shaders for color and plain glyphs.
2021-03-12 13:19:37 -05:00
Matthias Clasen
062383bfd3
node-format: Small docs fixes
2021-03-08 17:49:21 -05:00
Matthias Clasen
d3d49ce7f1
iconbrowser: fix search<>category interaction
...
Make search act like a separate, filtered view of
all icons. This is how it worked in gtk3, and how
it should be.
Fixes : #3717
2021-03-04 19:30:02 -05:00
Christian Hergert
2a38cecd33
gsk: add OpenGL based GskNglRenderer
...
The primary goal here was to cleanup the current GL renderer to make
maintenance easier going forward. Furthermore, it tracks state to allow
us to implement more advanced renderer features going forward.
Reordering
This renderer will reorder batches by render target to reduce the number
of times render targets are changed.
In the future, we could also reorder by program within the render target
if we can determine that vertices do not overlap.
Uniform Snapshots
To allow for reordering of batches all uniforms need to be tracked for
the programs. This allows us to create the full uniform state when the
batch has been moved into a new position.
Some care was taken as it can be performance sensitive.
Attachment Snapshots
Similar to uniform snapshots, we need to know all of the texture
attachments so that we can rebind them when necessary.
Render Jobs
To help isolate the process of creating GL commands from the renderer
abstraction a render job abstraction was added. This could be extended
in the future if we decided to do tiling.
Command Queue
Render jobs create batches using the command queue. The command queue
will snapshot uniform and attachment state so that it can reorder
batches right before executing them.
Currently, the only reordering done is to ensure that we only visit
each render target once. We could extend this by tracking vertices,
attachments, and others.
This code currently uses an inline array helper to reduce overhead
from GArray which was showing up on profiles. It could be changed to
use GdkArray without too much work, but had roughly double the
instructions. Cycle counts have not yet been determined.
GLSL Programs
This was simplified to use XMACROS so that we can just extend one file
(gskglprograms.defs) instead of multiple places. The programs are added
as fields in the driver for easy access.
Driver
The driver manages textures, render targets, access to atlases,
programs, and more. There is one driver per display, by using the
shared GL context.
Some work could be done here to batch uploads so that we make fewer
calls to upload when sending icon theme data to the GPU. We'd need
to keep a copy of the atlas data for such purposes.
2021-02-23 14:41:52 -08:00
Shengyu Zhang
55bfadadc4
gtk-demo: Fix typo GtkKabel -> GtkLabel
2021-02-21 16:20:22 +00:00
Matthias Clasen
516776b630
gtk-demo: Make --version match about
...
Print the same version information in --version
that we show in the about dialog.
2021-02-18 22:52:15 -05:00
Matthias Clasen
4d0a1a97cc
widget-factory: Make --version match about
...
Print the same version information in --version
that we show in the about dialog.
2021-02-18 22:51:35 -05:00
Matthias Clasen
3aa3c21d69
demos: Add devel styling
...
Add a -Dprofile=devel meson option, and add some visual
hints to the demos that you are running a nightly build.
2021-02-12 00:08:55 -05:00
Matthias Clasen
befc2c3ed6
iconbrowser: Use the right icon
...
We have an app icon, lets use it.
2021-02-10 08:04:11 -05:00
Matthias Clasen
62788d5b0d
print-editor: Use the non-devel icon
...
We are no longer a nightly print editor.
2021-02-10 07:52:29 -05:00
Matthias Clasen
3c91a2b0a8
node-editor: Use the non-devel icon
...
We're now a respectable, stable node editor.
2021-02-10 07:44:59 -05:00
Matthias Clasen
15c36aaa1e
iconbrowser: Make image dnd work again
...
We need to drag a texture, not a paintable.
Fixes : #3648
2021-02-04 20:47:19 -05:00
Matthias Clasen
1484b4ae9f
node editor: Add a dark mode toggle
...
This is useful to see light rendering clearly.
2021-01-30 19:57:24 -05:00
Timm Bäder
aba14e6a43
node editor: Show some default node data
...
Show case the icon and the render node format this way.
2021-01-29 09:45:25 +01:00
Timm Bäder
00956a3770
node editor: Make help textview monospace
...
Otherwise the nice markdown tables don't line up.
2021-01-29 08:07:39 +01:00
Matthias Clasen
f974c5343e
Merge branch 'matthiasc/for-master' into 'master'
...
Matthiasc/for master
See merge request GNOME/gtk!3038
2021-01-05 16:49:53 +00:00
Matthias Clasen
36eb7c40d0
gtk-demo: Small a11y fix
...
Label the entry in the assistant demo.
2021-01-05 11:16:10 -05:00
Matthias Clasen
b79c26b39e
Merge branch 'wip/baedert/for-master' into 'master'
...
Wip/baedert/for master
See merge request GNOME/gtk!3029
2021-01-05 15:20:25 +00:00
Matthias Clasen
fb31581bb4
gtk-demo: Use GtkVideo in the fishbowl
...
The demo is called 'Video', so we should actually
use a GtkVideo widget. Doing things this way has
the advantage that we get GL support, which wasn't
working with GtkPicture.
2021-01-04 18:26:29 -05:00
Timm Bäder
afabbc4957
gtk4-demo: Remove unused size group
2021-01-03 11:01:28 +01:00
xndcn
34ffdc6e3f
gl: Fix implicit leaking of shader object
...
According to OpenGL spec, a shader object will only be flagged
for deletion unless it has been detached; when a program object
is deleted, those shader objects attached to it will be detached
but not deleted unless they have already been flagged for deletion.
So we shall detach a shader object before it is deleted, and delete
it before the program object is deleted best.
2020-12-29 23:50:45 +08:00
Emmanuel Gil Peyrot
dd1110ca5c
Fix some of gtk4-demo’s transitions example on OpenGL ES
...
Same issue as the previous commit, int+float is error, and pow() only
works on floats.
2020-12-25 01:36:21 +01:00
Benjamin Otte
2a8f371643
gtk-demo: Don't put the search bar in the scroll area
...
1. That's a bad idea UI wise as you can't see the search after you
scrolled.
2. That's a bad idea code-wise because Listviews need to be put into
a ScrolledWindow or they won't scroll.
2020-12-24 06:38:45 +01:00
Emmanuele Bassi
6039a36183
Merge branch 'ebassi/for-master' into 'master'
...
Clean up the build system
See merge request GNOME/gtk!2955
2020-12-15 16:54:59 +00:00
Matthias Clasen
7335e166b7
Update the node format docs
...
Update this document to mention all the render nodes we
have, and the default values for their properties.
2020-12-15 10:30:18 -05:00
Emmanuele Bassi
99e0929d6c
build: Use a consistent style for Meson files
2020-12-15 12:46:59 +00:00
Matthias Clasen
c0ed89be9a
widget-factory: Autoplay the video
...
The empty video on the frontpage is a bit of a letdown, since
the big arrow can't be clicked.
2020-12-09 10:52:55 -05:00
Matthias Clasen
ade4bcb125
Remove NoDisplay from demo desktop files
...
When these are installed (in particular, as flatpaks),
we should not hide them.
Fixes : #2932
2020-12-09 10:09:06 -05:00
Sophie Herold
a36ccd7f42
gtk-demo: Remove potentially ableist metaphor
2020-12-08 23:02:03 +00:00
Jonas Ådahl
27077d5be8
gtk/window: Make 'default-size' adapt to configured size
...
This commit changes the behavior of window size computation and the
default size properties to:
* The default-width and default-height properties are updated to the
current window size unless the size is fixed by e.g. being maxmized,
tiled etc.
* The compute-size semantics are to just pick the default size, or if
not adequate, use the measured size, and consequently update the
default size, unless unresizable.
* gtk_window_get_size() is removed, what's more likely relevant is the
gtk_window_get_default_size() which will now contain more sensible
values.
Various places that used gtk_window_get_size() were updated to use
gtk_window_get_default_size() to remember and restore previous sizes.
This also changes the default value of 'default-width' and
'default-height' from -1 to 0. The gtk builder simplify tool is taught
how to omit when the default size is set to both -1 and 0.
2020-12-07 20:37:29 +01:00
Jonas Ådahl
2cddec7798
gtk/popover: Use gtk_popover_present() instead of going via GtkNative
...
This makes it more explicit that managers of popovers make it "present".
2020-12-07 20:37:29 +01:00
Matthias Clasen
423b8209a1
gtk-demo: Use a native filechooser in the words demo
2020-12-03 22:31:05 -05:00
Matthias Clasen
d83554121f
gtk-demo: Use a native file chooser in the svg demo
2020-12-03 19:44:45 -05:00
Matthias Clasen
2688b94133
gtk-demo: Use a native filechooser in the video demo
2020-12-03 19:44:34 -05:00
Matthias Clasen
e035baee8a
gtk-demo: Remove empty row in the pickers demo
...
The file chooser button is gone.
2020-12-03 19:25:04 -05:00
Christian Hergert
8e62ff50fe
demos: make alienplanet demo work on macOS OpenGL
...
On the macOS OpenGL implementation, the use of noise2 as a
function within the glsl shader collides with the builtin noise2 of a
different signature.
This changes the name to something similar (noize2) so that we
do not risk colliding names when linking.
With this commit, the shadertoy alienplanet demo works on mac
OpenGL (albeit still with the Cairo renderer).
2020-12-03 10:23:13 -08:00
Matthias Clasen
6e67d44aa3
Merge branch 'matthiasc/for-master' into 'master'
...
Matthiasc/for master
Closes #3429
See merge request GNOME/gtk!2912
2020-12-03 03:43:19 +00:00
Benjamin Otte
eb9c204535
gtk: Remove GtkFileChooserButton
...
... as discussed in the meeting.
2020-12-03 02:02:27 +01:00
Matthias Clasen
714c610d6b
gtk-demo: Add a search button
...
Easter eggs are great, but search shouldn't be one.
2020-12-02 19:53:55 -05: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
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
Matthias Clasen
8e4cc59a7a
Merge branch 'matthiasc/for-master' into 'master'
...
Matthiasc/for master
See merge request GNOME/gtk!2870
2020-11-20 02:02:10 +00:00
Matthias Clasen
a2ce6268b2
gtk-demo: Make a more interesting constraints demo
...
Show various ways to influence spacing. This is more or
less modeled on the way Androids constraint layout lets
you set up 'chains'.
2020-11-19 20:35:15 -05:00
Emmanuele Bassi
a4c3bee4a1
a11y: Hide children of GtkFishBowl
...
The fishbowl widget is purely presentational, and its children should
not be visible in the accessibility tree.
2020-11-19 15:20:56 +00:00
Emmanuele Bassi
5afa985e85
demo: Make GtkFishBowl a presentation widget
...
It has no accessible content, even if it displays widgets.
2020-11-19 15:20:56 +00:00
Matthias Clasen
09fd2d61c4
gtk-demo: Rename some demos
...
This is just to make it easier for myself to
find the right sources.
2020-11-18 18:58:45 -05:00
Matthias Clasen
04c4b387a0
gtk-demo: Add more keywords
...
Add GtkShortcutController as a keyword to some demos that
show its use.
2020-11-18 10:48:57 -05:00
Matthias Clasen
36ef94b002
constraint-editor: Fix creating constant constraints
...
We were not making the button sensitive in the case
of a constant constraint, and we were not properly
creating constant constraints either.
2020-11-17 23:16:57 -05:00
Matthias Clasen
831ebe3ef2
constraint-editor: Fix saving of constraints
...
g_file_replace_contents take a gsize, so passing -1
for string length does not work here.
2020-11-17 23:14:29 -05:00
Matthias Clasen
de461712a1
constraint-editor: Improve display of constraints
...
No need to go for ALGOL60 style operators when we
have Unicode.
2020-11-17 21:52:15 -05:00
Christian Hergert
3003f37e9d
node-editor: fix length of text during save
...
The length parameter for g_file_replace_contents() is a gsize, so -1 is
unsuitable here. Just use strlen() directly.
2020-11-17 14:34:11 -08:00
Matthias Clasen
835c807d7a
widget-factory: Remove an unused size group
...
This was left behind when 361407201b
removed
the unused popover that this size group applied to.
2020-11-17 07:34:53 -05:00
Alexander Mikhaylenko
2abee57421
widget-factory: Fix caption style class name
...
It's lowercase.
2020-11-17 13:16:47 +05:00