e_zone: remove the edge and corder at e_zone 12/295512/2
authorSooChan Lim <sc1.lim@samsung.com>
Sun, 9 Jul 2023 04:00:20 +0000 (13:00 +0900)
committerSooChan Lim <sc1.lim@samsung.com>
Mon, 10 Jul 2023 06:32:04 +0000 (06:32 +0000)
All code releted to the edge and the corder at e_zone is deleted.
It is deprecated

Change-Id: I58efed668990b02dc1790d7dcb30aa0cba205c23

src/bin/e_actions.h
src/bin/e_bindings.c
src/bin/e_bindings.h
src/bin/e_client.c
src/bin/e_desk.c
src/bin/e_zone.c
src/bin/e_zone.h

index 102fc8a..b45cb07 100644 (file)
@@ -20,7 +20,6 @@ struct _E_Action
       void (*go)(E_Object *obj, const char *params);
       void (*go_mouse)(E_Object *obj, const char *params, E_Binding_Event_Mouse_Button *ev);
       void (*go_wheel)(E_Object *obj, const char *params, E_Binding_Event_Wheel *ev);
-      void (*go_edge)(E_Object *obj, const char *params, E_Event_Zone_Edge *ev);
       void (*go_key)(E_Object *obj, const char *params, Ecore_Event_Key *ev);
       void (*go_signal)(E_Object *obj, const char *params, const char *sig, const char *src);
       void (*end)(E_Object *obj, const char *params);
index 63d0fb1..0b949bb 100644 (file)
@@ -3,31 +3,18 @@
 /* local subsystem functions */
 static void               _e_bindings_mouse_free(E_Binding_Mouse *bind);
 static void               _e_bindings_key_free(E_Binding_Key *bind);
-static void               _e_bindings_edge_free(E_Binding_Edge *bind);
 static void               _e_bindings_signal_free(E_Binding_Signal *bind);
 static void               _e_bindings_wheel_free(E_Binding_Wheel *bind);
 static int                _e_bindings_context_match(E_Binding_Context bctxt, E_Binding_Context ctxt);
 static E_Binding_Modifier _e_bindings_modifiers(unsigned int modifiers);
-static Eina_Bool          _e_bindings_edge_cb_timer(void *data);
 
 /* local subsystem globals */
 
 static Eina_List *mouse_bindings = NULL;
 static Eina_List *key_bindings = NULL;
-static Eina_List *edge_bindings = NULL;
 static Eina_List *signal_bindings = NULL;
 static Eina_List *wheel_bindings = NULL;
 
-typedef struct _E_Binding_Edge_Data E_Binding_Edge_Data;
-
-struct _E_Binding_Edge_Data
-{
-   E_Binding_Edge    *bind;
-   E_Event_Zone_Edge *ev;
-   E_Action          *act;
-   E_Object          *obj;
-};
-
 /* externally accessible functions */
 
 EINTERN int
@@ -41,7 +28,6 @@ e_bindings_shutdown(void)
 {
    E_FREE_LIST(mouse_bindings, _e_bindings_mouse_free);
    E_FREE_LIST(key_bindings, _e_bindings_key_free);
-   E_FREE_LIST(edge_bindings, _e_bindings_edge_free);
    E_FREE_LIST(signal_bindings, _e_bindings_signal_free);
    E_FREE_LIST(wheel_bindings, _e_bindings_wheel_free);
 
@@ -184,11 +170,6 @@ e_bindings_wheel_reset(void)
 }
 
 EINTERN void
-e_bindings_edge_reset(void)
-{
-}
-
-EINTERN void
 e_bindings_mouse_reset(void)
 {
 }
@@ -559,276 +540,6 @@ e_bindings_key_allowed(const char *key)
 
 
 EINTERN void
