mirror of
https://github.com/brl/mutter.git
synced 2024-11-22 08:00:42 -05:00
clutter: Add ClutterSeat::clutter_seat_has_touchscreen() helper function
Add a helper function to determine if a seat has a (physical) touchscreen associated with it. Currently src/backends/meta-backend.c has a private version of this (check_has_physical_touchscreen) and further patches in this patch-set need the same functionality. So add a generic helper for this to avoid code duplication. https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/1506
This commit is contained in:
parent
b2f2050b95
commit
3b181c6754
@ -749,3 +749,30 @@ clutter_seat_get_touch_mode (ClutterSeat *seat)
|
||||
|
||||
return touch_mode;
|
||||
}
|
||||
|
||||
/**
|
||||
* clutter_seat_has_touchscreen: (skip)
|
||||
**/
|
||||
gboolean
|
||||
clutter_seat_has_touchscreen (ClutterSeat *seat)
|
||||
{
|
||||
gboolean has_touchscreen;
|
||||
const GList *devices, *l;
|
||||
|
||||
g_return_val_if_fail (CLUTTER_IS_SEAT (seat), FALSE);
|
||||
|
||||
devices = clutter_seat_peek_devices (seat);
|
||||
for (l = devices; l; l = l->next)
|
||||
{
|
||||
ClutterInputDevice *device = l->data;
|
||||
|
||||
if (clutter_input_device_get_device_mode (device) != CLUTTER_INPUT_MODE_LOGICAL &&
|
||||
clutter_input_device_get_device_type (device) == CLUTTER_TOUCHSCREEN_DEVICE)
|
||||
{
|
||||
has_touchscreen = TRUE;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
return has_touchscreen;
|
||||
}
|
||||
|
@ -194,4 +194,7 @@ void clutter_seat_warp_pointer (ClutterSeat *seat,
|
||||
CLUTTER_EXPORT
|
||||
gboolean clutter_seat_get_touch_mode (ClutterSeat *seat);
|
||||
|
||||
CLUTTER_EXPORT
|
||||
gboolean clutter_seat_has_touchscreen (ClutterSeat *seat);
|
||||
|
||||
#endif /* CLUTTER_SEAT_H */
|
||||
|
Loading…
Reference in New Issue
Block a user