pointer-constraints: Move min edge distance from backend to Wayland
The min distance to the right/bottom edge depends on Wayland concepts (wl_fixed_t) and eventually geometry scale. Move the logic the Wayland side of the pointer constraints machinery to avoid the backend trying to figure this out without the proper data. Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/2460>
This commit is contained in:
@ -50,6 +50,7 @@ struct _MetaPointerConstraint
|
||||
{
|
||||
GObject parent_instance;
|
||||
cairo_region_t *region;
|
||||
double min_edge_distance;
|
||||
};
|
||||
|
||||
G_DEFINE_TYPE (MetaPointerConstraint, meta_pointer_constraint, G_TYPE_OBJECT);
|
||||
@ -82,12 +83,14 @@ meta_pointer_constraint_class_init (MetaPointerConstraintClass *klass)
|
||||
|
||||
|
||||
MetaPointerConstraint *
|
||||
meta_pointer_constraint_new (const cairo_region_t *region)
|
||||
meta_pointer_constraint_new (const cairo_region_t *region,
|
||||
double min_edge_distance)
|
||||
{
|
||||
MetaPointerConstraint *constraint;
|
||||
|
||||
constraint = g_object_new (META_TYPE_POINTER_CONSTRAINT, NULL);
|
||||
constraint->region = cairo_region_copy (region);
|
||||
constraint->min_edge_distance = min_edge_distance;
|
||||
|
||||
return constraint;
|
||||
}
|
||||
@ -98,6 +101,12 @@ meta_pointer_constraint_get_region (MetaPointerConstraint *constraint)
|
||||
return constraint->region;
|
||||
}
|
||||
|
||||
double
|
||||
meta_pointer_constraint_get_min_edge_distance (MetaPointerConstraint *constraint)
|
||||
{
|
||||
return constraint->min_edge_distance;
|
||||
}
|
||||
|
||||
static void
|
||||
meta_pointer_constraint_impl_init (MetaPointerConstraintImpl *constraint_impl)
|
||||
{
|
||||
|
Reference in New Issue
Block a user