backends: Move function definitions
These will be made private and called from different places. At the moment there is no functional change here. Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/285>
This commit is contained in:
parent
3ab59175c8
commit
ecafc489c1
@ -353,6 +353,58 @@ meta_backend_monitors_changed (MetaBackend *backend)
|
|||||||
update_cursors (backend);
|
update_cursors (backend);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static gboolean
|
||||||
|
update_last_device (MetaBackend *backend)
|
||||||
|
{
|
||||||
|
MetaBackendPrivate *priv = meta_backend_get_instance_private (backend);
|
||||||
|
MetaCursorTracker *cursor_tracker = priv->cursor_tracker;
|
||||||
|
ClutterInputDeviceType device_type;
|
||||||
|
|
||||||
|
priv->device_update_idle_id = 0;
|
||||||
|
device_type = clutter_input_device_get_device_type (priv->current_device);
|
||||||
|
|
||||||
|
g_signal_emit (backend, signals[LAST_DEVICE_CHANGED], 0,
|
||||||
|
priv->current_device);
|
||||||
|
|
||||||
|
switch (device_type)
|
||||||
|
{
|
||||||
|
case CLUTTER_KEYBOARD_DEVICE:
|
||||||
|
break;
|
||||||
|
case CLUTTER_TOUCHSCREEN_DEVICE:
|
||||||
|
meta_cursor_tracker_set_pointer_visible (cursor_tracker, FALSE);
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
meta_cursor_tracker_set_pointer_visible (cursor_tracker, TRUE);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
return G_SOURCE_REMOVE;
|
||||||
|
}
|
||||||
|
|
||||||
|
void
|
||||||
|
meta_backend_update_last_device (MetaBackend *backend,
|
||||||
|
ClutterInputDevice *device)
|
||||||
|
{
|
||||||
|
MetaBackendPrivate *priv = meta_backend_get_instance_private (backend);
|
||||||
|
|
||||||
|
if (priv->current_device == device)
|
||||||
|
return;
|
||||||
|
|
||||||
|
if (!device ||
|
||||||
|
clutter_input_device_get_device_mode (device) == CLUTTER_INPUT_MODE_LOGICAL)
|
||||||
|
return;
|
||||||
|
|
||||||
|
g_set_object (&priv->current_device, device);
|
||||||
|
|
||||||
|
if (priv->device_update_idle_id == 0)
|
||||||
|
{
|
||||||
|
priv->device_update_idle_id =
|
||||||
|
g_idle_add ((GSourceFunc) update_last_device, backend);
|
||||||
|
g_source_set_name_by_id (priv->device_update_idle_id,
|
||||||
|
"[mutter] update_last_device");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
static inline gboolean
|
static inline gboolean
|
||||||
determine_hotplug_pointer_visibility (ClutterSeat *seat)
|
determine_hotplug_pointer_visibility (ClutterSeat *seat)
|
||||||
{
|
{
|
||||||
@ -1410,58 +1462,6 @@ meta_backend_get_default_seat (MetaBackend *backend)
|
|||||||
return priv->default_seat;
|
return priv->default_seat;
|
||||||
}
|
}
|
||||||
|
|
||||||
static gboolean
|
|
||||||
update_last_device (MetaBackend *backend)
|
|
||||||
{
|
|
||||||
MetaBackendPrivate *priv = meta_backend_get_instance_private (backend);
|
|
||||||
MetaCursorTracker *cursor_tracker = priv->cursor_tracker;
|
|
||||||
ClutterInputDeviceType device_type;
|
|
||||||
|
|
||||||
priv->device_update_idle_id = 0;
|
|
||||||
device_type = clutter_input_device_get_device_type (priv->current_device);
|
|
||||||
|
|
||||||
g_signal_emit (backend, signals[LAST_DEVICE_CHANGED], 0,
|
|
||||||
priv->current_device);
|
|
||||||
|
|
||||||
switch (device_type)
|
|
||||||
{
|
|
||||||
case CLUTTER_KEYBOARD_DEVICE:
|
|
||||||
break;
|
|
||||||
case CLUTTER_TOUCHSCREEN_DEVICE:
|
|
||||||
meta_cursor_tracker_set_pointer_visible (cursor_tracker, FALSE);
|
|
||||||
break;
|
|
||||||
default:
|
|
||||||
meta_cursor_tracker_set_pointer_visible (cursor_tracker, TRUE);
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
|
|
||||||
return G_SOURCE_REMOVE;
|
|
||||||
}
|
|
||||||
|
|
||||||
void
|
|
||||||
meta_backend_update_last_device (MetaBackend *backend,
|
|
||||||
ClutterInputDevice *device)
|
|
||||||
{
|
|
||||||
MetaBackendPrivate *priv = meta_backend_get_instance_private (backend);
|
|
||||||
|
|
||||||
if (priv->current_device == device)
|
|
||||||
return;
|
|
||||||
|
|
||||||
if (!device ||
|
|
||||||
clutter_input_device_get_device_mode (device) == CLUTTER_INPUT_MODE_LOGICAL)
|
|
||||||
return;
|
|
||||||
|
|
||||||
g_set_object (&priv->current_device, device);
|
|
||||||
|
|
||||||
if (priv->device_update_idle_id == 0)
|
|
||||||
{
|
|
||||||
priv->device_update_idle_id =
|
|
||||||
g_idle_add ((GSourceFunc) update_last_device, backend);
|
|
||||||
g_source_set_name_by_id (priv->device_update_idle_id,
|
|
||||||
"[mutter] update_last_device");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
MetaPointerConstraint *
|
MetaPointerConstraint *
|
||||||
meta_backend_get_client_pointer_constraint (MetaBackend *backend)
|
meta_backend_get_client_pointer_constraint (MetaBackend *backend)
|
||||||
{
|
{
|
||||||
|
Loading…
Reference in New Issue
Block a user