-e_bindings_edge_add(E_Binding_Context ctxt, E_Zone_Edge edge, Eina_Bool drag_only, E_Binding_Modifier mod, int any_mod, const char *action, const char *params, float delay)
-{
-   E_Binding_Edge *binding;
-
-   binding = calloc(1, sizeof(E_Binding_Edge));
-   if (!binding) return;
-   binding->ctxt = ctxt;
-   binding->edge = edge;
-   binding->mod = mod;
-   binding->any_mod = any_mod;
-   binding->delay = delay;
-   binding->drag_only = drag_only;
-   if (action) binding->action = eina_stringshare_add(action);
-   if (params) binding->params = eina_stringshare_add(params);
-   edge_bindings = eina_list_append(edge_bindings, binding);
-
-   e_zone_edge_new(edge);
-}
-
-EINTERN Eina_Bool
-e_bindings_edge_flippable_get(E_Zone_Edge edge)
-{
-   E_Binding_Edge *binding;
-   Eina_List *l;
-
-   EINA_LIST_FOREACH(edge_bindings, l, binding)
-     {
-        if ((binding->edge == edge) && (binding->action))
-          {
-             if ((!strcmp(binding->action, "desk_flip_in_direction")) ||
-                 (!strcmp(binding->action, "desk_flip_by")))
-               return EINA_TRUE;
-          }
-     }
-   return EINA_FALSE;
-}
-
-EINTERN Eina_Bool
-e_bindings_edge_non_flippable_get(E_Zone_Edge edge)
-{
-   E_Binding_Edge *binding;
-   Eina_List *l;
-
-   EINA_LIST_FOREACH(edge_bindings, l, binding)
-     {
-        if ((binding->edge == edge) && (binding->action))
-          {
-             if ((!strcmp(binding->action, "desk_flip_in_direction")) ||
-                 (!strcmp(binding->action, "desk_flip_by")))
-               continue;
-             return EINA_TRUE;
-          }
-     }
-   return EINA_FALSE;
-}
-
-EINTERN E_Binding_Edge *
-e_bindings_edge_get(const char *action, E_Zone_Edge edge, int click)
-{
-   E_Binding_Edge *binding;
-   Eina_List *l;
-
-   EINA_LIST_FOREACH(edge_bindings, l, binding)
-     {
-        if ((binding->edge == edge) &&
-            ((click && (binding->delay == -1.0 * click))
-             || (!click && (binding->delay >= 0.0))) &&
-            (binding->action) && (action) &&
-            (!strcmp(action, binding->action)))
-          return binding;
-     }
-   return NULL;
-}
-
-EINTERN void
-e_bindings_edge_del(E_Binding_Context ctxt, E_Zone_Edge edge, Eina_Bool drag_only, E_Binding_Modifier mod, int any_mod, const char *action, const char *params, float delay)
-{
-   E_Binding_Edge *binding;
-   Eina_List *l, *ll;
-   int ref_count = 0;
-
-   EINA_LIST_FOREACH_SAFE(edge_bindings, l, ll, binding)
-     {
-        if (binding->edge == edge)
-          {
-             if ((binding->ctxt == ctxt) &&
-                 (binding->mod == mod) &&
-                 ((binding->delay * 1000) == (delay * 1000)) &&
-                 (binding->any_mod == any_mod) &&
-                 (binding->drag_only == drag_only) &&
-                 (((binding->action) && (action) && (!strcmp(binding->action, action))) ||
-                  ((!binding->action) && (!action))) &&
-                 (((binding->params) && (params) && (!strcmp(binding->params, params))) ||
-                  ((!binding->params) && (!params))))
-               {
-                  _e_bindings_edge_free(binding);
-                  edge_bindings = eina_list_remove_list(edge_bindings, l);
-               }
-             else ref_count++;
-          }
-     }
-
-   if (!ref_count)
-     e_zone_edge_free(edge);
-}
-
-EINTERN E_Action *
-e_bindings_edge_in_event_handle(E_Binding_Context ctxt, E_Object *obj, E_Event_Zone_Edge *ev)
-{
-   E_Binding_Modifier mod = 0;
-   E_Binding_Edge *binding;
-   E_Desk *current = NULL;
-   E_Action *act = NULL;
-   Eina_List *l;
-
-   current = e_desk_at_xy_get(ev->zone, ev->zone->desk_x_current, ev->zone->desk_y_current);
-   if (current->fullscreen_clients) return NULL;
-
-   if (ev->modifiers & ECORE_EVENT_MODIFIER_SHIFT) mod |= E_BINDING_MODIFIER_SHIFT;
-   if (ev->modifiers & ECORE_EVENT_MODIFIER_CTRL) mod |= E_BINDING_MODIFIER_CTRL;
-   if (ev->modifiers & ECORE_EVENT_MODIFIER_ALT) mod |= E_BINDING_MODIFIER_ALT;
-   if (ev->modifiers & ECORE_EVENT_MODIFIER_WIN) mod |= E_BINDING_MODIFIER_WIN;
-   EINA_LIST_FOREACH(edge_bindings, l, binding)
-     {
-        /* A value of <= -1.0 for the delay indicates it as a mouse-click binding on that edge */
-        if (((binding->edge == ev->edge)) && (binding->delay >= 0.0) &&
-            ((binding->drag_only == ev->drag) || ev->drag) &&
-            ((binding->any_mod) || (binding->mod == mod)))
-          {
-             if (_e_bindings_context_match(binding->ctxt, ctxt))
-               {
-                  act = e_action_find(binding->action);
-                  if (act)
-                    {
-                       E_Binding_Edge_Data *ed = E_NEW(E_Binding_Edge_Data, 1);
-                       E_Event_Zone_Edge *ev2 = E_NEW(E_Event_Zone_Edge, 1);
-                       if (!ed || !ev2)
-                         {
-                            E_FREE(ed);
-                            E_FREE(ev2);
-                            continue;
-                         }
-
-                       /* The original event will be freed before it can be
-                        * used again */
-                       ev2->zone = ev->zone;
-                       ev2->edge = ev->edge;
-                       ev2->x = ev->x;
-                       ev2->y = ev->y;
-
-                       ed->bind = binding;
-                       ed->obj = obj;
-                       ed->act = act;
-                       ed->ev = ev2;
-                       binding->timer = ecore_timer_add(((double)binding->delay), _e_bindings_edge_cb_timer, ed);
-                    }
-               }
-          }
-     }
-   return act;
-}
-
-EINTERN E_Action *
-e_bindings_edge_out_event_handle(E_Binding_Context ctxt, E_Object *obj, E_Event_Zone_Edge *ev)
-{
-   E_Binding_Modifier mod = 0;
-   E_Binding_Edge *binding;
-   E_Action *act = NULL;
-   Eina_List *l;
-
-   if (ev->modifiers & ECORE_EVENT_MODIFIER_SHIFT) mod |= E_BINDING_MODIFIER_SHIFT;
-   if (ev->modifiers & ECORE_EVENT_MODIFIER_CTRL) mod |= E_BINDING_MODIFIER_CTRL;
-   if (ev->modifiers & ECORE_EVENT_MODIFIER_ALT) mod |= E_BINDING_MODIFIER_ALT;
-   if (ev->modifiers & ECORE_EVENT_MODIFIER_WIN) mod |= E_BINDING_MODIFIER_WIN;
-   EINA_LIST_FOREACH(edge_bindings, l, binding)
-     {
-        /* A value of <= -1.0 for the delay indicates it as a mouse-click binding on that edge */
-        if ((binding->edge == ev->edge) && (binding->delay >= 0.0) &&
-            ((binding->any_mod) || (binding->mod == mod)))
-          {
-             if (_e_bindings_context_match(binding->ctxt, ctxt))
-               {
-                  if (binding->timer)
-                    {
-                       E_Binding_Edge_Data *ed;
-
-                       ed = ecore_timer_del(binding->timer);
-                       if (ed)
-                         {
-                            E_FREE(ed->ev);
-                            E_FREE(ed);
-                         }
-                    }
-                  binding->timer = NULL;
-
-                  act = e_action_find(binding->action);
-                  if (act && act->func.end)
-                    act->func.end(obj, binding->params);
-               }
-          }
-     }
-   return act;
-}
-
-EINTERN E_Action *
-e_bindings_edge_down_event_handle(E_Binding_Context ctxt, E_Object *obj, E_Event_Zone_Edge *ev)
-{
-   E_Binding_Modifier mod = 0;
-   E_Binding_Edge *binding;
-   E_Desk *current = NULL;
-   E_Action *act = NULL;
-   Eina_List *l;
-
-   current = e_desk_at_xy_get(ev->zone, ev->zone->desk_x_current, ev->zone->desk_y_current);
-   if (current->fullscreen_clients) return NULL;
-
-   if (ev->modifiers & ECORE_EVENT_MODIFIER_SHIFT) mod |= E_BINDING_MODIFIER_SHIFT;
-   if (ev->modifiers & ECORE_EVENT_MODIFIER_CTRL) mod |= E_BINDING_MODIFIER_CTRL;
-   if (ev->modifiers & ECORE_EVENT_MODIFIER_ALT) mod |= E_BINDING_MODIFIER_ALT;
-   if (ev->modifiers & ECORE_EVENT_MODIFIER_WIN) mod |= E_BINDING_MODIFIER_WIN;
-   EINA_LIST_FOREACH(edge_bindings, l, binding)
-     {
-        if (((binding->edge == ev->edge)) && (binding->delay == -1.0 * ev->button) &&
-            (!binding->drag_only) && ((binding->any_mod) || (binding->mod == mod)))
-          {
-             if (_e_bindings_context_match(binding->ctxt, ctxt))
-               {
-                  act = e_action_find(binding->action);
-                  if (act)
-                    {
-                       if (act->func.go_edge)
-                         act->func.go_edge(obj, binding->params, ev);
-                       else if (act->func.go)
-                         act->func.go(obj, binding->params);
-                    }
-               }
-          }
-     }
-   return act;
-}
-
-EINTERN E_Action *
-e_bindings_edge_up_event_handle(E_Binding_Context ctxt, E_Object *obj, E_Event_Zone_Edge *ev)
-{
-   E_Binding_Modifier mod = 0;
-   E_Binding_Edge *binding;
-   E_Action *act = NULL;
-   Eina_List *l;
-
-   if (ev->modifiers & ECORE_EVENT_MODIFIER_SHIFT) mod |= E_BINDING_MODIFIER_SHIFT;
-   if (ev->modifiers & ECORE_EVENT_MODIFIER_CTRL) mod |= E_BINDING_MODIFIER_CTRL;
-   if (ev->modifiers & ECORE_EVENT_MODIFIER_ALT) mod |= E_BINDING_MODIFIER_ALT;
-   if (ev->modifiers & ECORE_EVENT_MODIFIER_WIN) mod |= E_BINDING_MODIFIER_WIN;
-   EINA_LIST_FOREACH(edge_bindings, l, binding)
-     {
-        if (((binding->edge == ev->edge)) && (binding->delay == -1.0 * ev->button) &&
-            ((binding->any_mod) || (binding->mod == mod)))
-          {
-             if (_e_bindings_context_match(binding->ctxt, ctxt))
-               {
-                  act = e_action_find(binding->action);
-                  if (act && act->func.end)
-                    act->func.end(obj, binding->params);
-               }
-          }
-     }
-   return act;
-}
-
-EINTERN void
 e_bindings_signal_add(E_Binding_Context ctxt, const char *sig, const char *src, E_Binding_Modifier mod, int any_mod, const char *action, const char *params)
 {
    E_Binding_Signal *binding;
@@ -1046,21 +757,6 @@ _e_bindings_key_free(E_Binding_Key *binding)
 }
 
 static void
