mirror of
https://github.com/brl/mutter.git
synced 2025-08-06 16:44:40 +00:00
backends: Add ::device property to MetaCursorRenderer
A cursor renderer is made to invariably follow a pointer device, make it a construct-time property, and update all creators of cursor renderers to specify it. Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/1403>
This commit is contained in:

committed by
Marge Bot

parent
247613d26d
commit
3ade57e4e9
@@ -46,6 +46,7 @@ enum
|
||||
PROP_0,
|
||||
|
||||
PROP_BACKEND,
|
||||
PROP_DEVICE,
|
||||
|
||||
N_PROPS
|
||||
};
|
||||
@@ -59,6 +60,7 @@ struct _MetaCursorRendererPrivate
|
||||
float current_x;
|
||||
float current_y;
|
||||
|
||||
ClutterInputDevice *device;
|
||||
MetaCursorSprite *displayed_cursor;
|
||||
MetaCursorSprite *overlay_cursor;
|
||||
|
||||
@@ -205,6 +207,9 @@ meta_cursor_renderer_get_property (GObject *object,
|
||||
case PROP_BACKEND:
|
||||
g_value_set_object (value, priv->backend);
|
||||
break;
|
||||
case PROP_DEVICE:
|
||||
g_value_set_object (value, priv->device);
|
||||
break;
|
||||
default:
|
||||
G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
|
||||
break;
|
||||
@@ -226,6 +231,9 @@ meta_cursor_renderer_set_property (GObject *object,
|
||||
case PROP_BACKEND:
|
||||
priv->backend = g_value_get_object (value);
|
||||
break;
|
||||
case PROP_DEVICE:
|
||||
priv->device = g_value_get_object (value);
|
||||
break;
|
||||
default:
|
||||
G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
|
||||
break;
|
||||
@@ -286,6 +294,14 @@ meta_cursor_renderer_class_init (MetaCursorRendererClass *klass)
|
||||
G_PARAM_READWRITE |
|
||||
G_PARAM_CONSTRUCT_ONLY |
|
||||
G_PARAM_STATIC_STRINGS);
|
||||
obj_props[PROP_DEVICE] =
|
||||
g_param_spec_object ("device",
|
||||
"device",
|
||||
"Input device",
|
||||
CLUTTER_TYPE_INPUT_DEVICE,
|
||||
G_PARAM_READWRITE |
|
||||
G_PARAM_CONSTRUCT_ONLY |
|
||||
G_PARAM_STATIC_STRINGS);
|
||||
g_object_class_install_properties (object_class, N_PROPS, obj_props);
|
||||
|
||||
signals[CURSOR_PAINTED] = g_signal_new ("cursor-painted",
|
||||
@@ -396,10 +412,12 @@ meta_cursor_renderer_update_cursor (MetaCursorRenderer *renderer,
|
||||
}
|
||||
|
||||
MetaCursorRenderer *
|
||||
meta_cursor_renderer_new (MetaBackend *backend)
|
||||
meta_cursor_renderer_new (MetaBackend *backend,
|
||||
ClutterInputDevice *device)
|
||||
{
|
||||
return g_object_new (META_TYPE_CURSOR_RENDERER,
|
||||
"backend", backend,
|
||||
"device", device,
|
||||
NULL);
|
||||
}
|
||||
|
||||
@@ -511,3 +529,12 @@ meta_cursor_renderer_is_hw_cursors_inhibited (MetaCursorRenderer *renderer,
|
||||
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
ClutterInputDevice *
|
||||
meta_cursor_renderer_get_input_device (MetaCursorRenderer *renderer)
|
||||
{
|
||||
MetaCursorRendererPrivate *priv =
|
||||
meta_cursor_renderer_get_instance_private (renderer);
|
||||
|
||||
return priv->device;
|
||||
}
|
||||
|
Reference in New Issue
Block a user