struct wl_listener pointer_destroy_listener;
struct wl_listener surface_unmap_listener;
struct wl_listener surface_commit_listener;
- struct wl_listener surface_focus_listener;
+ struct wl_listener surface_mousein_listener;
};
E_API int E_EVENT_TEXT_INPUT_PANEL_VISIBILITY_CHANGE = -1;
_e_comp_wl_input_pointer_constraint_deactivate(constraint);
wl_list_remove(&constraint->pointer_destroy_listener.link);
- wl_list_remove(&constraint->surface_focus_listener.link);
wl_list_remove(&constraint->surface_unmap_listener.link);
wl_list_remove(&constraint->surface_commit_listener.link);
+ wl_list_remove(&constraint->surface_mousein_listener.link);
wl_resource_set_user_data(constraint->resource, NULL);
pixman_region32_fini(&constraint->region);
_e_comp_wl_input_pointer_constraint_destroy(constraint);
}
-static void
-_e_comp_wl_input_cb_pointer_constraints_surface_focused(struct wl_listener *listener,
- void *data)
-{
- E_Client *ec = (E_Client *)data;
- E_Comp_Wl_Pointer_Constraint *constraint = container_of(listener,
- E_Comp_Wl_Pointer_Constraint,
- surface_focus_listener);
-
- Eina_Bool found = EINA_FALSE;
- E_Comp_Wl_Pointer_Constraint *tmp_constraint;
- wl_list_for_each(tmp_constraint, &ec->comp_data->pointer_constraints, link)
- {
- if (tmp_constraint == constraint)
- {
- found = EINA_TRUE;
- break;
- }
- }
-
- if (found && !constraint->active)
- _e_comp_wl_input_pointer_constraints_check_enable(constraint);
- else if (!found && constraint->active)
- _e_comp_wl_input_pointer_constraint_disable(constraint);
-}
-
static void
_e_comp_wl_input_cb_pointer_constraints_surface_committed(struct wl_listener *listener,
void *data)
//CHECKME: check if the updated region can take effect on the given constraint
}
+static void
+_e_comp_wl_input_cb_pointer_constraints_surface_mousein(struct wl_listener *listener,
+ void *data)
+{
+ E_Client *ec = (E_Client *)data;
+ E_Comp_Wl_Pointer_Constraint *constraint = container_of(listener,
+ E_Comp_Wl_Pointer_Constraint,
+ surface_mousein_listener);
+
+ Eina_Bool found = EINA_FALSE;
+ E_Comp_Wl_Pointer_Constraint *tmp_constraint;
+ wl_list_for_each(tmp_constraint, &ec->comp_data->pointer_constraints, link)
+ {
+ if (tmp_constraint == constraint)
+ {
+ found = EINA_TRUE;
+ break;
+ }
+ }
+
+ if (found && !constraint->active)
+ _e_comp_wl_input_pointer_constraints_check_enable(constraint);
+ else if (!found && constraint->active)
+ _e_comp_wl_input_pointer_constraint_disable(constraint);
+}
+
static void
_e_comp_wl_input_cb_pointer_constraints_surface_unmapped(struct wl_listener *listener,
void *data)
_e_comp_wl_input_cb_pointer_constraints_pointer_destroyed;
constraint->surface_commit_listener.notify =
_e_comp_wl_input_cb_pointer_constraints_surface_committed;
- constraint->surface_focus_listener.notify =
- _e_comp_wl_input_cb_pointer_constraints_surface_focused;
constraint->surface_unmap_listener.notify =
_e_comp_wl_input_cb_pointer_constraints_surface_unmapped;
+ constraint->surface_mousein_listener.notify =
+ _e_comp_wl_input_cb_pointer_constraints_surface_mousein;
wl_signal_add(&e_comp_wl->ptr_constraints.pointer_destroy_signal,
&constraint->pointer_destroy_listener);
wl_signal_add(&e_comp_wl->ptr_constraints.surface_commit_signal,
&constraint->surface_commit_listener);
- wl_signal_add(&e_comp_wl->ptr_constraints.surface_focus_signal,
- &constraint->surface_focus_listener);
+ wl_signal_add(&e_comp_wl->ptr_constraints.surface_mousein_signal,
+ &constraint->surface_mousein_listener);
return constraint;
}
wl_signal_init(&e_comp_wl->ptr_constraints.pointer_destroy_signal);
wl_signal_init(&e_comp_wl->ptr_constraints.surface_unmap_signal);
wl_signal_init(&e_comp_wl->ptr_constraints.surface_commit_signal);
- wl_signal_init(&e_comp_wl->ptr_constraints.surface_focus_signal);
+ wl_signal_init(&e_comp_wl->ptr_constraints.surface_mousein_signal);
_surface_commit_hook = e_comp_wl_hook_add(E_COMP_WL_HOOK_CLIENT_SURFACE_COMMIT,
_e_comp_wl_input_cb_surface_commit,