-_e_bindings_edge_free(E_Binding_Edge *binding)
-{
-   if (binding->action) eina_stringshare_del(binding->action);
-   if (binding->params) eina_stringshare_del(binding->params);
-   if (binding->timer)
-     {
-        E_Binding_Edge_Data *ed;
-
-        ed = ecore_timer_del(binding->timer);
-        E_FREE(ed);
-     }
-   free(binding);
-}
-
-static void
 _e_bindings_signal_free(E_Binding_Signal *binding)
 {
    if (binding->sig) eina_stringshare_del(binding->sig);
@@ -1118,33 +814,3 @@ _e_bindings_modifiers(unsigned int modifiers)
 
    return mod;
 }
-
-static Eina_Bool
-_e_bindings_edge_cb_timer(void *data)
-{
-   E_Binding_Edge_Data *ed;
-   E_Event_Zone_Edge *ev;
-   E_Binding_Edge *binding;
-   E_Action *act;
-   E_Object *obj;
-
-   ed = data;
-   binding = ed->bind;
-   act = ed->act;
-   obj = ed->obj;
-   ev = ed->ev;
-
-   E_FREE(ed);
-   binding->timer = NULL;
-
-   if (act->func.go_edge)
-     act->func.go_edge(obj, binding->params, ev);
-   else if (act->func.go)
-     act->func.go(obj, binding->params);
-
-   /* Duplicate event */
-   E_FREE(ev);
-
-   return ECORE_CALLBACK_CANCEL;
-}
-
index 4981e02..bc9840f 100644 (file)
@@ -30,7 +30,6 @@ typedef enum _E_Binding_Modifier
 
 typedef struct _E_Binding_Mouse  E_Binding_Mouse;
 typedef struct _E_Binding_Key    E_Binding_Key;
-typedef struct _E_Binding_Edge   E_Binding_Edge;
 typedef struct _E_Binding_Signal E_Binding_Signal;
 typedef struct _E_Binding_Wheel  E_Binding_Wheel;
 
@@ -86,20 +85,6 @@ struct _E_Binding_Key
    const char *params;
 };
 
