Enlightenment CVS committal

Author  : raster
Project : e17
Module  : apps/e

Dir     : e17/apps/e/src/bin


Modified Files:
        e_actions.c 


Log Message:


martin geisler's patch :)

===================================================================
RCS file: /cvsroot/enlightenment/e17/apps/e/src/bin/e_actions.c,v
retrieving revision 1.17
retrieving revision 1.18
diff -u -3 -r1.17 -r1.18
--- e_actions.c 4 Jul 2005 10:24:22 -0000       1.17
+++ e_actions.c 7 Jul 2005 03:55:29 -0000       1.18
@@ -288,6 +288,112 @@
 }
 
 /***************************************************************************/
+ACT_FN_GO(move_relative)
+{
+   if (!obj) obj = E_OBJECT(e_border_focused_get());
+   if (!obj) return;
+   if (obj->type != E_BORDER_TYPE)
+     {
+       obj = E_OBJECT(e_border_focused_get());
+       if (!obj) return;
+     }
+   if (params)
+     {
+       int dx, dy;
+
+       if (sscanf(params, "%i %i", &dx, &dy) == 2) {
+         E_Border *bd;
+         
+         bd = (E_Border *)obj;
+
+         e_border_move(bd, bd->x + dx, bd->y + dy);
+         
+         if (e_config->focus_policy != E_FOCUS_CLICK)
+           ecore_x_pointer_warp(bd->zone->container->win,
+                                bd->x + (bd->w / 2),
+                                bd->y + (bd->h / 2));
+       }
+     }
+}
+
+/***************************************************************************/
+ACT_FN_GO(move_absolute)
+{
+   if (!obj) obj = E_OBJECT(e_border_focused_get());
+   if (!obj) return;
+   if (obj->type != E_BORDER_TYPE)
+     {
+       obj = E_OBJECT(e_border_focused_get());
+       if (!obj) return;
+     }
+   if (params)
+     {
+       E_Border *bd;
+       int x, y;
+       char cx, cy;
+         
+       bd = (E_Border *)obj;
+
+       if (sscanf(params, "%c%i %c%i", &cx, &x, &cy, &y) == 4)
+         {
+           // Nothing, both x and y is updated.
+         }
+       else if (sscanf(params, "* %c%i", &cy, &y) == 2)
+         {
+           // Updated y, reset x.
+           x = bd->x;
+         }
+       else if (sscanf(params, "%c%i *", &cx, &x) == 2)
+         {
+           // Updated x, reset y.
+           y = bd->y;
+         }
+
+       if (cx == '-') x = bd->zone->w - bd->w - x;
+       if (cy == '-') y = bd->zone->h - bd->h - y;
+
+       if (x != bd->x || y != bd->y)
+         {
+           e_border_move(bd, x, y);
+
+           if (e_config->focus_policy != E_FOCUS_CLICK)
+             ecore_x_pointer_warp(bd->zone->container->win,
+                                  bd->x + (bd->w / 2),
+                                  bd->y + (bd->h / 2));
+         }
+     }
+}
+
+/***************************************************************************/
+ACT_FN_GO(resize)
+{
+   if (!obj) obj = E_OBJECT(e_border_focused_get());
+   if (!obj) return;
+   if (obj->type != E_BORDER_TYPE)
+     {
+       obj = E_OBJECT(e_border_focused_get());
+       if (!obj) return;
+     }
+
+   if (params)
+     {
+       int dw, dh;
+
+       if (sscanf(params, "%i %i", &dw, &dh) == 2) {
+         E_Border *bd;
+         bd = (E_Border *)obj;
+
+         e_border_resize(bd, bd->w + dw, bd->h + dh);
+         
+         if (e_config->focus_policy != E_FOCUS_CLICK)
+           ecore_x_pointer_warp(bd->zone->container->win,
+                                bd->x + (bd->w / 2),
+                                bd->y + (bd->h / 2));
+       }
+     }
+}
+
+/***************************************************************************/
 ACT_FN_GO(desk_flip_by)
 {
    E_Zone *zone;
@@ -788,6 +894,12 @@
    
    ACT_GO(desk_linear_flip_to);
 
+   ACT_GO(move_absolute);
+
+   ACT_GO(move_relative);
+
+   ACT_GO(resize);
+
    ACT_GO(menu_show);
    ACT_GO_MOUSE(menu_show);
    ACT_GO_KEY(menu_show);




-------------------------------------------------------
SF.Net email is sponsored by: Discover Easy Linux Migration Strategies
from IBM. Find simple to follow Roadmaps, straightforward articles,
informative Webcasts and more! Get everything you need to get up to
speed, fast. http://ads.osdn.com/?ad_id=7477&alloc_id=16492&op=click
_______________________________________________
enlightenment-cvs mailing list
enlightenment-cvs@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs

Reply via email to