mirror of
https://github.com/brl/mutter.git
synced 2024-11-21 23:50:41 -05:00
evdev: Pass a motion delta to pointer constrain callback
The constrain callback cannot rely on the pointer position of the corresponding ClutterInputDevice to get the actual delta of the motion event that is to be constrained since it is only updated when an event is dispatched. So change the API to pass the previous pointer position when constraining. https://bugzilla.gnome.org/show_bug.cgi?id=752752
This commit is contained in:
parent
52e38d1ab7
commit
8181ef15d6
@ -289,6 +289,13 @@ Relevant information for developers with existing Clutter applications
|
||||
wanting to port to newer releases (see NEWS for general information on new
|
||||
features).
|
||||
|
||||
Release Notes for Clutter 1.26
|
||||
-------------------------------------------------------------------------------
|
||||
|
||||
• The evdev backend specific ClutterPointerConstrainCallback type was changed
|
||||
to include not only the target position but also the previous position. This
|
||||
is an API change, and will require a version check in any caller code.
|
||||
|
||||
Release Notes for Clutter 1.24
|
||||
-------------------------------------------------------------------------------
|
||||
|
||||
|
@ -452,7 +452,10 @@ new_absolute_motion_event (ClutterInputDevice *input_device,
|
||||
if (manager_evdev->priv->constrain_callback)
|
||||
{
|
||||
manager_evdev->priv->constrain_callback (seat->core_pointer,
|
||||
us2ms (time_us), &x, &y,
|
||||
us2ms (time_us),
|
||||
seat->pointer_x,
|
||||
seat->pointer_y,
|
||||
&x, &y,
|
||||
manager_evdev->priv->constrain_data);
|
||||
}
|
||||
else
|
||||
|
@ -82,6 +82,8 @@ void clutter_evdev_reclaim_devices (void);
|
||||
*/
|
||||
typedef void (*ClutterPointerConstrainCallback) (ClutterInputDevice *device,
|
||||
guint32 time,
|
||||
float prev_x,
|
||||
float prev_y,
|
||||
float *x,
|
||||
float *y,
|
||||
gpointer user_data);
|
||||
|
Loading…
Reference in New Issue
Block a user