-struct _E_Binding_Edge
-{
-   E_Binding_Context ctxt;
-   E_Zone_Edge edge;
-   E_Binding_Modifier mod;
-   const char *action;
-   const char *params;
-
-   float delay;
-   Ecore_Timer *timer;
-   Eina_Bool any_mod : 1;
-   Eina_Bool drag_only : 1;
-};
-
 struct _E_Binding_Signal
 {
    E_Binding_Context ctxt;
@@ -128,7 +113,6 @@ EINTERN int         e_bindings_shutdown(void);
 EINTERN void        e_bindings_mouse_reset(void);
 EINTERN void        e_bindings_key_reset(void);
 EINTERN void        e_bindings_wheel_reset(void);
-EINTERN void        e_bindings_edge_reset(void);
 EINTERN void        e_bindings_signal_reset(void);
 EINTERN void        e_bindings_reset(void);
 
@@ -153,16 +137,6 @@ EINTERN E_Action   *e_bindings_key_up_event_find(E_Binding_Context ctxt, Ecore_E
 
 EINTERN Eina_Bool   e_bindings_key_allowed(const char *key);
 
-EINTERN void        e_bindings_edge_add(E_Binding_Context ctxt, E_Zone_Edge edge, Eina_Bool drag_only, E_Binding_Modifier mod, int any_mod, const char *action, const char *params, float delay);
-EINTERN Eina_Bool   e_bindings_edge_flippable_get(E_Zone_Edge edge);
-EINTERN Eina_Bool   e_bindings_edge_non_flippable_get(E_Zone_Edge edge);
-EINTERN E_Binding_Edge *e_bindings_edge_get(const char *action, E_Zone_Edge edge, int click);
-EINTERN void        e_bindings_edge_del(E_Binding_Context ctxt, E_Zone_Edge edge, Eina_Bool drag_only, E_Binding_Modifier mod, int any_mod, const char *action, const char *params, float delay);
-EINTERN E_Action   *e_bindings_edge_in_event_handle(E_Binding_Context ctxt, E_Object *obj, E_Event_Zone_Edge *ev);
-EINTERN E_Action   *e_bindings_edge_out_event_handle(E_Binding_Context ctxt, E_Object *obj, E_Event_Zone_Edge *ev);
-EINTERN E_Action   *e_bindings_edge_down_event_handle(E_Binding_Context ctxt, E_Object *obj, E_Event_Zone_Edge *ev);
-EINTERN E_Action   *e_bindings_edge_up_event_handle(E_Binding_Context ctxt, E_Object *obj, E_Event_Zone_Edge *ev);
-
 EINTERN void        e_bindings_signal_add(E_Binding_Context ctxt, const char *sig, const char *src, E_Binding_Modifier mod, int any_mod, const char *action, const char *params);
 EINTERN void        e_bindings_signal_del(E_Binding_Context ctxt, const char *sig, const char *src, E_Binding_Modifier mod, int any_mod, const char *action, const char *params);
 EINTERN E_Action   *e_bindings_signal_find(E_Binding_Context ctxt, const char *sig, const char *src, E_Binding_Signal **bind_ret);
index 77b9327..a74f27d 100644 (file)
@@ -6599,7 +6599,6 @@ e_client_act_move_begin(E_Client *ec, E_Binding_Event_Mouse_Button *ev)
      return;
 
    _e_client_action_init(ec);
-   e_zone_edge_disable();
 }
 
 E_API void
@@ -6609,7 +6608,6 @@ e_client_act_move_end(E_Client *ec, E_Binding_Event_Mouse_Button *ev EINA_UNUSED
    E_OBJECT_TYPE_CHECK(ec, E_CLIENT_TYPE);
    if (!ec->zone) return;
    if (!ec->moving) return;
-   e_zone_edge_enable();
    _e_client_move_end(ec);
    _e_client_action_finish();
 }
@@ -6855,7 +6853,6 @@ e_client_signal_move_begin(E_Client *ec, const char *sig, const char *src EINA_U
    if (e_client_util_resizing_get(ec) || (ec->moving)) return;
    _e_client_moveinfo_gather(ec, sig);
    if (!_e_client_move_begin(ec)) return;
-   e_zone_edge_disable();
 }
 
 EINTERN void
@@ -6866,7 +6863,6 @@ e_client_signal_move_end(E_Client *ec, const char *sig EINA_UNUSED, const char *
    if (!ec->zone) return;
    if (!ec->moving) return;
    _e_client_move_end(ec);
-   e_zone_edge_enable();
 }
 
 EINTERN void
index d4f58f0..93cdd55 100644 (file)
@@ -395,7 +395,6 @@ e_desk_show(E_Desk *desk)
    e_object_ref(E_OBJECT(eeev->desk));
    ecore_event_add(E_EVENT_DESK_AFTER_SHOW, eeev,
                    _e_desk_event_desk_after_show_free, NULL);
-   e_zone_edge_flip_eval(desk->zone);
 
    return;
 
index 211d362..1c96b94 100644 (file)
@@ -20,8 +20,6 @@ static void        _e_zone_cb_bg_mouse_up(void *data,
                                           void *event_info);
 static void        _e_zone_event_generic_free(void *data, void *ev);
 static void        _e_zone_object_del_attach(void *o);
-static E_Zone_Edge _e_zone_detect_edge(E_Zone *zone, Evas_Object *obj);
-static void        _e_zone_edge_move_resize(E_Zone *zone);
 static void        _e_zone_hooks_clean(void);
 static Eina_Bool   _e_zone_hook_call(E_Zone_Hook_Point hookpoint, E_Zone *zone);
 
@@ -29,9 +27,6 @@ EINTERN int E_EVENT_ZONE_DESK_COUNT_SET = 0;
 E_API int E_EVENT_ZONE_MOVE_RESIZE = 0;
 EINTERN int E_EVENT_ZONE_ADD = 0;
 EINTERN int E_EVENT_ZONE_DEL = 0;
-EINTERN int E_EVENT_ZONE_EDGE_IN = 0;
-EINTERN int E_EVENT_ZONE_EDGE_OUT = 0;
-EINTERN int E_EVENT_ZONE_EDGE_MOVE = 0;
 EINTERN int E_EVENT_ZONE_STOW = 0;
 EINTERN int E_EVENT_ZONE_UNSTOW = 0;
 #ifdef _F_ZONE_WINDOW_ROTATION_
@@ -65,9 +60,6 @@ e_zone_init(void)
    E_EVENT_ZONE_MOVE_RESIZE = ecore_event_type_new();
    E_EVENT_ZONE_ADD = ecore_event_type_new();
    E_EVENT_ZONE_DEL = ecore_event_type_new();
-   E_EVENT_ZONE_EDGE_IN = ecore_event_type_new();
-   E_EVENT_ZONE_EDGE_OUT = ecore_event_type_new();
-   E_EVENT_ZONE_EDGE_MOVE = ecore_event_type_new();
    E_EVENT_ZONE_STOW = ecore_event_type_new();
    E_EVENT_ZONE_UNSTOW = ecore_event_type_new();
 #ifdef _F_ZONE_WINDOW_ROTATION_
@@ -93,126 +85,7 @@ e_zone_shutdown(void)
 E_API void
 e_zone_all_edge_flip_eval(void)
 {
-   const Eina_List *l;
-   E_Zone *zone;
-
-   EINA_LIST_FOREACH(e_comp->zones, l, zone)
-     e_zone_edge_flip_eval(zone);
-}
-
-static void
-_e_zone_cb_mouse_in(void *data, Evas *e EINA_UNUSED, Evas_Object *obj, void *event_info)
-{
-   Evas_Event_Mouse_In *ev = event_info;
-   E_Event_Zone_Edge *zev;
-   E_Zone_Edge edge;
-   E_Zone *zone = data;
-
-   edge = _e_zone_detect_edge(zone, obj);
-   if (edge == E_ZONE_EDGE_NONE) return;
-
-   zev = E_NEW(E_Event_Zone_Edge, 1);
-   if (!zev) return;
-   zev->zone = zone;
-   zev->edge = edge;
-   zev->x = ev->output.x;
-   zev->y = ev->output.y;
-   zev->modifiers = e_bindings_evas_modifiers_convert(ev->modifiers);
-   zev->drag = !!evas_pointer_button_down_mask_get(e_comp->evas);
-
-   ecore_event_add(E_EVENT_ZONE_EDGE_IN, zev, NULL, NULL);
-   e_bindings_edge_in_event_handle(E_BINDING_CONTEXT_ZONE, E_OBJECT(zone), zev);
-}
-
-static void
-_e_zone_cb_mouse_out(void *data, Evas *e EINA_UNUSED, Evas_Object *obj, void *event_info)
-{
-   Evas_Event_Mouse_Out *ev = event_info;
-   E_Event_Zone_Edge *zev;
-   E_Zone_Edge edge;
-   E_Zone *zone = data;
-
-   edge = _e_zone_detect_edge(zone, obj);
-   if (edge == E_ZONE_EDGE_NONE) return;
-
-   zev = E_NEW(E_Event_Zone_Edge, 1);
-   if (!zev) return;
-   zev->zone = zone;
-   zev->edge = edge;
-   zev->x = ev->output.x;
-   zev->y = ev->output.y;
-   zev->modifiers = e_bindings_evas_modifiers_convert(ev->modifiers);
-   zev->drag = !!evas_pointer_button_down_mask_get(e_comp->evas);
-
-   ecore_event_add(E_EVENT_ZONE_EDGE_OUT, zev, NULL, NULL);
-   e_bindings_edge_out_event_handle(E_BINDING_CONTEXT_ZONE, E_OBJECT(zone), zev);
-}
-
-static void
-_e_zone_cb_mouse_down(void *data, Evas *e EINA_UNUSED, Evas_Object *obj, void *event_info)
-{
-   Evas_Event_Mouse_Down *ev = event_info;
-   E_Event_Zone_Edge *zev;
-   E_Zone_Edge edge;
-   E_Zone *zone = data;
-
-   edge = _e_zone_detect_edge(zone, obj);
-   if (edge == E_ZONE_EDGE_NONE) return;
-
-   zev = E_NEW(E_Event_Zone_Edge, 1);
-   if (!zev) return;
-   zev->zone = zone;
-   zev->edge = edge;
-   zev->x = ev->output.x;
-   zev->y = ev->output.y;
-   zev->button = ev->button;
-   zev->modifiers = e_bindings_evas_modifiers_convert(ev->modifiers);
-   ecore_event_add(E_EVENT_ZONE_EDGE_OUT, zev, NULL, NULL);
-   e_bindings_edge_down_event_handle(E_BINDING_CONTEXT_ZONE, E_OBJECT(zone), zev);
-}
-
-static void
-_e_zone_cb_mouse_up(void *data, Evas *e EINA_UNUSED, Evas_Object *obj, void *event_info)
-{
-   Evas_Event_Mouse_Up *ev = event_info;
-   E_Event_Zone_Edge *zev;
-   E_Zone_Edge edge;
-   E_Zone *zone = data;
-
-   edge = _e_zone_detect_edge(zone, obj);
-   if (edge == E_ZONE_EDGE_NONE) return;
-
-   zev = E_NEW(E_Event_Zone_Edge, 1);
-   if (!zev) return;
-   zev->zone = zone;
-   zev->edge = edge;
-   zev->x = ev->output.x;
-   zev->y = ev->output.y;
-   zev->button = ev->button;
-   zev->modifiers = e_bindings_evas_modifiers_convert(ev->modifiers);
-   ecore_event_add(E_EVENT_ZONE_EDGE_OUT, zev, NULL, NULL);
-   e_bindings_edge_up_event_handle(E_BINDING_CONTEXT_ZONE, E_OBJECT(zone), zev);
-}
-
-static void
-_e_zone_cb_mouse_move(void *data, Evas *e EINA_UNUSED, Evas_Object *obj, void *event_info)
-{
-   Evas_Event_Mouse_Move *ev = event_info;
-   E_Event_Zone_Edge *zev;
-   E_Zone_Edge edge;
-   E_Zone *zone = data;
-
-   edge = _e_zone_detect_edge(zone, obj);
-   if (edge == E_ZONE_EDGE_NONE) return;
-
-   zev = E_NEW(E_Event_Zone_Edge, 1);
-   if (!zev) return;
-   zev->zone = zone;
-   zev->edge = edge;
-   zev->x = ev->cur.output.x;
-   zev->y = ev->cur.output.y;
-   zev->modifiers = e_bindings_evas_modifiers_convert(ev->modifiers);
-   ecore_event_add(E_EVENT_ZONE_EDGE_MOVE, zev, NULL, NULL);
+   // TODO: deprecated.
 }
 
 static void
@@ -381,7 +254,6 @@ e_zone_move(E_Zone *zone,
         ecore_event_add(E_EVENT_ZONE_MOVE_RESIZE, ev, _e_zone_event_generic_free, NULL);
      }
 
-   _e_zone_edge_move_resize(zone);
    e_zone_bg_reconfigure(zone);
    e_zone_reconfigure_clients(zone, dx, dy, 0, 0);
 }
