Enlightenment CVS committal Author : sebastid Project : e17 Module : apps/e
Dir : e17/apps/e/src/bin Modified Files: e_zone.h e_zone.c Log Message: Pointer wrapping. Needs updated ecore. =================================================================== RCS file: /cvsroot/enlightenment/e17/apps/e/src/bin/e_zone.h,v retrieving revision 1.16 retrieving revision 1.17 diff -u -3 -r1.16 -r1.17 --- e_zone.h 22 Apr 2005 08:19:38 -0000 1.16 +++ e_zone.h 22 Apr 2005 09:23:00 -0000 1.17 @@ -38,6 +38,7 @@ Ecore_X_Window top, right, bottom, left; Ecore_Timer *timer; int x, y; + E_Direction direction; } flip; }; =================================================================== RCS file: /cvsroot/enlightenment/e17/apps/e/src/bin/e_zone.c,v retrieving revision 1.30 retrieving revision 1.31 diff -u -3 -r1.30 -r1.31 --- e_zone.c 22 Apr 2005 08:19:39 -0000 1.30 +++ e_zone.c 22 Apr 2005 09:23:00 -0000 1.31 @@ -450,27 +450,31 @@ if (ev->win == zone->flip.top) { - zone->flip.timer = ecore_timer_add(1, _e_zone_cb_timer, zone); + zone->flip.timer = ecore_timer_add(0.5, _e_zone_cb_timer, zone); zone->flip.x = zone->desk_x_current; zone->flip.y = zone->desk_y_current - 1; + zone->flip.direction = E_DIRECTION_UP; } else if (ev->win == zone->flip.right) { - zone->flip.timer = ecore_timer_add(1, _e_zone_cb_timer, zone); + zone->flip.timer = ecore_timer_add(0.5, _e_zone_cb_timer, zone); zone->flip.x = zone->desk_x_current + 1; zone->flip.y = zone->desk_y_current; + zone->flip.direction = E_DIRECTION_RIGHT; } else if (ev->win == zone->flip.bottom) { - zone->flip.timer = ecore_timer_add(1, _e_zone_cb_timer, zone); + zone->flip.timer = ecore_timer_add(0.5, _e_zone_cb_timer, zone); zone->flip.x = zone->desk_x_current; zone->flip.y = zone->desk_y_current + 1; + zone->flip.direction = E_DIRECTION_DOWN; } else if (ev->win == zone->flip.left) { - zone->flip.timer = ecore_timer_add(1, _e_zone_cb_timer, zone); + zone->flip.timer = ecore_timer_add(0.5, _e_zone_cb_timer, zone); zone->flip.x = zone->desk_x_current - 1; zone->flip.y = zone->desk_y_current; + zone->flip.direction = E_DIRECTION_LEFT; } return 1; } @@ -500,8 +504,30 @@ zone = data; desk = e_desk_at_xy_get(zone, zone->flip.x, zone->flip.y); if (desk) - e_desk_show(desk); - _e_zone_update_flip(zone); + { + int x, y; + + e_desk_show(desk); + _e_zone_update_flip(zone); + + ecore_x_pointer_last_xy_get(&x, &y); + + switch (zone->flip.direction) + { + case E_DIRECTION_UP: + ecore_x_pointer_warp(zone->container->manager->win, x, zone->h - 2); + break; + case E_DIRECTION_RIGHT: + ecore_x_pointer_warp(zone->container->manager->win, 2, y); + break; + case E_DIRECTION_DOWN: + ecore_x_pointer_warp(zone->container->manager->win, x, 2); + break; + case E_DIRECTION_LEFT: + ecore_x_pointer_warp(zone->container->manager->win, zone->w - 2, y); + break; + } + } zone->flip.timer = NULL; ------------------------------------------------------- SF email is sponsored by - The IT Product Guide Read honest & candid reviews on hundreds of IT Products from real users. Discover which products truly live up to the hype. Start reading now. http://ads.osdn.com/?ad_id=6595&alloc_id=14396&op=click _______________________________________________ enlightenment-cvs mailing list enlightenment-cvs@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs