Jonas Dreßler
ae6d83fb47
clutter: Switch to storing device->actor associations in ClutterStage
...
As planned and prepared with the last commits, let ClutterStage take
care of tracking input devices and their respective actors. This means
we now can remove the old infrastructure for this from
ClutterInputDevice.
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/1633 >
2020-12-18 16:17:00 +01:00
Carlos Garnacho
e0444a3d35
clutter: Move ClutterInputDevice fields to private struct
...
All that is left in the "public" struct is all state that ClutterStage
delegates on ClutterInputDevice. That should move somewhere else, but
not here, not now.
All private fields belong to construct-only properties, with only getter
API, and idempotent vmethods (except keyboard a11y, atm). This should
be enough to make ClutterInputDevice obviously thread safe, outside the
backend.
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/1403 >
2020-11-27 15:14:34 +00:00
Carlos Garnacho
71b4c0ee02
clutter: Drop keycode_to_evdev vmethod
...
This is just used in the native backend, move it to an utility
function there.
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/1403 >
2020-11-27 15:14:34 +00:00
Carlos Garnacho
c7f989c1e2
clutter: Drop ClutterInputDevice private tool maintenance API
...
This is just used in the native backend (with the X11 going its own
way). Just keep a HT of tools there, and drop this API.
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/1403 >
2020-11-27 15:14:34 +00:00
Carlos Garnacho
06d577fdf3
clutter: Move scroll valuator accounting to backends/x11
...
This is just used there. Another X11 detail that got open coded.
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/1403 >
2020-11-27 15:14:34 +00:00
Carlos Garnacho
d7d92b0ddc
clutter: Drop ClutterInputDevice axis API
...
Most of this comes from X11 peculiarities that were open coded in
the Clutter ABI. We don't need this except in X11, so move this axis
handling there.
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/1403 >
2020-11-27 15:14:34 +00:00
Carlos Garnacho
5689a843c7
clutter: Drop internal update_from_tool() vmethod
...
This is kinda pointless now, and will be made completely unneeded
by dropping device axes.
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/1403 >
2020-11-27 15:14:33 +00:00
Carlos Garnacho
be9c531ab9
clutter: Drop clutter_input_device_get_associated_device()
...
And the private setter. One may ask the seat for the pointer/keyboard
instead of asking the device for its counterpart.
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/1403 >
2020-11-27 15:14:33 +00:00
Carlos Garnacho
c4fa5ef88a
clutter: Drop clutter_input_device_get_physical_devices() API
...
This is unused, we have the seat for this kind of stuff.
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/1403 >
2020-11-27 15:14:33 +00:00
Carlos Garnacho
699da157c7
clutter: Drop clutter_input_device_get_key()/n_keys API
...
And the corresponding setters. This is completely unused, and
unrecommended. In xkb we trust.
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/1403 >
2020-11-27 15:14:33 +00:00
Carlos Garnacho
dea909aea7
clutter: Simplify backend-independent touch accounting
...
Coordinates are tracked by the ClutterSeat backends, we just need to
track the target actor at this level.
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/1403 >
2020-11-27 15:14:33 +00:00
Carlos Garnacho
2411460cff
clutter: Drop clutter_input_device_set_coords()
...
Input devices aren't "updated" anymore, but their state queried to the
seat. This goes nowhere.
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/1403 >
2020-11-27 15:14:33 +00:00
Carlos Garnacho
3234ae2993
clutter: Drop clutter_input_device_update_from_event()
...
Input devices aren't "updated" anymore, but their state queried to
the seat instead. This API was only meant for embedders of Clutter,
and is pointless to us.
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/1403 >
2020-11-27 15:14:33 +00:00
Carlos Garnacho
730da1dbe1
clutter: Pass base event to clutter_input_device_update()
...
So we may fetch coordinates without necessarily querying the device
state.
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/1403 >
2020-11-27 15:14:33 +00:00
Carlos Garnacho
932a5cab09
clutter: Drop clutter_input_device_set_state()
...
Nothing uses it anymore.
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/1403 >
2020-11-27 15:14:33 +00:00
Carlos Garnacho
23ae8b4519
clutter: Drop clutter_input_device_get_device_id()
...
Move the GObject property to MetaInputDeviceX11, and throw away the
rest. This is no longer public API.
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/1569 >
2020-11-18 19:10:48 +00:00
Carlos Garnacho
027abc6ea7
clutter: Drop unused field in ClutterInputDevice struct
...
https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/1486
2020-10-23 18:48:19 +00:00
Carlos Garnacho
8d9dc097e4
clutter: Drop clutter_input_device_set_time()
...
An input device does not have time on itself, events do. This was made
unused so drop it.
https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/1486
2020-10-23 18:48:19 +00:00
Carlos Garnacho
a76a47fbde
clutter: Pass timestamp to clutter_input_device_set_actor()
...
This function emits crossing events, so needs a (most times truthful)
timestamp. Make it explicit instead of fetching it from the device.
https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/1486
2020-10-23 18:48:19 +00:00
Carlos Garnacho
6e49ad436d
clutter: Drop clutter_input_device_set_stage()
...
Also drop the stage argument from clutter_input_device_set_coords()
in consequence. No one uses this already.
https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/1486
2020-10-23 18:48:19 +00:00
Carlos Garnacho
a67f676b0d
clutter: Drop clutter_input_device_get_[pointer_]stage()
...
Input devices are not related to the stage in any way. Drop all the
users that relied on it being so.
https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/1486
2020-10-23 18:48:19 +00:00
Carlos Garnacho
f99fc2ae9c
clutter: Pass stage on to _clutter_input_device_set_actor()
...
Don't rely on the device stage, so specify the stage in the callers.
https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/1486
2020-10-23 18:48:18 +00:00
Carlos Garnacho
6a6894a397
clutter: Specify stage on clutter_input_device_update() function
...
This is the function performing the picking, tell it explicitly the
stage it should happen on.
https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/1486
2020-10-23 18:48:18 +00:00
Carlos Garnacho
6cb1557d99
backends: Move absolute/relative device mapping to native backend
...
This is a bit scattered around, with the setter/getter in Clutter, and
it only being only directly honored in Wayland (it goes straight through
device properties in X11).
Make this private native API, and out of public ClutterInputDevice API.
https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/1486
2020-10-23 18:48:18 +00:00
Carlos Garnacho
b6a020e9ff
clutter: Sanitize ClutterInputDevice header
...
Move some exposed setters to private headers. It makes some sense to
provide those for backends, not as much to the upper layers.
https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/1486
2020-10-23 18:48:18 +00:00
Florian Müllner
6b04b2ff60
clutter/backends: Rename master and slave devices
...
Just because X11/XI uses a particular terminology doesn't mean we
have to use the same terms in our own API. The replacement terms
are in line with gtk@1c856a208, which seems a better precedent
for consistency.
Follow-up to commit 17417a82a5.
https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/1425
2020-08-31 21:07:03 +02:00
Carlos Garnacho
d3160d095d
clutter: Drop ClutterDeviceManager
...
This is mostly replaced by ClutterSeat, which offers a per-seat instead
of a global device abstraction.
https://gitlab.gnome.org/GNOME/mutter/merge_requests/852
2020-01-30 18:11:23 +01:00