SVN revision: 45546
This commit is contained in:
Sebastian Dransfeld 2010-01-25 09:31:07 +00:00
parent ca49f2dcbf
commit d529af17ba
1 changed files with 40 additions and 58 deletions

View File

@ -1364,67 +1364,49 @@ _e_shelf_cb_mouse_in(void *data, int type, void *event)
ev = event; ev = event;
if (es->zone != ev->zone) return 1; if (es->zone != ev->zone) return 1;
switch (ev->edge) switch (es->gadcon->orient)
{ {
case E_ZONE_EDGE_NONE: case E_GADCON_ORIENT_FLOAT:
case E_GADCON_ORIENT_HORIZ:
case E_GADCON_ORIENT_VERT:
/* noop */ /* noop */
break; break;
case E_ZONE_EDGE_LEFT: case E_GADCON_ORIENT_LEFT:
if (((es->gadcon->orient == E_GADCON_ORIENT_LEFT) || case E_GADCON_ORIENT_CORNER_LT:
(es->gadcon->orient == E_GADCON_ORIENT_CORNER_LT) || case E_GADCON_ORIENT_CORNER_LB:
(es->gadcon->orient == E_GADCON_ORIENT_CORNER_LB)) && if (((ev->edge == E_ZONE_EDGE_LEFT) ||
(ev->y >= es->y) && (ev->y <= (es->y + es->h))) (ev->edge == E_ZONE_EDGE_TOP_LEFT) ||
show = 1; (ev->edge == E_ZONE_EDGE_BOTTOM_LEFT)) &&
break; (ev->x >= es->x) && (ev->x <= (es->x + es->w)))
case E_ZONE_EDGE_RIGHT: show = 1;
if (((es->gadcon->orient == E_GADCON_ORIENT_RIGHT) || break;
(es->gadcon->orient == E_GADCON_ORIENT_CORNER_RT) || case E_GADCON_ORIENT_RIGHT:
(es->gadcon->orient == E_GADCON_ORIENT_CORNER_RB)) && case E_GADCON_ORIENT_CORNER_RT:
(ev->y >= es->y) && (ev->y <= (es->y + es->h))) case E_GADCON_ORIENT_CORNER_RB:
show = 1; if (((ev->edge == E_ZONE_EDGE_RIGHT) ||
break; (ev->edge == E_ZONE_EDGE_TOP_RIGHT) ||
case E_ZONE_EDGE_TOP: (ev->edge == E_ZONE_EDGE_BOTTOM_RIGHT)) &&
if (((es->gadcon->orient == E_GADCON_ORIENT_TOP) || (ev->x >= es->x) && (ev->x <= (es->x + es->w)))
(es->gadcon->orient == E_GADCON_ORIENT_CORNER_TL) || show = 1;
(es->gadcon->orient == E_GADCON_ORIENT_CORNER_TR)) && break;
(ev->x >= es->x) && (ev->x <= (es->x + es->w))) case E_GADCON_ORIENT_TOP:
show = 1; case E_GADCON_ORIENT_CORNER_TL:
break; case E_GADCON_ORIENT_CORNER_TR:
case E_ZONE_EDGE_BOTTOM: if (((ev->edge == E_ZONE_EDGE_TOP) ||
if (((es->gadcon->orient == E_GADCON_ORIENT_BOTTOM) || (ev->edge == E_ZONE_EDGE_TOP_LEFT) ||
(es->gadcon->orient == E_GADCON_ORIENT_CORNER_BL) || (ev->edge == E_ZONE_EDGE_TOP_RIGHT)) &&
(es->gadcon->orient == E_GADCON_ORIENT_CORNER_BR)) && (ev->y >= es->y) && (ev->y <= (es->y + es->h)))
(ev->x >= es->x) && (ev->x <= (es->x + es->w))) show = 1;
show = 1; break;
break; case E_GADCON_ORIENT_BOTTOM:
case E_ZONE_EDGE_TOP_LEFT: case E_GADCON_ORIENT_CORNER_BL:
if (((es->gadcon->orient == E_GADCON_ORIENT_CORNER_TL) || case E_GADCON_ORIENT_CORNER_BR:
(es->gadcon->orient == E_GADCON_ORIENT_CORNER_LT)) && if (((ev->edge == E_ZONE_EDGE_BOTTOM) ||
((ev->x >= es->x) && (ev->x <= (es->x + es->w))) && (ev->edge == E_ZONE_EDGE_BOTTOM_LEFT) ||
((ev->y >= es->y) && (ev->y <= (es->y + es->h)))) (ev->edge == E_ZONE_EDGE_BOTTOM_RIGHT)) &&
show = 1; (ev->y >= es->y) && (ev->y <= (es->y + es->h)))
break; show = 1;
case E_ZONE_EDGE_TOP_RIGHT: break;
if (((es->gadcon->orient == E_GADCON_ORIENT_CORNER_TR) ||
(es->gadcon->orient == E_GADCON_ORIENT_CORNER_RT)) &&
((ev->x >= es->x) && (ev->x <= (es->x + es->w))) &&
((ev->y >= es->y) && (ev->y <= (es->y + es->h))))
show = 1;
break;
case E_ZONE_EDGE_BOTTOM_RIGHT:
if (((es->gadcon->orient == E_GADCON_ORIENT_CORNER_BR) ||
(es->gadcon->orient == E_GADCON_ORIENT_CORNER_RB)) &&
((ev->x >= es->x) && (ev->x <= (es->x + es->w))) &&
((ev->y >= es->y) && (ev->y <= (es->y + es->h))))
show = 1;
break;
case E_ZONE_EDGE_BOTTOM_LEFT:
if (((es->gadcon->orient == E_GADCON_ORIENT_CORNER_BL) ||
(es->gadcon->orient == E_GADCON_ORIENT_CORNER_LB)) &&
((ev->x >= es->x) && (ev->x <= (es->x + es->w))) &&
((ev->y >= es->y) && (ev->y <= (es->y + es->h))))
show = 1;
break;
} }
if (show) if (show)