forked from enlightenment/enlightenment
parent
b9ce12aae1
commit
dee8316081
|
@ -87,16 +87,20 @@ e_zone_new(E_Container *con, int num, int id, int x, int y, int w, int h)
|
|||
zone->edge.bottom = ecore_x_window_input_new(con->win, zone->x + 1, zone->y + zone->h - 1, zone->w - 2, 1);
|
||||
e_container_window_raise(zone->container, zone->edge.bottom, 999);
|
||||
|
||||
zone->handlers = evas_list_append(zone->handlers,
|
||||
zone->handlers =
|
||||
evas_list_append(zone->handlers,
|
||||
ecore_event_handler_add(ECORE_X_EVENT_MOUSE_IN,
|
||||
_e_zone_cb_mouse_in, zone));
|
||||
zone->handlers = evas_list_append(zone->handlers,
|
||||
zone->handlers =
|
||||
evas_list_append(zone->handlers,
|
||||
ecore_event_handler_add(ECORE_X_EVENT_MOUSE_OUT,
|
||||
_e_zone_cb_mouse_out, zone));
|
||||
zone->handlers = evas_list_append(zone->handlers,
|
||||
zone->handlers =
|
||||
evas_list_append(zone->handlers,
|
||||
ecore_event_handler_add(ECORE_X_EVENT_MOUSE_MOVE,
|
||||
_e_zone_cb_mouse_move, zone));
|
||||
zone->handlers = evas_list_append(zone->handlers,
|
||||
zone->handlers =
|
||||
evas_list_append(zone->handlers,
|
||||
ecore_event_handler_add(E_EVENT_DESK_SHOW,
|
||||
_e_zone_cb_desk_show, zone));
|
||||
|
||||
|
@ -125,9 +129,9 @@ e_zone_new(E_Container *con, int num, int id, int x, int y, int w, int h)
|
|||
evas_object_event_callback_add(o, EVAS_CALLBACK_MOUSE_MOVE, _e_zone_cb_bg_mouse_move, zone);
|
||||
|
||||
/* TODO: config the ecore_evas type. */
|
||||
zone->black_ecore_evas = e_canvas_new(e_config->evas_engine_zone, zone->container->win,
|
||||
0, 0, zone->w, zone->h, 1, 1,
|
||||
&(zone->black_win), NULL);
|
||||
zone->black_ecore_evas =
|
||||
e_canvas_new(e_config->evas_engine_zone, zone->container->win,
|
||||
0, 0, zone->w, zone->h, 1, 1, &(zone->black_win), NULL);
|
||||
e_canvas_add(zone->black_ecore_evas);
|
||||
ecore_evas_layer_set(zone->black_ecore_evas, 6);
|
||||
zone->black_evas = ecore_evas_get(zone->black_ecore_evas);
|
||||
|
@ -146,8 +150,7 @@ e_zone_new(E_Container *con, int num, int id, int x, int y, int w, int h)
|
|||
zone->desk_y_count = 0;
|
||||
zone->desk_x_current = 0;
|
||||
zone->desk_y_current = 0;
|
||||
e_zone_desk_count_set(zone,
|
||||
e_config->zone_desks_x_count,
|
||||
e_zone_desk_count_set(zone, e_config->zone_desks_x_count,
|
||||
e_config->zone_desks_y_count);
|
||||
|
||||
_e_zone_update_flip(zone);
|
||||
|
@ -168,6 +171,7 @@ e_zone_name_set(E_Zone *zone, const char *name)
|
|||
{
|
||||
E_OBJECT_CHECK(zone);
|
||||
E_OBJECT_TYPE_CHECK(zone, E_ZONE_TYPE);
|
||||
|
||||
if (zone->name) evas_stringshare_del(zone->name);
|
||||
zone->name = evas_stringshare_add(name);
|
||||
}
|
||||
|
@ -216,12 +220,16 @@ e_zone_resize(E_Zone *zone, int w, int h)
|
|||
ev = E_NEW(E_Event_Zone_Move_Resize, 1);
|
||||
ev->zone = zone;
|
||||
e_object_ref(E_OBJECT(ev->zone));
|
||||
ecore_event_add(E_EVENT_ZONE_MOVE_RESIZE, ev, _e_zone_event_move_resize_free, NULL);
|
||||
ecore_event_add(E_EVENT_ZONE_MOVE_RESIZE, ev,
|
||||
_e_zone_event_move_resize_free, NULL);
|
||||
|
||||
ecore_x_window_move_resize(zone->edge.left, zone->x, zone->y, 1, zone->h);
|
||||
ecore_x_window_move_resize(zone->edge.right, zone->x + zone->w - 1, zone->y, 1, zone->h);
|
||||
ecore_x_window_move_resize(zone->edge.top, zone->x + 1, zone->y, zone->w - 2, 1);
|
||||
ecore_x_window_move_resize(zone->edge.bottom, zone->x + 1, zone->y + zone->h - 1, zone->w - 2, 1);
|
||||
ecore_x_window_move_resize(zone->edge.right, zone->x + zone->w - 1,
|
||||
zone->y, 1, zone->h);
|
||||
ecore_x_window_move_resize(zone->edge.top, zone->x + 1, zone->y,
|
||||
zone->w - 2, 1);
|
||||
ecore_x_window_move_resize(zone->edge.bottom, zone->x + 1,
|
||||
zone->y + zone->h - 1, zone->w - 2, 1);
|
||||
}
|
||||
|
||||
EAPI void
|
||||
|
@ -250,12 +258,16 @@ e_zone_move_resize(E_Zone *zone, int x, int y, int w, int h)
|
|||
ev = E_NEW(E_Event_Zone_Move_Resize, 1);
|
||||
ev->zone = zone;
|
||||
e_object_ref(E_OBJECT(ev->zone));
|
||||
ecore_event_add(E_EVENT_ZONE_MOVE_RESIZE, ev, _e_zone_event_move_resize_free, NULL);
|
||||
ecore_event_add(E_EVENT_ZONE_MOVE_RESIZE, ev,
|
||||
_e_zone_event_move_resize_free, NULL);
|
||||
|
||||
ecore_x_window_move_resize(zone->edge.left, zone->x, zone->y, 1, zone->h);
|
||||
ecore_x_window_move_resize(zone->edge.right, zone->x + zone->w - 1, zone->y, 1, zone->h);
|
||||
ecore_x_window_move_resize(zone->edge.top, zone->x + 1, zone->y, zone->w - 2, 1);
|
||||
ecore_x_window_move_resize(zone->edge.bottom, zone->x + 1, zone->y + zone->h - 1, zone->w - 2, 1);
|
||||
ecore_x_window_move_resize(zone->edge.right, zone->x + zone->w - 1,
|
||||
zone->y, 1, zone->h);
|
||||
ecore_x_window_move_resize(zone->edge.top, zone->x + 1, zone->y,
|
||||
zone->w - 2, 1);
|
||||
ecore_x_window_move_resize(zone->edge.bottom, zone->x + 1,
|
||||
zone->y + zone->h - 1, zone->w - 2, 1);
|
||||
}
|
||||
|
||||
EAPI void
|
||||
|
@ -280,7 +292,7 @@ e_zone_fullscreen_set(E_Zone *zone, int on)
|
|||
EAPI E_Zone *
|
||||
e_zone_current_get(E_Container *con)
|
||||
{
|
||||
Evas_List *l;
|
||||
Evas_List *l = NULL;
|
||||
|
||||
E_OBJECT_CHECK_RETURN(con, NULL);
|
||||
E_OBJECT_TYPE_CHECK_RETURN(con, E_CONTAINER_TYPE, NULL);
|
||||
|
@ -308,17 +320,19 @@ e_zone_bg_reconfigure(E_Zone *zone)
|
|||
{
|
||||
E_OBJECT_CHECK(zone);
|
||||
E_OBJECT_TYPE_CHECK(zone, E_ZONE_TYPE);
|
||||
|
||||
e_bg_zone_update(zone, E_BG_TRANSITION_CHANGE);
|
||||
}
|
||||
|
||||
EAPI void
|
||||
e_zone_flip_coords_handle(E_Zone *zone, int x, int y)
|
||||
{
|
||||
E_OBJECT_CHECK(zone);
|
||||
E_OBJECT_TYPE_CHECK(zone, E_ZONE_TYPE);
|
||||
int one_row = 1;
|
||||
int one_col = 1;
|
||||
|
||||
E_OBJECT_CHECK(zone);
|
||||
E_OBJECT_TYPE_CHECK(zone, E_ZONE_TYPE);
|
||||
|
||||
if (!e_config->edge_flip_dragging) return;
|
||||
/* if we have only 1 row we can flip up/down even if we have xinerama */
|
||||
if (evas_list_count(zone->container->zones) > 1)
|
||||
|
@ -328,7 +342,7 @@ e_zone_flip_coords_handle(E_Zone *zone, int x, int y)
|
|||
int cx, cy;
|
||||
|
||||
zones = zone->container->zones;
|
||||
next_zone = (E_Zone *) evas_list_data(zones);
|
||||
next_zone = (E_Zone *)evas_list_data(zones);
|
||||
cx = next_zone->x;
|
||||
cy = next_zone->y;
|
||||
zones = evas_list_next(zones);
|
||||
|
@ -348,36 +362,39 @@ e_zone_flip_coords_handle(E_Zone *zone, int x, int y)
|
|||
{
|
||||
/* top */
|
||||
if (!zone->flip.timer)
|
||||
zone->flip.timer = ecore_timer_add(e_config->edge_flip_timeout, _e_zone_cb_timer, zone);
|
||||
zone->flip.timer = ecore_timer_add(e_config->edge_flip_timeout,
|
||||
_e_zone_cb_timer, zone);
|
||||
zone->flip.direction = E_DIRECTION_UP;
|
||||
}
|
||||
else if ((one_col) && (x == (zone->w - 1)) && E_ZONE_FLIP_RIGHT(zone))
|
||||
{
|
||||
/* right */
|
||||
if (!zone->flip.timer)
|
||||
zone->flip.timer = ecore_timer_add(e_config->edge_flip_timeout, _e_zone_cb_timer, zone);
|
||||
zone->flip.timer = ecore_timer_add(e_config->edge_flip_timeout,
|
||||
_e_zone_cb_timer, zone);
|
||||
zone->flip.direction = E_DIRECTION_RIGHT;
|
||||
}
|
||||
else if ((one_row) && (y == (zone->h - 1)) && E_ZONE_FLIP_DOWN(zone))
|
||||
{
|
||||
/* bottom */
|
||||
if (!zone->flip.timer)
|
||||
zone->flip.timer = ecore_timer_add(e_config->edge_flip_timeout, _e_zone_cb_timer, zone);
|
||||
zone->flip.timer = ecore_timer_add(e_config->edge_flip_timeout,
|
||||
_e_zone_cb_timer, zone);
|
||||
zone->flip.direction = E_DIRECTION_DOWN;
|
||||
}
|
||||
else if ((one_col) && (x == 0) && E_ZONE_FLIP_LEFT(zone))
|
||||
{
|
||||
/* left */
|
||||
if (!zone->flip.timer)
|
||||
zone->flip.timer = ecore_timer_add(e_config->edge_flip_timeout, _e_zone_cb_timer, zone);
|
||||
zone->flip.timer = ecore_timer_add(e_config->edge_flip_timeout,
|
||||
_e_zone_cb_timer, zone);
|
||||
zone->flip.direction = E_DIRECTION_LEFT;
|
||||
}
|
||||
else
|
||||
{
|
||||
noflip:
|
||||
/* in zone */
|
||||
if (zone->flip.timer)
|
||||
ecore_timer_del(zone->flip.timer);
|
||||
if (zone->flip.timer) ecore_timer_del(zone->flip.timer);
|
||||
zone->flip.timer = NULL;
|
||||
}
|
||||
}
|
||||
|
@ -387,10 +404,10 @@ e_zone_desk_count_set(E_Zone *zone, int x_count, int y_count)
|
|||
{
|
||||
E_Desk **new_desks;
|
||||
E_Desk *desk, *new_desk;
|
||||
int x, y, xx, yy, moved, nx, ny;
|
||||
E_Border *bd;
|
||||
E_Event_Zone_Desk_Count_Set *ev;
|
||||
E_Border_List *bl;
|
||||
int x, y, xx, yy, moved, nx, ny;
|
||||
|
||||
E_OBJECT_CHECK(zone);
|
||||
E_OBJECT_TYPE_CHECK(zone, E_ZONE_TYPE);
|
||||
|
@ -491,7 +508,8 @@ e_zone_desk_count_set(E_Zone *zone, int x_count, int y_count)
|
|||
if (!ev) return;
|
||||
ev->zone = zone;
|
||||
e_object_ref(E_OBJECT(ev->zone));
|
||||
ecore_event_add(E_EVENT_ZONE_DESK_COUNT_SET, ev, _e_zone_event_zone_desk_count_set_free, NULL);
|
||||
ecore_event_add(E_EVENT_ZONE_DESK_COUNT_SET, ev,
|
||||
_e_zone_event_zone_desk_count_set_free, NULL);
|
||||
}
|
||||
|
||||
EAPI void
|
||||
|
@ -859,7 +877,8 @@ _e_zone_cb_mouse_in(void *data, int type, void *event)
|
|||
if (zone->flip.right)
|
||||
{
|
||||
if (!zone->flip.timer)
|
||||
zone->flip.timer = ecore_timer_add(e_config->edge_flip_timeout, _e_zone_cb_timer, zone);
|
||||
zone->flip.timer = ecore_timer_add(e_config->edge_flip_timeout,
|
||||
_e_zone_cb_timer, zone);
|
||||
zone->flip.direction = E_DIRECTION_RIGHT;
|
||||
}
|
||||
|
||||
|
@ -875,7 +894,8 @@ _e_zone_cb_mouse_in(void *data, int type, void *event)
|
|||
if (zone->flip.bottom)
|
||||
{
|
||||
if (!zone->flip.timer)
|
||||
zone->flip.timer = ecore_timer_add(e_config->edge_flip_timeout, _e_zone_cb_timer, zone);
|
||||
zone->flip.timer = ecore_timer_add(e_config->edge_flip_timeout,
|
||||
_e_zone_cb_timer, zone);
|
||||
zone->flip.direction = E_DIRECTION_DOWN;
|
||||
}
|
||||
|
||||
|
@ -891,7 +911,8 @@ _e_zone_cb_mouse_in(void *data, int type, void *event)
|
|||
if (zone->flip.left)
|
||||
{
|
||||
if (!zone->flip.timer)
|
||||
zone->flip.timer = ecore_timer_add(e_config->edge_flip_timeout, _e_zone_cb_timer, zone);
|
||||
zone->flip.timer = ecore_timer_add(e_config->edge_flip_timeout,
|
||||
_e_zone_cb_timer, zone);
|
||||
zone->flip.direction = E_DIRECTION_LEFT;
|
||||
}
|
||||
|
||||
|
@ -1030,7 +1051,6 @@ _e_zone_cb_timer(void *data)
|
|||
zone->flip.timer = NULL;
|
||||
|
||||
current = e_desk_current_get(zone);
|
||||
|
||||
if (current)
|
||||
ecore_event_add(E_EVENT_POINTER_WARP, ev, NULL, NULL);
|
||||
else
|
||||
|
@ -1079,7 +1099,7 @@ _e_zone_update_flip(E_Zone *zone)
|
|||
int x, y;
|
||||
|
||||
zones = zone->container->zones;
|
||||
next_zone = (E_Zone *) evas_list_data(zones);
|
||||
next_zone = (E_Zone *)evas_list_data(zones);
|
||||
x = next_zone->x;
|
||||
y = next_zone->y;
|
||||
zones = evas_list_next(zones);
|
||||
|
@ -1182,4 +1202,3 @@ _e_zone_object_del_attach(void *o)
|
|||
e_object_ref(E_OBJECT(ev->zone));
|
||||
ecore_event_add(E_EVENT_ZONE_DEL, ev, _e_zone_event_del_free, NULL);
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue