NULL, _e_comp_wl_cb_unbind_relative_pointer_manager);
}
+void
+_e_comp_wl_relative_motion_cb(double dx[2], double dy[2], uint64_t time_us)
+{
+ Eina_Bool res;
+ res = e_comp_wl_mouse_relative_motion_send(e_comp_wl->ptr_constraints.ec,
+ (int)dx[0], (int)dy[0], (int)dx[1], (int)dy[1], NULL, time_us);
+
+ if (!res)
+ {
+ ERR("Could not send relative_motion to ec(%p)", e_comp_wl->ptr_constraints.ec);
+ }
+}
+
static void
_e_comp_wl_convert_eina_tiler_to_pixman_region32(const Eina_Tiler *tiler,
pixman_region32_t *region)
constraint->active = EINA_FALSE;
e_comp_wl->ptr_constraints.activated = EINA_FALSE;
e_comp_wl->ptr_constraints.ec = NULL;
+ e_input_relative_motion_handler_set(NULL);
_e_comp_wl_pointer_constraint_notify_deactivated(constraint);
wl_list_remove(&constraint->surface_unmap_listener.link);
wl_list_init(&constraint->surface_unmap_listener.link);
e_comp_wl->ptr_constraints.activated = EINA_TRUE;
e_comp_wl->ptr_constraints.ec = ec;
_e_comp_wl_pointer_constraint_notify_activated(constraint);
+ if (!e_input_relative_motion_handler_set(_e_comp_wl_relative_motion_cb))
+ {
+ ERR("ERROR! Could not set relative motion handler !");
+ }
wl_signal_add(&e_comp_wl->ptr_constraints.surface_unmap_signal,
&constraint->surface_unmap_listener);
}