| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
| |
|
|
|
|
|
|
|
| |
The documentation already tells you not to
use this function.
Ifdef the remaining users in the X11 backend.
|
|
|
|
| |
Update the docs for gdk_display_get_monitor_at_surface.
|
|\
| |
| |
| |
| |
| |
| | |
gdkdisplay: Document get_monitor_at_surface can return NULL
Closes #5075
See merge request GNOME/gtk!4917
|
| |
| |
| |
| | |
Fixes https://gitlab.gnome.org/GNOME/gtk/-/issues/5075
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
We have various layers where we store the startup ID for a request,
since this API does not have a GdkToplevel that we can refer about
for the Wayland platform, this is the most obvious candidate to
start untangling these various layers.
Deprecate this call, it is already unused in the gtk/ side.
|
| | |
|
| |
| |
| |
| |
| | |
This header was merely including gi18n-lib.h.
Just do that directly.
|
| |
| |
| |
| | |
The extra - does not add any value.
|
| | |
|
|/
|
|
| |
No need to restrict this to debug builds.
|
| |
|
|
|
|
|
|
|
|
| |
Those property features don't seem to be in use anywhere.
They are redundant since the docs cover the same information
and more. They also created unnecessary translation work.
Closes #4904
|
|
|
|
|
|
|
| |
It appears that NVIDIA does not implement EGL_EXT_swap_buffers_with_damage
on their EGL implementation, but does implement the KHR variant of it.
This checks for a suitable implementation and stores a pointer to the
compatible implementation within the GdkGLContextPrivate struct.
|
|
|
|
|
| |
...when libANGLE is being used on Windows, by checking for a
Windows-specific an ANGLE-specific extension.
|
|
|
|
|
|
|
| |
We need to ensure that gdk_display_get_egl_display() is available even if EGL
is not enabled in the build, so that things will continue to link and work.
For builds without EGL, just return NULL.
|
|
|
|
|
|
|
| |
gdk_display_create_gl_context only returns NULL when there is
an error set or asserts/aborts. So nullalbe annotation isn't needed.
Similar to 53312cf696516cdeb1c284008992022a210bb233
|
|
|
|
|
|
|
|
|
|
|
|
| |
This is an alternative to gdk_surface_create_gl_context() when the
context is meant to only draw to textures.
This is useful in the testsuite or in GStreamer or with GLArea,
basically whenever we want to do GL stuff but don't need to actually
draw anything on screen.
A bunch of code will need to be updated to deal with context->surface
being NULL.
|
|
|
|
| |
It is needed for qsort().
|
|
|
|
|
|
|
|
|
|
|
|
| |
The term "hdr" is so overloaded, we shouldn't use them anywhere, except
from maybe describing all of this work in blog posts and other marketing
materials.
So do renames:
* hdr => high_depth
* request_hdr => prefers_high_depth
This more accurately describes what is going on.
|
|
|
|
|
| |
The intention here was obviously to return
the hdr config.
|
|
|
|
|
|
|
|
|
|
| |
If EGL supports:
* no-config contexts
* >8bits pixel formats
* (optionally) floating point pixel formats
Then select such a profile as the HDR format and use it when HDR is
requested.
|
|
|
|
|
|
|
| |
If the extension is supported, we create configless contexts.
This will come in handy real soon now, we use different configs for HDR
and SDR.
|
|
|
|
| |
We check the same extensions anyway, so no need to duplicate the code.
|
|
|
|
| |
Calling gdk_surface_set_egl_native_window() enables this.
|
|
|
|
|
| |
I wanted to make it easy to check for multiple extensions and then got
carried away by trying to generate beautiful error messages.
|
|
|
|
|
|
|
| |
Moves the EGL initialization code to gdk/ so it can be shared between
backends.
Also port the Wayland backend to this code, so I know that it works.
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
Creative people managed to create an X11 display and a Wayland display
at once, thereby getting EGL and GLX involved in a fight to the death
over the ownership of the glFoo() symbolspace.
A way to force such a fight with available tools here is (on Wayland)
running something like:
GTK_INSPECTOR_DISPLAY=:1 GTK_DEBUG=interactive gtk4-demo
Related: xdg-desktop-portal-gnome#5
|
|
|
|
|
|
| |
Add a few more marks during gtk_init to figure out where
our startup time goes, and avoid the sysprof initialization
from distorting the first mark.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Instead of
Display::make_gl_context_current()
we now have
GLContext::clear_current()
GLContext::make_current()
This fits better with the backends (we can actually implement
clearCurrent on macOS now) and makes it easier to implement different GL
backends for backends (like EGL/GLX on X11).
We also pass a surfaceless boolean to make_current() so the calling code
can decide if a surface needs to be bound or not, because the backends
were all doing whatever, which was very counterproductive.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The vfunc is called to initialize GL and it returns a "base" context
that GDK then uses as the context all others are shared with. So the GL
context share tree now looks like:
+ context from init_gl
- context1
- context2
...
So this is a flat tree now, the complexity is gone.
The only caveat is that backends now need to create a GL context when
initializing GL so some refactoring was needed.
Two new functions have been added:
* gdk_display_prepare_gl()
This is public API and can be used to ensure that GL has been
initialized or if not, retrieve an error to display (or debug-print).
* gdk_display_get_gl_context()
This is a private function to retrieve the base context from
init_gl(). It replaces gdk_surface_get_shared_data_context().
|
|
|
|
|
|
|
|
|
|
| |
... and move some members from the GdkDisplay struct.
We've always wanted to add one to isolate the display from the backends
a bit more, but so far it's never happened.
Now that I'm about to add more data to GdkDisplay, it's a good excuse to
start.
|
|
|
|
| |
Remove some more redundant "or NULL" blurbs.
|
|
|
|
| |
Replace leftover gtk-doc syntax (#Type) with backquotes.
|
|
|
|
|
| |
Mostly fixing up indentation of continuation lines,
and other small cleanups.
|
|
|
|
| |
Connect properties, getters, and setters with annotations.
|
| |
|
| |
|
|
|
|
|
|
| |
No users of gdk_display_peek_event, gdk_display_has_pending
_gdk_display_event_data_copy or _gdk_display_event_data_free,
so drop all of these, and related vfuncs.
|
|
|
|
|
|
| |
Replace most remaining uses of GTK+ in the docs and
user-visible strings by GTK. Also remove some leftover
"Was added in 3.x" sentences from the docs.
|
| |
|
|
|
|
| |
Clean up references to no-longer-existing APIs.
|
|
|
|
|
|
|
|
|
|
|
| |
This check used to read if (grab || device_type != GDK_DEVICE_TYPE_PHYSICAL),
the grab check was only reserved to physical devices, which the current
pointer device definitely doesn't act like. So the condition was "fixed" the
wrong way around, and the latter check is now moot, so the condition should
really go away. We always want to check the new toplevel under the pointer
here.
Fixes: https://gitlab.gnome.org/GNOME/gtk/-/issues/2970
|
|
|
|
|
| |
There is no longer a hierarchy of devices, or none that is seen
on the outside.
|
|
|
|
| |
Query the seat for that.
|
|
|
|
|
| |
gdk_surface_input_shape_combine_mask() no longer
exists.
|
|
|
|
| |
This is the only place where it is implemented.
|