Carlos Garnacho
ef2acde122
wayland: Replace ClutterDeviceManager usage in favor of ClutterSeat
...
https://gitlab.gnome.org/GNOME/mutter/merge_requests/852
2019-11-22 22:24:07 +01:00
Carlos Garnacho
a8c6fab3b8
clutter: Drop select_stage_events() device manager vfunc
...
This is specific to X11, so handle it within the X11 backend.
https://gitlab.gnome.org/GNOME/mutter/merge_requests/852
2019-11-22 22:24:07 +01:00
Carlos Garnacho
b8c8b59dc8
clutter: Move motion compression handling to ClutterSeat
...
Another responsibility taken away from ClutterDeviceManager
https://gitlab.gnome.org/GNOME/mutter/merge_requests/852
2019-11-22 22:24:07 +01:00
Carlos Garnacho
efe698f6e1
clutter: Move virtual device management to ClutterSeat
...
A11y in general may be considered a per-seat feature.
https://gitlab.gnome.org/GNOME/mutter/merge_requests/852
2019-11-22 22:24:07 +01:00
Carlos Garnacho
75ad578a7d
clutter: Move pointer a11y from ClutterDeviceManager to ClutterSeat
...
A11y in general may be considered a per-seat feature.
https://gitlab.gnome.org/GNOME/mutter/merge_requests/852
2019-11-22 22:24:07 +01:00
Carlos Garnacho
77d0ec12b1
clutter: Move keyboard a11y from ClutterDeviceManager to ClutterSeat
...
A11y in general may be considered a per-seat feature.
https://gitlab.gnome.org/GNOME/mutter/merge_requests/852
2019-11-22 22:24:07 +01:00
Carlos Garnacho
11f3db6693
clutter: Move platform event data management to ClutterSeat
...
https://gitlab.gnome.org/GNOME/mutter/merge_requests/852
2019-11-22 22:24:07 +01:00
Carlos Garnacho
c5b89d9a86
clutter: Move keymap from ClutterBackend to ClutterSeat
...
Keymaps are a per-seat feature, so move it there.
https://gitlab.gnome.org/GNOME/mutter/merge_requests/852
2019-11-22 22:24:07 +01:00
Carlos Garnacho
ed4c96c751
clutter: Move bell_notify() from ClutterBackend to ClutterSeat
...
Bells can be considered to be a per-seat feature, so move it there.
https://gitlab.gnome.org/GNOME/mutter/merge_requests/852
2019-11-22 22:24:07 +01:00
Carlos Garnacho
2001bdd863
clutter: Move keymap direction from ClutterBackend to ClutterKeymap
...
This makes more sense to have in the ClutterKeymap, since we have it.
https://gitlab.gnome.org/GNOME/mutter/merge_requests/852
2019-11-22 22:24:07 +01:00
Carlos Garnacho
9577475453
native: Implement ClutterSeat
...
We had the MetaSeatNative struct around, so use it as the base of
this Clutter object. A few responsibilities were drawn from
ClutterDeviceManager.
https://gitlab.gnome.org/GNOME/mutter/merge_requests/852
2019-11-22 22:24:07 +01:00
Carlos Garnacho
ea099a871c
x11: Implement ClutterSeat
...
The ClutterDeviceManager signaling becomes implemented on top of this.
https://gitlab.gnome.org/GNOME/mutter/merge_requests/852
2019-11-22 22:24:07 +01:00
Carlos Garnacho
454e104d6f
clutter: Add ClutterSeat object
...
This object will take most responsibilities away from ClutterDeviceManager,
with the peculiarity that it'll express the per-seat device tree.
https://gitlab.gnome.org/GNOME/mutter/merge_requests/852
2019-11-22 22:24:07 +01:00
Carlos Garnacho
127df62a02
x11: Drop subscription for input event from floating devices
...
This is unlikely to happen, and unlikely to be right (eg. we don't translate
input event coordinates, since those are not in display coordinate space, we
don't offer any feedback for those either).
This can simply be dropped, we listen to XIAllMasterDevices, which suffices
for what we want to do.
https://gitlab.gnome.org/GNOME/mutter/merge_requests/852
2019-11-22 22:24:07 +01:00
Carlos Garnacho
f4bf48a7d7
clutter: Drop unused API
...
clutter_stage_*_get_clip_region_bounds() is no longer used and may be
removed.
https://gitlab.gnome.org/GNOME/mutter/merge_requests/867
2019-11-22 21:07:05 +00:00
Carlos Garnacho
353d7909f6
clutter: Check updated devices with the current clip
...
We do check the clip area as an optimization to know which input devices
might need updating state after a relayout (Assuming that if a device is
under a non-painted area, it's actor beneath didn't change).
Use the clip region for this, and drop the last usage of the clip region
bounds.
https://gitlab.gnome.org/GNOME/mutter/merge_requests/867
2019-11-22 21:07:05 +00:00
Carlos Garnacho
a586f6a152
cogl: Drop unused struct field
...
We only ever stored that the current clip uses the stencil buffer, but
never read it back. It doesn't seem like we'll have an use for it.
https://gitlab.gnome.org/GNOME/mutter/merge_requests/867
2019-11-22 21:07:05 +00:00
Carlos Garnacho
e44bd2edb4
compositor: Use redraw clip region to cull out children
...
This will avoid repainting too much of the background if the
bounding box turned out to be too large.
https://bugzilla.gnome.org/show_bug.cgi?id=782344
2019-11-22 21:07:05 +00:00
Carlos Garnacho
8598b654ba
clutter/cogl: Use regions for clipping if necessary
...
Use the new cogl function to perform clipping if the clip area
consists of more than a single rectangle.
https://gitlab.gnome.org/GNOME/mutter/merge_requests/867
2019-11-22 21:07:05 +00:00
Carlos Garnacho
a1116bc6c8
cogl: Add support for clipping regions
...
This uses the stencil buffer to poke holes in the shape of the
given cairo_region_t that we will draw through.
https://gitlab.gnome.org/GNOME/mutter/merge_requests/867
2019-11-22 21:07:05 +00:00
Robert Mader
8e172aeecb
cleanup: Use g_clear_handle_id() for g_source_remove()
...
It makes sure we do not forget to zero the id and lets us avoid
zero checks before. We use it for all new code, lets clean up the
existing code base.
https://gitlab.gnome.org/GNOME/mutter/merge_requests/947
2019-11-22 01:27:40 +01:00
Robert Mader
51f68f1054
clutter/cally-root: Use g_clear_signal_handler and fix a signal leak
...
This commit was split out from `cleanup: Use g_clear_signal_handler()
where possible` as it fixes an actual signal leak and should therefore
get backported to stable releases.
https://gitlab.gnome.org/GNOME/mutter/merge_requests/940
2019-11-21 15:02:27 +00:00
Robert Mader
92375c75f8
cleanup: Use g_clear_signal_handler() where possible
...
This is inspired by 98892391d764d1cf where the usage of
`g_signal_handler_disconnect()` without resetting the corresponding
handler id later resulted in a bug. Using `g_clear_signal_handler()`
makes sure we avoid similar bugs and is almost always the better
alternative. We use it for new code, let's clean up the old code to
also use it.
A further benefit is that it can get called even if the passed id is
0, allowing us to remove a lot of now unnessecary checks, and the fact
that `g_clear_signal_handler()` checks for the right type size, forcing us
to clean up all places where we used `guint` instead of `gulong`.
No functional changes intended here and all changes should be trivial,
thus bundled in one big commit.
https://gitlab.gnome.org/GNOME/mutter/merge_requests/940
2019-11-21 15:02:27 +00:00
Adam Jackson
22d1febf3c
cogl: Remove unused CoglShaderLanguage
...
There is only GLSL.
https://gitlab.gnome.org/GNOME/mutter/merge_requests/819
2019-11-20 12:15:49 -05:00
Adam Jackson
5aa971b177
cogl: Collapse some COGL_PIPELINE_{VERT,FRAG,PROG}END arrays
...
There is only GLSL now.
https://gitlab.gnome.org/GNOME/mutter/merge_requests/819
2019-11-20 12:15:49 -05:00
Adam Jackson
e922c640ef
cogl: Remove unused CoglPipelineFragend::passthrough
...
https://gitlab.gnome.org/GNOME/mutter/merge_requests/819
2019-11-20 12:15:49 -05:00
Adam Jackson
f5050a4f80
cogl: Remove unused CoglPipelineFragend::pipeline_set_parent_notify
...
https://gitlab.gnome.org/GNOME/mutter/merge_requests/819
2019-11-20 12:15:49 -05:00
Adam Jackson
8cac82318f
cogl: Remove unused CoglPipelineProgramType
...
There is only GLSL.
https://gitlab.gnome.org/GNOME/mutter/merge_requests/819
2019-11-20 12:15:45 -05:00
Adam Jackson
23e9fd3dfa
cogl: Remove unused COGL_OBJECT_DEFINE_DEPRECATED_REF_COUNTING
...
https://gitlab.gnome.org/GNOME/mutter/merge_requests/933
2019-11-20 11:59:15 -05:00
Adam Jackson
13fd213064
cogl: Remove unported test-vertex-buffer-mutability
...
https://gitlab.gnome.org/GNOME/mutter/merge_requests/933
2019-11-20 11:59:15 -05:00
Adam Jackson
c69dc7566b
cogl: Remove unused includes of cogl-vertex-buffer-private.h
...
https://gitlab.gnome.org/GNOME/mutter/merge_requests/933
2019-11-20 11:59:15 -05:00
Adam Jackson
c6f5b7f1a1
cogl: Remove unused deprecated cogl_framebuffer_{,v}draw_*
...
https://gitlab.gnome.org/GNOME/mutter/merge_requests/933
2019-11-20 11:59:15 -05:00
Adam Jackson
1076b31464
cogl: Remove unused deprecated cogl_onscreen_{add,remove}_swap_buffers_callback
...
https://gitlab.gnome.org/GNOME/mutter/merge_requests/933
2019-11-20 11:59:15 -05:00
Adam Jackson
0d006bc8d9
cogl: Remove unused deprecated cogl_matrix_ortho
...
https://gitlab.gnome.org/GNOME/mutter/merge_requests/933
2019-11-20 11:59:15 -05:00
Adam Jackson
794d3239c7
cogl: Remove deprecated cogl_color_set_from_*
...
https://gitlab.gnome.org/GNOME/mutter/merge_requests/933
2019-11-20 11:59:15 -05:00
Carlos Garnacho
e5af790acb
wayland: Move "ownership" of the DnD selection source to the data device
...
On wl_data_source destruction we used to indirectly unset the DnD selection
owner via the wl_resource destructor triggering the destruction of the
MetaWaylandDataSource, which would be caught through the weak ref set by
the MetaWaylandDragGrab.
This works as long as the grab is held, however we have a window between
the button being released and the drop site replying with
wl_data_offer.finish that the MetaWaylandDataSource is alive, but its
destruction wouldn't result in the call chain above to unsetting the DnD
source.
In other selection sources, we let the MetaWaylandDataDevice hold the
"ownership" of the MetaWaylandDataSource, and its weak ref functions unset
the respective MetaSelection owners. Do the same here, so the
MetaWaylandDataSource destruction is listened for all its lifetime.
Closes: https://gitlab.gnome.org/GNOME/mutter/issues/591
2019-11-20 12:07:51 +01:00
Carlos Garnacho
48639ac5da
wayland: Do not cancel data source on offer destruction
...
This is wrong for both clipboard and DnD, as the selection source
will still be able to focus another surface, and churn another
wl_offer.
We should just detach the data offer from the data source in this
case, and let the source live on. However, we should still check
that there is a source and an offer to finish DnD, do that when
handling the drop operation instead.
https://gitlab.gnome.org/GNOME/mutter/issues/591
2019-11-20 12:07:51 +01:00
Carlos Garnacho
e7b2f9603e
wayland: Avoid redundant cancel() call
...
This is unnecessary as we are unsetting the DnD selection owner,
and will result in the related data source being cancelled already.
https://gitlab.gnome.org/GNOME/mutter/issues/591
2019-11-20 12:07:51 +01:00
Carlos Garnacho
46b3811e22
wayland: Drop unused wl_signal structs
...
Those were used to signal clipboard ownership around, but that got
replaced by MetaSelection and friends. These signals are no longer
listened on, so can be safely removed.
https://gitlab.gnome.org/GNOME/mutter/issues/591
2019-11-20 12:07:51 +01:00
Adam Jackson
7adaaab2d6
clutter: Remove deprecated ClutterTableLayout
...
https://gitlab.gnome.org/GNOME/mutter/merge_requests/921
2019-11-19 21:50:27 +00:00
Adam Jackson
289e24f1f7
clutter: Remove some unused deprecated clutter_actor API
...
https://gitlab.gnome.org/GNOME/mutter/merge_requests/921
2019-11-19 21:50:27 +00:00
Adam Jackson
c4d1e150ba
clutter: Remove some unused deprecated clutter_alpha API
...
https://gitlab.gnome.org/GNOME/mutter/merge_requests/921
2019-11-19 21:50:27 +00:00
Adam Jackson
293ec0a1cb
clutter: Remove some unused deprecated clutter_state API
...
https://gitlab.gnome.org/GNOME/mutter/merge_requests/921
2019-11-19 21:50:27 +00:00
Adam Jackson
24b38a5059
clutter: Remove some unused deprecated clutter_animation API
...
https://gitlab.gnome.org/GNOME/mutter/merge_requests/921
2019-11-19 21:50:27 +00:00
Adam Jackson
c74f4f6340
clutter: Remove some unused deprecated clutter_table_layout API
...
https://gitlab.gnome.org/GNOME/mutter/merge_requests/921
2019-11-19 21:50:27 +00:00
Adam Jackson
3e9f8471fc
clutter: Remove unused deprecated clutter_container_{add,remove}_valist
...
https://gitlab.gnome.org/GNOME/mutter/merge_requests/921
2019-11-19 21:50:26 +00:00
Adam Jackson
0a41f0f855
clutter: Remove unused deprecated/clutter-bin-layout.h
...
https://gitlab.gnome.org/GNOME/mutter/merge_requests/921
2019-11-19 21:50:26 +00:00
Adam Jackson
375d35be60
clutter: Remove unused deprecated/clutter-animatable.h
...
https://gitlab.gnome.org/GNOME/mutter/merge_requests/921
2019-11-19 21:50:26 +00:00
Adam Jackson
6da568e29a
clutter: Remove unused deprecated/clutter-stage-manager.h
...
https://gitlab.gnome.org/GNOME/mutter/merge_requests/921
2019-11-19 21:50:26 +00:00
Adam Jackson
c039764d52
clutter: Remove unused deprecated/clutter-keysyms.h
...
https://gitlab.gnome.org/GNOME/mutter/merge_requests/921
2019-11-19 21:50:26 +00:00