@@ -416,7 +288,6 @@ e_zone_resize(E_Zone *zone,
                         _e_zone_event_generic_free, NULL);
      }
 
-   _e_zone_edge_move_resize(zone);
    e_zone_bg_reconfigure(zone);
    e_zone_reconfigure_clients(zone, 0, 0, dw, dh);
 }
@@ -462,7 +333,6 @@ e_zone_move_resize(E_Zone *zone,
                         _e_zone_event_generic_free, NULL);
      }
 
-   _e_zone_edge_move_resize(zone);
    e_zone_bg_reconfigure(zone);
    e_zone_reconfigure_clients(zone, dx, dy, dw, dh);
    return EINA_TRUE;
@@ -642,8 +512,6 @@ e_zone_desk_count_set(E_Zone *zone,
         starting = s;
      }
 
-   e_zone_edge_flip_eval(zone);
-
    ev = E_NEW(E_Event_Zone_Desk_Count_Set, 1);
    if (!ev) return;
    ev->zone = zone;
@@ -675,7 +543,6 @@ e_zone_desk_flip_by(E_Zone *zone,
    dx = zone->desk_x_current + dx;
    dy = zone->desk_y_current + dy;
    e_zone_desk_flip_to(zone, dx, dy);
-   e_zone_edge_flip_eval(zone);
 }
 
 EINTERN void
@@ -698,7 +565,6 @@ e_zone_desk_flip_to(E_Zone *zone,
    desk = e_desk_at_xy_get(zone, x, y);
    if (!desk) return;
    e_desk_show(desk);
-   e_zone_edge_flip_eval(zone);
 }
 
 EINTERN void
@@ -730,352 +596,6 @@ e_zone_desk_linear_flip_to(E_Zone *zone,
 }
 
 EINTERN void
