Alexander Larsson
f1215d2d77
frame clock: Use compositor refresh rate info even if presentation time not set
...
On my X11 + nvidia setup gnome-shell doesn't report presentation times.
However it does report refresh rate. We were mostly using this in our
calculation except when computing predicted presentation time, were
it fell back on the default 60Hz.
2020-05-28 15:12:32 +02:00
Alexander Larsson
0ad73da68a
frame clock: Used drawn_time (as well as presentation time) in profiler marks.
2020-05-28 15:12:32 +02:00
Alexander Larsson
e2a4be0243
FrameClock debug: Log drawn_time if set
2020-05-28 15:12:32 +02:00
Yuri Chornoivan
01bd4cc4e1
Fix minor typos
2020-05-28 11:00:03 +03:00
Matthias Clasen
646a1c2b88
win32: Drop an unsed variable
2020-05-26 22:23:43 -04:00
Matthias Clasen
c47553e319
gdk: Drop no-longer-used documentation
...
Thread support is gone, and we don't have that
section in the docs anymore.
2020-05-26 20:52:41 -04:00
Matthias Clasen
45f162fc50
gdk: Remove an unused texture api
...
gdk_gl_texture_from_surface wasn't used anywhere,
so lets drop it.
2020-05-26 20:43:47 -04:00
Matthias Clasen
a20291f235
gdk: Drop some unused event queue functions
2020-05-26 20:43:47 -04:00
Matthias Clasen
3468b2fc44
gdk: Clean up gdkinternals.h
...
Remove definitions that are just leftovers with
nothing behind them anymore.
2020-05-26 20:43:47 -04:00
Matthias Clasen
aa0d0dc510
gdk: Drop _gdk_windowing_args
...
We are no longer parsing commandline args, so this
was a useless leftover that was still defined in
the win32 backend.
2020-05-26 20:13:13 -04:00
Matthias Clasen
9c82946e45
docs: Drop a mention of gdk_window_move()
...
We don't have windows anymore, and they don't move
anymore either.
2020-05-26 20:05:34 -04:00
Matthias Clasen
e5a9255555
gdk: Move the GdkGeometry typedef to gdkinternals.h
...
The struct was already there, so this is just a leftover.
2020-05-26 20:04:40 -04:00
Matthias Clasen
e14322137f
gdk: Drop the GdkByteOrder enum
...
Move it to the private gdkvisual-x11.h header, which
is the only place where its used.
2020-05-26 19:45:01 -04:00
Matthias Clasen
f27d855c68
gdk: Drop the GdkEventMask enum
...
This is not used in public api anymore.
Some of the backends still use it internally,
so keep it in gdkinternals.h for now.
2020-05-26 19:39:31 -04:00
Matthias Clasen
0553b10214
gdk: Drop the GdkSurfaceTypeHint enum
...
This is not used in public api anymore.
Some of the backends still use it internally,
so keep it in gdkinternals.h for now.
2020-05-26 19:34:59 -04:00
Matthias Clasen
7fb5b970f5
gdk: Drop GDK_PARENT_RELATIVE
...
This define is not used anywhere.
2020-05-26 19:21:55 -04:00
Matthias Clasen
bd3f4599ed
Merge branch 'matthiasc/for-master' into 'master'
...
Matthiasc/for master
Closes #2778
See merge request GNOME/gtk!1966
2020-05-26 02:41:37 +00:00
Matthias Clasen
ec39ddee63
Help static analysis with an assertion
...
It is hard for clang to see that layouts will
always be smaller than num_layouts, so just assert
that.
2020-05-25 20:56:09 -04:00
Emmanuele Bassi
0cf5b66e7b
Add private accessor for GdkKeyEvent.translated
...
Avoid accessing the event structure directly, even from within GTK.
2020-05-24 15:19:01 +01:00
Matthias Clasen
6d8153d8fd
gdk: Short-circuit some surface setters
...
Don't call into the backends when the input region
or shadow width don't actually change. This avoid
distracting calls in debug logs, and just generally
is the right thing to do.
2020-05-20 10:55:27 -04:00
Timm Bäder
ae711d8301
gdkdisplay-wayland: only remove one monitor
...
Ids here are unique, so break out of the loop once we found the monitor
with the given ID.
2020-05-20 15:51:11 +02:00
Rico Tzschichholz
ebaeb9f3b8
gdk: Preserve typed event parameter of GdkSurface:event signal for gir
...
In conjunction to https://gitlab.gnome.org/GNOME/gtk/merge_requests/1936
2020-05-20 08:48:34 +02:00
Christian Hergert
fa08d848ca
device: remove get_toplevel from surface_at_position vfunc
...
This is not used anymore now that surfaces are always toplevel in the
semantics of GdkWindow where child windows were available. We can drop
that and simplify the vfunc just a bit more.
Fixes #2765
2020-05-19 13:07:38 -07:00
Olivier Fourdan
93f9138c9b
x11: update inhibit shortcuts on grab broken
...
On X11, shortcuts inhibition is emulated using a grab on the keyboard.
So if another widget ungrabs the keyboard behind our back (for example
when a popup window is dismissed) that effectively disables the effects
of the shortcut inhibition on the surface and we need to update the
shortcut inhibition status accordingly.
Check for "grab-broken" events on the surface and clear existing
shortcuts inhibition for the matching seat, so that the client can be
notified and may decide to re-enable shortcut inhibition if desired.
2020-05-19 14:51:25 +02:00
Emmanuele Bassi
dd4d6930b5
Use the right types for the GdkSurface::event arguments
...
We pass the GdkEvent as a pointer, because the autogenerated marshallers
don't know how to handle GTypeInstance-derived classes.
Since the GValue box that we use in the marshaller passes the GdkEvent
instance as is, we also need to acquire a reference before invoking the
closure, and release it afterwards, to ensure that the GdkEvent instance
survices the invocation.
2020-05-19 12:21:22 +01:00
Emmanuele Bassi
9bd9a11de4
docs: Fix the argument name to match
...
Both gtk-doc and g-i require the name of the argument of a function to
match in the declaration, definition, and gtk-doc stanza.
2020-05-18 14:55:25 +01:00
Matthias Clasen
d6818475d7
gdk: Simplify gdk_display_supports_input_shapes
...
Make this a display property, and do away with
the vfunc in favor of a private setter, to match
how we handle other display characteristics.
2020-05-17 22:05:24 -04:00
Matthias Clasen
287c40276a
gdk: Drop gdk_display_supports_shapes
...
The apis to set shapes on surfaces are gone,
so there is no point in providing this information
on GdkDisplay.
2020-05-17 21:52:15 -04:00
Matthias Clasen
5916ae5ec4
x11: Avoid some frontend api use
...
We can just use our backend information directly.
2020-05-17 21:47:22 -04:00
Matthias Clasen
03829e191e
docs: Tweak docs for gdk_surface_set_input_region
2020-05-17 21:46:54 -04:00
Matthias Clasen
71bad81aff
gdk: Make gdk_drag_begin take doubles
...
This is a better fit to the way we treat coordinates
everywhere else.
2020-05-17 17:51:03 -04:00
Matthias Clasen
c0faf0c6b6
Merge branch 'toplevel-move-resize' into 'master'
...
Toplevel move resize
See merge request GNOME/gtk!1923
2020-05-17 19:15:46 +00:00
Matthias Clasen
1e8a58e367
gdk: Move the begin_move/resize_drag vfuncs around
...
Move these from GdkSurface to GdkToplevel, where they
belong. Update all backends.
2020-05-17 14:15:06 -04:00
Benjamin Otte
34d7e25a1f
x11: Fix up for last merge
2020-05-17 19:21:28 +02:00
Benjamin Otte
b353221185
Merge branch 'wip/otte/monitors' into 'master'
...
various GDK cleanups
See merge request GNOME/gtk!1920
2020-05-17 16:57:52 +00:00
Matthias Clasen
eb6edac4bd
gdk: Drop gdk_surface_begin_move/resize_drag
...
These have been replaced by GdkToplevel api.
2020-05-17 12:49:29 -04:00
Matthias Clasen
309a7aa253
gdk: Add gdk_toplevel_begin_move/resize
...
For now, these are wrappers around the surface apis,
but they are going to replace them, since this operation
is only available on toplevels.
2020-05-17 12:41:16 -04:00
Benjamin Otte
4c7914dc49
display: Remove unneeded getters
...
Applications can use the listmodel instead.
2020-05-17 07:32:37 +02:00
Benjamin Otte
9a30019268
display: Remove the monitor signals
...
Applications can listen to GdkDisplay:monitors::items-changed if they
want to track monitor changes.
2020-05-17 07:10:34 +02:00
Benjamin Otte
972276436f
x11: Directly notify surfaces of monitor changes
...
Do not use signals.
2020-05-17 07:10:34 +02:00
Benjamin Otte
e81a1db48c
monitor: Add gdk_monitor_set_geometry()
...
Make it replace gdk_monitor_set_size() and gdk_monitor_set_position()
which used to be called in pairs anyway.
2020-05-17 07:10:34 +02:00
Benjamin Otte
33a4442988
x11: Remove unused change tracking
...
Change tracking now works automatically via GdkMonitor.
2020-05-17 05:14:24 +02:00
Benjamin Otte
14bf58ec5d
x11: Remove XDamage dependency
...
It's not used.
2020-05-17 02:14:58 +02:00
Benjamin Otte
d4731a4ab4
x11: Remove gdk_x11_register_standard_event_type()
...
It's not used anymore since GdkX11Display::xevent exists.
2020-05-17 01:02:17 +02:00
Benjamin Otte
0c6266fd1a
surface: Remove gdk_surface_is_viewable()
...
It returns the same value as gdk_surface_get_mapped(), so use that
instead.
2020-05-17 00:41:44 +02:00
Matthias Clasen
77107f70c4
broadway: Be careful about destroyed surfaces
...
Just because we take a ref on a surface does not
guarantee that it is still usable a second later.
Check if its been destroyed in the meantime.
This is breaking the template tests in ci, since
there is no client behind the Broadway server.
2020-05-16 13:47:18 -04:00
Matthias Clasen
b41aeabbec
Merge branch 'matthiasc/for-master' into 'master'
...
broadway: Don't create overlarge images
See merge request GNOME/gtk!1916
2020-05-16 17:01:30 +00:00
Matthias Clasen
c0ae36e943
broadway: Create slave devices
...
The assumption is that the source device in events
is a slave device, so create pointer and keyboard
devices and use them in events.
This fixes the seat test on Broadway.
2020-05-16 12:27:22 -04:00
Matthias Clasen
4acb56d8c5
broadway: Keep an reference on surfaces
...
GDK backends are expected to keep a references on
their surfaces as long as they are associated with
external resources, and drop it in destroy().
This showed up as criticals in the shortcuts test
which manually creates and destroys surfaces.
2020-05-16 09:12:07 -04:00
Carlos Garnacho
000487c36c
gdk/wayland: Handle disorderly tablet/pad disconnects
...
If the tablet gets removed/freed while there are pad events in flight,
we leave a dangling pointer from the pad to the tablet, which may
lead to invalid reads/writes when handling the pad event(s).
2020-05-15 23:40:18 +02:00