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

Reply via email to