-e_zone_edge_enable(void)
-{
-   const Eina_List *l;
-   E_Zone *zone;
-
-   EINA_LIST_FOREACH(e_comp->zones, l, zone)
-     {
-        if (zone->edge.left) evas_object_show(zone->edge.left);
-        if (zone->edge.right) evas_object_show(zone->edge.right);
-        if (zone->edge.top) evas_object_show(zone->edge.top);
-        if (zone->edge.bottom) evas_object_show(zone->edge.bottom);
-        if (zone->corner.left_top) evas_object_show(zone->corner.left_top);
-        if (zone->corner.top_left) evas_object_show(zone->corner.top_left);
-        if (zone->corner.top_right) evas_object_show(zone->corner.top_right);
-        if (zone->corner.right_top) evas_object_show(zone->corner.right_top);
-        if (zone->corner.right_bottom) evas_object_show(zone->corner.right_bottom);
-        if (zone->corner.bottom_right) evas_object_show(zone->corner.bottom_right);
-        if (zone->corner.bottom_left) evas_object_show(zone->corner.bottom_left);
-        if (zone->corner.left_bottom) evas_object_show(zone->corner.left_bottom);
-        e_zone_edge_flip_eval(zone);
-     }
-}
-
-EINTERN void
-e_zone_edge_disable(void)
-{
-   const Eina_List *l;
-   E_Zone *zone;
-
-   EINA_LIST_FOREACH(e_comp->zones, l, zone)
-     {
-        if (zone->edge.left) evas_object_hide(zone->edge.left);
-        if (zone->edge.right) evas_object_hide(zone->edge.right);
-        if (zone->edge.top) evas_object_hide(zone->edge.top);
-        if (zone->edge.bottom) evas_object_hide(zone->edge.bottom);
-        if (zone->corner.left_top) evas_object_hide(zone->corner.left_top);
-        if (zone->corner.top_left) evas_object_hide(zone->corner.top_left);
-        if (zone->corner.top_right) evas_object_hide(zone->corner.top_right);
-        if (zone->corner.right_top) evas_object_hide(zone->corner.right_top);
-        if (zone->corner.right_bottom) evas_object_hide(zone->corner.right_bottom);
-        if (zone->corner.bottom_right) evas_object_hide(zone->corner.bottom_right);
-        if (zone->corner.bottom_left) evas_object_hide(zone->corner.bottom_left);
-        if (zone->corner.left_bottom) evas_object_hide(zone->corner.left_bottom);
-     }
-}
-
-EINTERN void
-e_zone_edges_desk_flip_capable(E_Zone *zone, Eina_Bool l, Eina_Bool r, Eina_Bool t, Eina_Bool b)
-{
-#define NEED_FLIP_EDGE(x) \
-  (e_bindings_edge_flippable_get(x) || e_bindings_edge_non_flippable_get(x))
-#define NEED_EDGE(x) \
-  (e_bindings_edge_non_flippable_get(x))
-#define CHECK_EDGE(v, ed, obj)                                                                   \
-  do {                                                                                           \
-       if (v) {                                                                                  \
-            if (NEED_FLIP_EDGE(ed)) { if (zone->edge.obj) evas_object_show(zone->edge.obj); } \
-            else if (zone->edge.obj)                                                             \
-              evas_object_hide(zone->edge.obj);                                               \
-         }                                                                                       \
-       else {                                                                                    \
-            if (NEED_EDGE(ed)) { if (zone->edge.obj) evas_object_show(zone->edge.obj); }      \
-            else if (zone->edge.obj)                                                             \
-              evas_object_hide(zone->edge.obj);                                               \
-         }                                                                                       \
-    } while (0)
-
-   CHECK_EDGE(l, E_ZONE_EDGE_LEFT, left);
-   CHECK_EDGE(r, E_ZONE_EDGE_RIGHT, right);
-   CHECK_EDGE(t, E_ZONE_EDGE_TOP, top);
-   CHECK_EDGE(b, E_ZONE_EDGE_BOTTOM, bottom);
-
-#define CHECK_CORNER(v1, v2, ed, obj1, obj2)                                \
-  if ((!v1) && (!v2)) {                                                     \
-       if (NEED_EDGE(ed)) {                                                 \
-            if (zone->corner.obj1) evas_object_show(zone->corner.obj1);  \
-            if (zone->corner.obj2) evas_object_show(zone->corner.obj2);  \
-         }                                                                  \
-       else {                                                               \
-            if (zone->corner.obj1) evas_object_hide(zone->corner.obj1);  \
-            if (zone->corner.obj2) evas_object_hide(zone->corner.obj2);  \
-         }                                                                  \
-    }                                                                       \
-  else {                                                                    \
-       if (NEED_FLIP_EDGE(ed)) {                                            \
-            if (zone->corner.obj1) evas_object_show(zone->corner.obj1);  \
-            if (zone->corner.obj2) evas_object_show(zone->corner.obj2);  \
-         }                                                                  \
-       else {                                                               \
-            if (zone->corner.obj1) evas_object_hide(zone->corner.obj1);  \
-            if (zone->corner.obj2) evas_object_hide(zone->corner.obj2);  \
-         }                                                                  \
-    }
-
-   CHECK_CORNER(l, t, E_ZONE_EDGE_TOP_LEFT, left_top, top_left);
-   CHECK_CORNER(r, t, E_ZONE_EDGE_TOP_RIGHT, right_top, top_right);
-   CHECK_CORNER(l, b, E_ZONE_EDGE_BOTTOM_LEFT, left_bottom, bottom_left);
-   CHECK_CORNER(r, b, E_ZONE_EDGE_BOTTOM_RIGHT, right_bottom, bottom_right);
-}
-
-EINTERN Eina_Bool
-e_zone_exists_direction(E_Zone *zone, E_Zone_Edge edge)
-{
-   Eina_List *l;
-   E_Zone *z2;
-
-   EINA_LIST_FOREACH(e_comp->zones, l, z2)
-     {
-        if (zone == z2) continue;
-
-        switch (edge)
-          {
-           case E_ZONE_EDGE_TOP_LEFT:
-             if (((E_SPANS_COMMON(0, zone->x + zone->w, z2->x, z2->w)) &&
-                  (z2->y < zone->y)) ||
-                 ((E_SPANS_COMMON(0, zone->y + zone->h, z2->y, z2->h)) &&
-                  (z2->x < zone->x)))
-               return EINA_TRUE;
-             break;
-
-           case E_ZONE_EDGE_TOP:
-             if ((E_SPANS_COMMON(zone->x, zone->w, z2->x, z2->w)) &&
-                 (z2->y < zone->y))
-               return EINA_TRUE;
-             break;
-
-           case E_ZONE_EDGE_TOP_RIGHT:
-             if (((E_SPANS_COMMON(zone->x, 99999, z2->x, z2->w)) &&
-                  (z2->y < zone->y)) ||
-                 ((E_SPANS_COMMON(0, zone->y + zone->h, z2->y, z2->h)) &&
-                  (z2->x >= (zone->x + zone->w))))
-               return EINA_TRUE;
-             break;
-
-           case E_ZONE_EDGE_LEFT:
-             if ((E_SPANS_COMMON(zone->y, zone->h, z2->y, z2->h)) &&
-                 (z2->x < zone->x))
-               return EINA_TRUE;
-             break;
-
-           case E_ZONE_EDGE_RIGHT:
-             if ((E_SPANS_COMMON(zone->y, zone->h, z2->y, z2->h)) &&
-                 (z2->x >= (zone->x + zone->w)))
-               return EINA_TRUE;
-             break;
-
-           case E_ZONE_EDGE_BOTTOM_LEFT:
-             if (((E_SPANS_COMMON(0, zone->x + zone->w, z2->x, z2->w)) &&
-                  (z2->y >= (zone->y + zone->h))) ||
-                 ((E_SPANS_COMMON(zone->y, 99999, z2->y, z2->h)) &&
-                  (z2->x < zone->x)))
-               return EINA_TRUE;
-             break;
-
-           case E_ZONE_EDGE_BOTTOM:
-             if ((E_SPANS_COMMON(zone->x, zone->w, z2->x, z2->w)) &&
-                 (z2->y >= (zone->y + zone->h)))
-               return EINA_TRUE;
-             break;
-
-           case E_ZONE_EDGE_BOTTOM_RIGHT:
-             if (((E_SPANS_COMMON(zone->x, 99999, z2->x, z2->w)) &&
-                  (z2->y >= (zone->y + zone->h))) ||
-                 ((E_SPANS_COMMON(zone->y, 99999, z2->y, z2->h)) &&
-                  (z2->x < zone->x)))
-               return EINA_TRUE;
-             break;
-
-           default:
-             break;
-          }
-     }
-
-   return EINA_FALSE;
-}
-
-EINTERN void
-e_zone_edge_flip_eval(E_Zone *zone)
-{
-   Eina_Bool lf, rf, tf, bf;
-
-   lf = rf = tf = bf = EINA_TRUE;
-   if (zone->desk_x_count <= 1) lf = rf = EINA_FALSE;
-   else
-     {
-        if (zone->desk_x_current == 0) lf = EINA_FALSE;
-        if (zone->desk_x_current == (zone->desk_x_count - 1)) rf = EINA_FALSE;
-     }
-   if (zone->desk_y_count <= 1) tf = bf = EINA_FALSE;
-   else
-     {
-        if (zone->desk_y_current == 0) tf = EINA_FALSE;
-        if (zone->desk_y_current == (zone->desk_y_count - 1)) bf = EINA_FALSE;
-     }
-   e_zone_edges_desk_flip_capable(zone, lf, rf, tf, bf);
-}
-
-EINTERN void
-e_zone_edge_new(E_Zone_Edge edge)
-{
-   const Eina_List *l;
-   E_Zone *zone;
-   int cw, ch;
-
-   if (edge == E_ZONE_EDGE_NONE) return;
-
-   EINA_LIST_FOREACH(e_comp->zones, l, zone)
-     {
-        // don't allow bindings on edges that are on the boundary
-        // between zones
-        if (e_zone_exists_direction(zone, edge)) continue;
-        cw = zone->w * E_ZONE_CORNER_RATIO;
-        ch = zone->h * E_ZONE_CORNER_RATIO;
-        switch (edge)
-          {
-#define EDGE_NEW(MEMBER, X, Y, W, H) do { \
-             if (!zone->MEMBER) \
-               { \
-                  zone->MEMBER = evas_object_rectangle_add(e_comp->evas); \
-                  evas_object_name_set(zone->MEMBER, #MEMBER); \
-                  evas_object_move(zone->MEMBER, (X), (Y)); \
-                  evas_object_resize(zone->MEMBER, (W), (H)); \
-                  evas_object_color_set(zone->MEMBER, 0, 0, 0, 0); \
-                  evas_object_event_callback_add(zone->MEMBER, EVAS_CALLBACK_MOUSE_MOVE, _e_zone_cb_mouse_move, zone); \
-                  evas_object_event_callback_add(zone->MEMBER, EVAS_CALLBACK_MOUSE_IN, _e_zone_cb_mouse_in, zone); \
-                  evas_object_event_callback_add(zone->MEMBER, EVAS_CALLBACK_MOUSE_OUT, _e_zone_cb_mouse_out, zone); \
-                  evas_object_event_callback_add(zone->MEMBER, EVAS_CALLBACK_MOUSE_DOWN, _e_zone_cb_mouse_down, zone); \
-                  evas_object_event_callback_add(zone->MEMBER, EVAS_CALLBACK_MOUSE_UP, _e_zone_cb_mouse_up, zone); \
-                  evas_object_show(zone->MEMBER); \
-               } \
-            } while (0)
-
-           case E_ZONE_EDGE_LEFT:
-             EDGE_NEW(edge.left, zone->x, zone->y + ch, 1, zone->h - 2 * ch);
-             break;
-           case E_ZONE_EDGE_RIGHT:
-             EDGE_NEW(edge.right, zone->x + zone->w - 1, zone->y + ch, 1, zone->h - 2 * ch);
-             break;
-           case E_ZONE_EDGE_TOP:
-             EDGE_NEW(edge.top, zone->x + 1 + cw, zone->y, zone->w - 2 * cw - 2, 1);
-             break;
-           case E_ZONE_EDGE_BOTTOM:
-             EDGE_NEW(edge.bottom, zone->x + 1 + cw, zone->y + zone->h - 1, zone->w - 2 - 2 * cw, 1);
-             break;
-           case E_ZONE_EDGE_TOP_LEFT:
-             EDGE_NEW(corner.left_top, zone->x, zone->y, 1, ch);
-             EDGE_NEW(corner.top_left, zone->x + 1, zone->y, cw, 1);
-             break;
-           case E_ZONE_EDGE_TOP_RIGHT:
-             EDGE_NEW(corner.top_right, zone->x + zone->w - cw - 2, zone->y, cw, 1);
-             EDGE_NEW(corner.right_top, zone->x + zone->w - 1, zone->y, 1, ch);
-             break;
-           case E_ZONE_EDGE_BOTTOM_RIGHT:
-             EDGE_NEW(corner.right_bottom, zone->x + zone->w - 1, zone->y + zone->h - ch, 1, ch);
-             EDGE_NEW(corner.bottom_right, zone->x + zone->w - cw - 2, zone->y + zone->h - 1, cw, 1);
-             break;
-           case E_ZONE_EDGE_BOTTOM_LEFT:
-             EDGE_NEW(corner.bottom_left, zone->x + 1, zone->y + zone->h - 1, cw, 1);
-             EDGE_NEW(corner.left_bottom, zone->x, zone->y + zone->h - ch, 1, ch);
-             break;
-           default: continue;
-          }
-        e_zone_edge_win_layer_set(zone, E_LAYER_CLIENT_EDGE_FULLSCREEN);
-     }
-}
-
-EINTERN void
-e_zone_edge_free(E_Zone_Edge edge)
-{
-   const Eina_List *l;
-   E_Zone *zone;
-
-   if (edge == E_ZONE_EDGE_NONE) return;
-   EINA_LIST_FOREACH(e_comp->zones, l, zone)
-     {
-        switch (edge)
-          {
-           case E_ZONE_EDGE_LEFT:
-             E_FREE_FUNC(zone->edge.left, evas_object_del);
-             break;
-
-           case E_ZONE_EDGE_RIGHT:
-             E_FREE_FUNC(zone->edge.right, evas_object_del);
-             break;
-
-           case E_ZONE_EDGE_TOP:
-             E_FREE_FUNC(zone->edge.top, evas_object_del);
-             break;
-
-           case E_ZONE_EDGE_BOTTOM:
-             E_FREE_FUNC(zone->edge.bottom, evas_object_del);
-             break;
-
-           case E_ZONE_EDGE_TOP_LEFT:
-             E_FREE_FUNC(zone->corner.left_top, evas_object_del);
-             E_FREE_FUNC(zone->corner.top_left, evas_object_del);
-             break;
-
-           case E_ZONE_EDGE_TOP_RIGHT:
-             E_FREE_FUNC(zone->corner.top_right, evas_object_del);
-             E_FREE_FUNC(zone->corner.right_top, evas_object_del);
-             break;
-
-           case E_ZONE_EDGE_BOTTOM_RIGHT:
-             E_FREE_FUNC(zone->corner.right_bottom, evas_object_del);
-             E_FREE_FUNC(zone->corner.bottom_right, evas_object_del);
-             break;
-
-           case E_ZONE_EDGE_BOTTOM_LEFT:
-             E_FREE_FUNC(zone->corner.bottom_left, evas_object_del);
-             E_FREE_FUNC(zone->corner.left_bottom, evas_object_del);
-             break;
-
-           default:
-             break;
-          }
-     }
-}
-
-EINTERN void
-e_zone_edge_win_layer_set(E_Zone *zone, E_Layer layer)
-{
-#define EDGE_STACK(EDGE) do { \
-   if (zone->EDGE) \
-     { \
-       evas_object_layer_set(zone->EDGE, layer); \
-       evas_object_stack_below(zone->EDGE, e_comp->layers[e_comp_canvas_layer_map(layer)].obj); \
-     } \
-   } while (0)
-
-   EDGE_STACK(corner.left_bottom);
-   EDGE_STACK(corner.left_top);
-   EDGE_STACK(corner.top_left);
-   EDGE_STACK(corner.top_right);
-   EDGE_STACK(corner.right_top);
-   EDGE_STACK(corner.right_bottom);
-   EDGE_STACK(corner.bottom_right);
-   EDGE_STACK(corner.bottom_left);
-
-   EDGE_STACK(edge.left);
-   EDGE_STACK(edge.right);
-   EDGE_STACK(edge.top);
-   EDGE_STACK(edge.bottom);
-}
-
-EINTERN void
 e_zone_fade_handle(E_Zone *zone, int out, double tim)
 {
    EINA_SAFETY_ON_NULL_RETURN(zone);
@@ -1421,21 +941,6 @@ _e_zone_free(E_Zone *zone)
    int x, y;
    E_Zone_Obstacle *obs;
 
-   //printf("@@@@@@@@@@ e_zone_free: %i %i | %i %i %ix%i = %p\n", zone->num, zone->id, zone->x, zone->y, zone->w, zone->h, zone);
-   /* Delete the edge windows if they exist */
-   E_FREE_FUNC(zone->edge.top, evas_object_del);
-   E_FREE_FUNC(zone->edge.bottom, evas_object_del);
-   E_FREE_FUNC(zone->edge.left, evas_object_del);
-   E_FREE_FUNC(zone->edge.right, evas_object_del);
-   E_FREE_FUNC(zone->corner.left_bottom, evas_object_del);
-   E_FREE_FUNC(zone->corner.left_top, evas_object_del);
-   E_FREE_FUNC(zone->corner.top_left, evas_object_del);
-   E_FREE_FUNC(zone->corner.top_right, evas_object_del);
-   E_FREE_FUNC(zone->corner.right_top, evas_object_del);
-   E_FREE_FUNC(zone->corner.right_bottom, evas_object_del);
-   E_FREE_FUNC(zone->corner.bottom_right, evas_object_del);
-   E_FREE_FUNC(zone->corner.bottom_left, evas_object_del);
-
    /* Delete the hooks */
    E_FREE_FUNC(zone->hook.ec_del, e_client_hook_del);
 
@@ -1568,72 +1073,6 @@ _e_zone_object_del_attach(void *o)
     wl_global_destroy(zone->global);
 }
 
