Matthias Clasen
ba379c928b
flowbox: Use deprecation guards around get_allocation
2023-04-28 15:05:39 -04:00
Matthias Clasen
5306ef12f4
inspector: Show bounds instead of allocation
2023-04-28 15:05:39 -04:00
Matthias Clasen
be62147dee
scrolledwindow: Stop using gtk_widget_get_allocation
2023-04-28 15:05:39 -04:00
Matthias Clasen
627ce3d447
textutil: Stop using gtk_widget_get_allocation
2023-04-28 15:05:39 -04:00
Matthias Clasen
79119e64f9
tetview: Stop using gtk_widget_get_allocation
2023-04-28 15:05:39 -04:00
Matthias Clasen
37b2b3cb83
text: Stop using gtk_widget_get_allocation
2023-04-28 15:05:39 -04:00
Benjamin Otte
76777cdd18
Merge branch 'wip/otte/texturebuilder' into 'main'
...
Add GdkGLTextureBuilder
See merge request GNOME/gtk!5862
2023-04-28 15:58:10 +00:00
Matthias Clasen
bdec7782b4
Merge branch 'baseline-fixes' into 'main'
...
boxlayout: Fix baselines a bit
See merge request GNOME/gtk!5879
2023-04-28 14:40:57 +00:00
Matthias Clasen
55f5edffd1
More docs for BASELINE
...
Add some more details to the docs for GTK_ALIGN_BASELINE.
2023-04-28 09:21:15 -04:00
Matthias Clasen
bb961d062a
widget: Handle baseline better
...
When adjusting allocations, treat BASELINE more like CENTER
than like FILL. The results are better, in particular for
controls like entries or switches, which we never want to
scale up vertically, but still want to align to the baseline.
2023-04-28 09:13:49 -04:00
Matthias Clasen
38ffd099eb
image: Simplify baseline handling
...
We guarantee that the out arguments of the measure
vfunc are non-NULL, no need to check.
2023-04-28 09:12:22 -04:00
Matthias Clasen
12af75df9b
switch: Fix up baseline handling
...
We need to report a baseline for baseline alignment
to work...
2023-04-28 08:52:05 -04:00
Matthias Clasen
d648a7721e
spinbutton: Use a grid layout
...
A grid layout lets us get the baseline right in
vertical orientation, by setting a baseline row.
It would be nice if the box layout supported this
as well, but currently it doesn't, and adding that
feature isn't trivial.
2023-04-28 08:50:12 -04:00
Matthias Clasen
e187587643
boxlayout: Fix baselines a bit
...
When we are not doing height-for-width, we still
need to line up baselines.
2023-04-28 08:50:12 -04:00
Matthias Clasen
3766f1da8b
Add another baseline test client
2023-04-28 08:50:12 -04:00
Matthias Clasen
92a9f8cd7e
gldriver: Add a sync when creating textures
2023-04-28 06:23:45 +02:00
Matthias Clasen
b9a7e5fa85
gstreamer: Defer the sync
...
Don't sync right when we receive the buffer,
pass it along with the texture to be executed
later in the renderer.
2023-04-28 06:23:45 +02:00
Matthias Clasen
bec0afa61b
glarea: Synchronize
...
Create a fence object and pass it along when
creating the GL texture, so that the GL renderer
can wait for the texture to be ready.
2023-04-28 06:23:40 +02:00
Matthias Clasen
bedc3dba7e
filechooser: Plug a memory leak
2023-04-27 13:42:03 +02:00
Matthias Clasen
7c4acac135
Add some more valgrind suppressions
2023-04-27 13:42:03 +02:00
Matthias Clasen
0bb6988c0e
columnview: Plug a memory leak
...
g_list_model_get_item strikes again.
2023-04-27 13:42:03 +02:00
Matthias Clasen
df3622b295
filechooser: Plug a memory leak
...
We own references to the columns. Drop them.
2023-04-27 13:42:03 +02:00
Matthias Clasen
df9f3fc694
filechoosernative: Plug a memory leak
...
Unref all the GVariants.
2023-04-27 13:42:03 +02:00
Matthias Clasen
39b3b2444b
filedialog: Plug a memory leak
...
We own a reference to the native dialog,
and we need to drop it when we're done.
2023-04-27 13:42:03 +02:00
Matthias Clasen
c237643b24
node-editor: Plug a memory leak
2023-04-27 13:42:03 +02:00
Matthias Clasen
cc682a96d9
notebook: Drop an unused variable
2023-04-27 13:42:03 +02:00
Matthias Clasen
051b463c9a
Fix various bitfield warnings
...
clang rightly complains about using gboolean
as type for bitfields, since it is signed.
Avoid that.
2023-04-27 13:42:03 +02:00
Matthias Clasen
8292b846d5
gsk: Synchronize when using textures
...
Pass the GLsync object from texture into our
command queue, and when executing the queue,
wait on the sync object the first time we
use its associated texture.
2023-04-27 06:57:02 +02:00
Matthias Clasen
6efaa79e3c
gltexture: Synchronize when downloading
...
If the GL texture has a sync object, wait
on it before downloading the data.
2023-04-27 06:57:02 +02:00
Matthias Clasen
92eb845482
gltexture: Optionally take a sync object
...
Add a new function to TextureBuilder that takes a GLsync that
requires internal code to wait on before using the texture.
Somewhat sneakily, we don't take the sync if syncs are not supported by
the current GL context.
As public API has no code to query the sync for the destroy notify, this
is fine and it means we don't have to do the check every time we want to
call gdk_texture_get_sync() internally.
2023-04-27 06:55:37 +02:00
Matthias Clasen
5071e6154c
glcontext: Add a way to check for GLsync
2023-04-27 06:54:49 +02:00
Benjamin Otte
18a4b2475e
gltexture: Deprecate gdk_gl_texture_new()
...
Use GdkGLTextureBuilder instead.
2023-04-27 06:40:47 +02:00
Benjamin Otte
76e5fd0ece
glrenderer: Port to GdkGLTextureBuilder
2023-04-27 06:40:47 +02:00
Benjamin Otte
fa44d258d0
media-gstreamer: Port to GdkGLTextureBuilder
...
This is a rudimentary port that does not take advantage of all the cool
new formats that we could support now.
2023-04-27 06:40:47 +02:00
Benjamin Otte
778979cf0e
testsuite: Use GLTextureBuilder
2023-04-27 06:40:47 +02:00
Benjamin Otte
053a4d2e9d
glarea: Port to GdkGLTextureBuilder
2023-04-27 06:40:47 +02:00
Benjamin Otte
aae7b2c8a8
texturebuilder: Pass the destroy notify to the build() function
...
This is more compatible with bindings that want to create per-object
callbacks and not have their callbacks reused over different build()
calls.
2023-04-27 06:40:47 +02:00
Benjamin Otte
e37fbaf13a
texturebuilder: Add ::format and ::has-mipmap
...
We were trying to deduce that previously. Now we have explicit API
2023-04-27 06:40:47 +02:00
Benjamin Otte
e4f4cfaf14
gdk: Add GdkGLTextureBuilder
...
Building GL textures is complicated, so create an object to make them.
So far, this object just contains the functionality of
gdk_gl_texture_new(), but that will change in the future.
2023-04-27 06:40:47 +02:00
Matthias Clasen
9ae0a3865c
Merge branch 'matthiasc/for-main' into 'main'
...
Fix the build with clang
See merge request GNOME/gtk!5876
2023-04-27 04:37:12 +00:00
Benjamin Otte
3b5a2d60c7
Merge branch 'wip/otte/gl-version' into 'main'
...
Make sure highest possible version GLContext is created
See merge request GNOME/gtk!5870
2023-04-27 00:39:19 +00:00
Benjamin Otte
9254ab8503
wgl: Improve error messages when GL init fails
...
In particular, we want to get the GL version, when the Windows box/VM
has an unsuitable GL implementation.
This is somewhat helpful in analyzing failures to bring up GL on
machines where users claim GL does work.
2023-04-27 02:19:25 +02:00
Benjamin Otte
d6afcee1e4
wgl: Create context during WGL initialization
...
This way, we can realize it and either print success information about
it or return NULL if that fails.
This makes it more likely that we fail early, which means we can then
initialize EGL.
2023-04-27 02:16:46 +02:00
Benjamin Otte
c71ca481c1
win32: Get rid of display->gl_version
...
We can just query the display's GL context.
And it's not used otherwise anymore.
2023-04-27 02:13:33 +02:00
Benjamin Otte
8ef38c46b5
win32: Refactor context creation
...
This refactor achieves the following:
* check GL version against proper matching context version
In particular, for legacy contexts, we now actually check
* make sure the actual version is set, even for legacy contexts
* make sure set_is_legacy() is set properly
2023-04-27 02:13:33 +02:00
Benjamin Otte
4333d754b8
gdk: Add workaround for Visual Studio
...
apparently casting something to itself makes it not constant.
2023-04-27 02:13:33 +02:00
Benjamin Otte
9f82d537b0
mac: Properly set GLContext.is_legacy()
2023-04-27 02:13:32 +02:00
Benjamin Otte
7c7a3d67ca
glcontext: assert all contexts set the version on realize()
...
Now that all contexts do that, insist that they keep doing it.
And because they keep doing it, we can support querying the GL version
from gdk_gl_context_get_version() without requiring the context to be
made current.
2023-04-27 02:13:32 +02:00
Benjamin Otte
d33b82249b
mac: Try all different OpenGL profiles
...
.. and pick the best one that is supported.
Also make sure that the resulting context has at least the desired
version, otherwise bail.
2023-04-27 02:13:32 +02:00
Benjamin Otte
5f833f1d31
glcontext: Compute matching version the simple way
...
Do it all in one function instead of requiring two different ones.
2023-04-27 02:13:32 +02:00