struct wl_signal obstacle_update;
struct wl_signal obstacle_remove;
struct wl_signal useful_geometry_get;
- struct wl_signal bg_mouse_up;
struct wl_signal desk_row_add;
struct wl_signal desk_row_remove;
struct wl_signal desk_col_add;
*/
static void _e_zone_free(E_Zone *zone);
-static void _e_zone_cb_bg_mouse_up(void *data,
- Evas *evas,
- Evas_Object *obj,
- void *event_info);
static void _e_zone_event_generic_free(void *data, void *ev);
static void _e_zone_object_del_attach(void *o);
static void _e_zone_hooks_clean(void);
wl_signal_init(&priv->events.obstacle_update);
wl_signal_init(&priv->events.obstacle_remove);
wl_signal_init(&priv->events.useful_geometry_get);
- wl_signal_init(&priv->events.bg_mouse_up);
wl_signal_init(&priv->events.desk_row_add);
wl_signal_init(&priv->events.desk_row_remove);
wl_signal_init(&priv->events.desk_col_add);
evas_object_color_set(o, 0, 0, 0, 0);
evas_object_repeat_events_set(o, 1);
evas_object_show(o);
- evas_object_event_callback_add(o, EVAS_CALLBACK_MOUSE_UP, _e_zone_cb_bg_mouse_up, zone);
zone->desk_x_count = 0;
zone->desk_y_count = 0;
/* Delete the hooks */
E_FREE_LIST(zone->ec_hooks, e_client_hook_del);
- /* Delete the object event callbacks */
- evas_object_event_callback_del(zone->bg_event_object,
- EVAS_CALLBACK_MOUSE_UP,
- _e_zone_cb_bg_mouse_up);
-
E_FREE_FUNC(zone->cur_mouse_action, e_object_unref);
if (zone->name) eina_stringshare_del(zone->name);
free(zone);
}
-static void
-_e_zone_cb_bg_mouse_up(void *data,
- Evas *evas EINA_UNUSED,
- Evas_Object *obj EINA_UNUSED,
- void *event_info)
-{
- E_Zone *zone;
- Evas_Event_Mouse_Up *ev = event_info;
-
- if (ev->event_flags & EVAS_EVENT_FLAG_ON_HOLD) return;
-
- zone = data;
-
- wl_signal_emit(&PRI(zone)->events.bg_mouse_up, event_info);
-}
-
static void
_e_zone_event_generic_free(void *data EINA_UNUSED, void *ev)
{
wl_signal_add(&priv->events.useful_geometry_get, listener);
}
-EINTERN void
-e_zone_bg_mouse_up_listener_add(E_Zone *zone, struct wl_listener *listener)
-{
- API_ENTRY;
- wl_signal_add(&priv->events.bg_mouse_up, listener);
-}
-
EINTERN void
e_zone_client_add_listener_add(E_Zone *zone, struct wl_listener *listener)
{
EINTERN void e_zone_obstacle_update_listener_add(E_Zone *zone, struct wl_listener *listener);
EINTERN void e_zone_obstacle_remove_listener_add(E_Zone *zone, struct wl_listener *listener);
EINTERN void e_zone_useful_geometry_get_listener_add(E_Zone *zone, struct wl_listener *listener);
-EINTERN void e_zone_bg_mouse_up_listener_add(E_Zone *zone, struct wl_listener *listener);
EINTERN void e_zone_client_add_listener_add(E_Zone *zone, struct wl_listener *listener);
EINTERN void e_zone_has_ec_listener_add(E_Zone *zone, struct wl_listener *listener);
EINTERN void e_zone_focused_client_get_listener_add(E_Zone *zone, struct wl_listener *listener);
struct wl_listener obstacle_update;
struct wl_listener obstacle_remove;
struct wl_listener useful_geometry_get;
- struct wl_listener bg_mouse_up;
struct wl_listener focus_focused_ec_changed;
struct wl_listener desk_row_add;
struct wl_listener desk_row_remove;
return;
}
-static void
-_e_policy_zone_cb_bg_mouse_up(struct wl_listener *listener, void *data)
-{
- E_Policy_Zone *policy_zone;
- E_Zone *zone;
-
- policy_zone = wl_container_of(listener, policy_zone, bg_mouse_up);
- zone = policy_zone->zone;
-
- if (zone->cur_mouse_action)
- {
- E_Binding_Event_Mouse_Button event;
-
- if (zone->cur_mouse_action->func.end_mouse)
- zone->cur_mouse_action->func.end_mouse(E_OBJECT(zone), "", &event);
- else if (zone->cur_mouse_action->func.end)
- zone->cur_mouse_action->func.end(E_OBJECT(zone), "");
-
- e_object_unref(E_OBJECT(zone->cur_mouse_action));
- zone->cur_mouse_action = NULL;
- }
-
- return;
-}
-
static void
_e_policy_zone_cb_focused_client_get(struct wl_listener *listener, void *data)
{
e_zone_obstacle_remove_listener_add(zone, &policy_zone->obstacle_remove);
policy_zone->useful_geometry_get.notify = _e_policy_zone_cb_useful_geometry_get;
e_zone_useful_geometry_get_listener_add(zone, &policy_zone->useful_geometry_get);
- policy_zone->bg_mouse_up.notify = _e_policy_zone_cb_bg_mouse_up;
- e_zone_bg_mouse_up_listener_add(zone, &policy_zone->bg_mouse_up);
policy_zone->focused_client_get.notify = _e_policy_zone_cb_focused_client_get;
e_zone_focused_client_get_listener_add(zone, &policy_zone->focused_client_get);
policy_zone->focused_client_set.notify = _e_policy_zone_cb_focused_client_set;