-static E_Zone_Edge
-_e_zone_detect_edge(E_Zone *zone, Evas_Object *obj)
-{
-   E_Zone_Edge edge = E_ZONE_EDGE_NONE;
-
-   if (obj == zone->edge.left)
-     edge = E_ZONE_EDGE_LEFT;
-   else if (obj == zone->edge.top)
-     edge = E_ZONE_EDGE_TOP;
-   else if (obj == zone->edge.right)
-     edge = E_ZONE_EDGE_RIGHT;
-   else if (obj == zone->edge.bottom)
-     edge = E_ZONE_EDGE_BOTTOM;
-   else if ((obj == zone->corner.left_top) ||
-            (obj == zone->corner.top_left))
-     edge = E_ZONE_EDGE_TOP_LEFT;
-   else if ((obj == zone->corner.right_top) ||
-            (obj == zone->corner.top_right))
-     edge = E_ZONE_EDGE_TOP_RIGHT;
-   else if ((obj == zone->corner.right_bottom) ||
-            (obj == zone->corner.bottom_right))
-     edge = E_ZONE_EDGE_BOTTOM_RIGHT;
-   else if ((obj == zone->corner.left_bottom) ||
-            (obj == zone->corner.bottom_left))
-     edge = E_ZONE_EDGE_BOTTOM_LEFT;
-   return edge;
-}
-
-static void
-_e_zone_edge_move_resize(E_Zone *zone)
-{
-   int cw;
-   int ch;
-
-   cw = zone->w * E_ZONE_CORNER_RATIO;
-   ch = zone->h * E_ZONE_CORNER_RATIO;
-
-   evas_object_geometry_set(zone->corner.left_bottom,
-             zone->x, zone->y + zone->h - ch, 1, ch);
-   evas_object_geometry_set(zone->edge.left,
-             zone->x, zone->y + ch, 1, zone->h - 2 * ch);
-   evas_object_geometry_set(zone->corner.left_top,
-             zone->x, zone->y, 1, ch);
-
-   evas_object_geometry_set(zone->corner.top_left,
-             zone->x + 1, zone->y, cw, 1);
-   evas_object_geometry_set(zone->edge.top,
-             zone->x + 1 + cw, zone->y, zone->w - 2 * cw - 2, 1);
-   evas_object_geometry_set(zone->corner.top_right,
-             zone->x + zone->w - cw - 2, zone->y, cw, 1);
-
-   evas_object_geometry_set(zone->corner.right_top,
-             zone->x + zone->w - 1, zone->y, 1, ch);
-   evas_object_geometry_set(zone->edge.right,
-             zone->x + zone->w - 1, zone->y + ch, 1, zone->h - 2 * ch);
-   evas_object_geometry_set(zone->corner.right_bottom,
-             zone->x + zone->w - 1, zone->y + zone->h - ch, 1, ch);
-
-   evas_object_geometry_set(zone->corner.bottom_right,
-             zone->x + 1, zone->y + zone->h - 1, cw, 1);
-   evas_object_geometry_set(zone->edge.bottom,
-             zone->x + 1 + cw, zone->y + zone->h - 1, zone->w - 2 - 2 * cw, 1);
-   evas_object_geometry_set(zone->corner.bottom_left,
-             zone->x + zone->w - cw - 2, zone->y + zone->h - 1, cw, 1);
-}
-
 static void
 _e_zone_hooks_clean(void)
 {
index bfff954..3a066c0 100644 (file)
@@ -1,18 +1,5 @@
 #ifdef E_TYPEDEFS
 
-typedef enum _E_Zone_Edge
-{
-   E_ZONE_EDGE_NONE,
-   E_ZONE_EDGE_LEFT,
-   E_ZONE_EDGE_RIGHT,
-   E_ZONE_EDGE_TOP,
-   E_ZONE_EDGE_BOTTOM,
-   E_ZONE_EDGE_TOP_LEFT,
-   E_ZONE_EDGE_TOP_RIGHT,
-   E_ZONE_EDGE_BOTTOM_RIGHT,
-   E_ZONE_EDGE_BOTTOM_LEFT
-} E_Zone_Edge;
-
 typedef enum _E_Zone_Display_State
 {
    E_ZONE_DISPLAY_STATE_OFF,
@@ -29,7 +16,6 @@ typedef struct _E_Event_Zone_Generic        E_Event_Zone_Add;
 typedef struct _E_Event_Zone_Generic        E_Event_Zone_Del;
 /* TODO: Move this to a general place? */
 typedef struct _E_Event_Pointer_Warp        E_Event_Pointer_Warp;
-typedef struct _E_Event_Zone_Edge           E_Event_Zone_Edge;
 typedef struct _E_Event_Zone_Generic        E_Event_Zone_Stow;
 typedef struct _E_Event_Zone_Generic        E_Event_Zone_Unstow;
 #ifdef _F_ZONE_WINDOW_ROTATION_
@@ -103,16 +89,6 @@ struct _E_Zone
    //double       bl;    // backlight level
    //Eina_Bool    bloff; // backlight is off
 
-   struct
-   {
-      Evas_Object *top, *right, *bottom, *left;
-   } edge;
-   struct
-   {
-      Evas_Object *left_top, *top_left, *top_right, *right_top,
-                  *right_bottom, *bottom_right, *bottom_left, *left_bottom;
-   } corner;
-
    E_Action      *cur_mouse_action;
 
    int            id;
@@ -184,16 +160,6 @@ struct _E_Event_Pointer_Warp
    } curr;
 };
 
-struct _E_Event_Zone_Edge
-{
-   E_Zone     *zone;
-   E_Zone_Edge edge;
-   int         x, y;
-   int         modifiers;
-   int         button;
-   Eina_Bool  drag : 1;
-};
-
 #ifdef _F_ZONE_WINDOW_ROTATION_
 struct _E_Event_Zone_Rotation_Change_Begin
 {
@@ -227,20 +193,13 @@ E_API E_Zone   *e_zone_current_get(void);
 EINTERN E_Zone *e_zone_get_by_id(int id);
 EINTERN E_Zone *e_zone_get_by_position(int x, int y);
 EINTERN void      e_zone_bg_reconfigure(E_Zone *zone);
+EINTERN void      e_zone_flip_coords_handle(E_Zone *zone, int x, int y);
 EINTERN void      e_zone_desk_count_set(E_Zone *zone, int x_count, int y_count);
 EINTERN void      e_zone_desk_count_get(E_Zone *zone, int *x_count, int *y_count);
 EINTERN void      e_zone_desk_flip_by(E_Zone *zone, int dx, int dy);
 EINTERN void      e_zone_desk_flip_to(E_Zone *zone, int x, int y);
 EINTERN void      e_zone_desk_linear_flip_by(E_Zone *zone, int dx);
 EINTERN void      e_zone_desk_linear_flip_to(E_Zone *zone, int x);
-EINTERN void      e_zone_edge_flip_eval(E_Zone *zone);
-EINTERN void      e_zone_edge_new(E_Zone_Edge edge);
-EINTERN void      e_zone_edge_free(E_Zone_Edge edge);
-EINTERN void      e_zone_edge_enable(void);
-EINTERN void      e_zone_edge_disable(void);
-EINTERN void      e_zone_edges_desk_flip_capable(E_Zone *zone, Eina_Bool l, Eina_Bool r, Eina_Bool t, Eina_Bool b);
-EINTERN Eina_Bool e_zone_exists_direction(E_Zone *zone, E_Zone_Edge edge);
-EINTERN void      e_zone_edge_win_layer_set(E_Zone *zone, E_Layer layer);
 
 EINTERN Eina_Bool e_zone_obstacle_add(E_Zone *zone, E_Client *ec, Eina_Rectangle *geom, Eina_Bool vertical);
 EINTERN Eina_Bool e_zone_obstacle_update(E_Zone *zone, E_Client *ec, Eina_Rectangle *geom, Eina_Bool vertical);
@@ -278,9 +237,6 @@ extern EINTERN int E_EVENT_ZONE_DESK_COUNT_SET;
 extern E_API int E_EVENT_ZONE_MOVE_RESIZE;
 extern EINTERN int E_EVENT_ZONE_ADD;
 extern EINTERN int E_EVENT_ZONE_DEL;
-extern EINTERN int E_EVENT_ZONE_EDGE_IN;
-extern EINTERN int E_EVENT_ZONE_EDGE_OUT;
-extern EINTERN int E_EVENT_ZONE_EDGE_MOVE;
 extern EINTERN int E_EVENT_ZONE_STOW;
 extern EINTERN int E_EVENT_ZONE_UNSTOW;