Enlightenment CVS committal

Author  : sebastid
Project : e17
Module  : apps/e

Dir     : e17/apps/e/src/bin


Modified Files:
        e_border.c 


Log Message:
Change pointer on begin/end move/resize.

===================================================================
RCS file: /cvsroot/enlightenment/e17/apps/e/src/bin/e_border.c,v
retrieving revision 1.445
retrieving revision 1.446
diff -u -3 -r1.445 -r1.446
--- e_border.c  7 Oct 2005 18:36:53 -0000       1.445
+++ e_border.c  10 Oct 2005 22:08:51 -0000      1.446
@@ -111,6 +111,11 @@
 static char *_e_border_winid_str_get(Ecore_X_Window win);
 
 static void _e_border_app_change(void *data, E_App *app, E_App_Change change);
+
+static void _e_border_pointer_resize_begin(E_Border *bd);
+static void _e_border_pointer_resize_end(E_Border *bd);
+static void _e_border_pointer_move_begin(E_Border *bd);
+static void _e_border_pointer_move_end(E_Border *bd);
     
 /* local subsystem globals */
 static Evas_List *handlers = NULL;
@@ -566,6 +571,7 @@
      e_border_unfullscreen(bd);
    if (bd->resize_mode != RESIZE_NONE)
      {
+       _e_border_pointer_resize_end(bd);
        bd->resize_mode = RESIZE_NONE;
        _e_border_resize_end(bd);
      }
@@ -1936,6 +1942,7 @@
 
        e_zone_flip_win_disable();
        bd->moving = 1;
+       _e_border_pointer_move_begin(bd);
        if (ev)
          {
             char source[256];
@@ -1951,6 +1958,7 @@
 {
    if (!bd->moving) return;
    bd->moving = 0;
+   _e_border_pointer_move_end(bd);
    e_zone_flip_win_restore();
    _e_border_move_end(bd);
    e_zone_flip_coords_handle(bd->zone, -1, -1);
@@ -1990,6 +1998,7 @@
                  GRAV_SET(bd, ECORE_X_GRAVITY_NW);
               }
          }
+       _e_border_pointer_resize_begin(bd);
        if (ev)
          {
             char source[256];
@@ -2005,6 +2014,7 @@
 {
    if (bd->resize_mode != RESIZE_NONE)
      {
+       _e_border_pointer_resize_end(bd);
        bd->resize_mode = RESIZE_NONE;
        _e_border_resize_end(bd);
        bd->changes.reset_gravity = 1;
@@ -2317,6 +2327,7 @@
 {
    if (!_e_border_move_begin(bd)) return;
    bd->moving = 1;
+   _e_border_pointer_move_begin(bd);
    e_zone_flip_win_disable();
    _e_border_moveinfo_gather(bd, sig);
 }
@@ -2326,6 +2337,7 @@
 {
    if (!bd->moving) return;
    bd->moving = 0;
+   _e_border_pointer_move_end(bd);
    e_zone_flip_win_restore();
    _e_border_move_end(bd);
    e_zone_flip_coords_handle(bd->zone, -1, -1);
@@ -2387,6 +2399,7 @@
        grav = ECORE_X_GRAVITY_E;
      }
    bd->resize_mode = resize_mode;
+   _e_border_pointer_resize_begin(bd);
    _e_border_moveinfo_gather(bd, sig);
    GRAV_SET(bd, grav);
 }
@@ -2396,6 +2409,7 @@
 {
    if (bd->resize_mode == RESIZE_NONE) return;
    _e_border_resize_handle(bd);
+   _e_border_pointer_resize_end(bd);
    bd->resize_mode = RESIZE_NONE;
    _e_border_resize_end(bd);
    bd->changes.reset_gravity = 1;
@@ -2653,6 +2667,8 @@
        ecore_event_add(E_EVENT_BORDER_REMOVE, ev, 
_e_border_event_border_remove_free, NULL);
      }
 
+   /* remove all pointers for this win. */
+   e_pointer_type_pop(bd->zone->container->manager->pointer, bd, NULL);
    e_container_border_remove(bd);
    if (bd->parent)
      {
@@ -7180,3 +7196,79 @@
          }
      }
 }
+
+static void
+_e_border_pointer_resize_begin(E_Border *bd)
+{
+   switch (bd->resize_mode)
+     {
+      case RESIZE_TL:
+        e_pointer_type_push(bd->zone->container->manager->pointer, bd, 
"resize_tl");
+        break;
+      case RESIZE_T:
+        e_pointer_type_push(bd->zone->container->manager->pointer, bd, 
"resize_t");
+        break;
+      case RESIZE_TR:
+        e_pointer_type_push(bd->zone->container->manager->pointer, bd, 
"resize_tr");
+        break;
+      case RESIZE_R:
+        e_pointer_type_push(bd->zone->container->manager->pointer, bd, 
"resize_r");
+        break;
+      case RESIZE_BR:
+        e_pointer_type_push(bd->zone->container->manager->pointer, bd, 
"resize_br");
+        break;
+      case RESIZE_B:
+        e_pointer_type_push(bd->zone->container->manager->pointer, bd, 
"resize_b");
+        break;
+      case RESIZE_BL:
+        e_pointer_type_push(bd->zone->container->manager->pointer, bd, 
"resize_bl");
+        break;
+      case RESIZE_L:
+        e_pointer_type_push(bd->zone->container->manager->pointer, bd, 
"resize_l");
+        break;
+     }
+}
+
+static void
+_e_border_pointer_resize_end(E_Border *bd)
+{
+   switch (bd->resize_mode)
+     {
+      case RESIZE_TL:
+        e_pointer_type_pop(bd->zone->container->manager->pointer, bd, 
"resize_tl");
+        break;
+      case RESIZE_T:
+        e_pointer_type_pop(bd->zone->container->manager->pointer, bd, 
"resize_t");
+        break;
+      case RESIZE_TR:
+        e_pointer_type_pop(bd->zone->container->manager->pointer, bd, 
"resize_tr");
+        break;
+      case RESIZE_R:
+        e_pointer_type_pop(bd->zone->container->manager->pointer, bd, 
"resize_r");
+        break;
+      case RESIZE_BR:
+        e_pointer_type_pop(bd->zone->container->manager->pointer, bd, 
"resize_br");
+        break;
+      case RESIZE_B:
+        e_pointer_type_pop(bd->zone->container->manager->pointer, bd, 
"resize_b");
+        break;
+      case RESIZE_BL:
+        e_pointer_type_pop(bd->zone->container->manager->pointer, bd, 
"resize_bl");
+        break;
+      case RESIZE_L:
+        e_pointer_type_pop(bd->zone->container->manager->pointer, bd, 
"resize_l");
+        break;
+     }
+}
+
+static void
+_e_border_pointer_move_begin(E_Border *bd)
+{
+   e_pointer_type_push(bd->zone->container->manager->pointer, bd, "move");
+}
+
+static void
+_e_border_pointer_move_end(E_Border *bd)
+{
+   e_pointer_type_pop(bd->zone->container->manager->pointer, bd, "move");
+}




-------------------------------------------------------
This SF.Net email is sponsored by:
Power Architecture Resource Center: Free content, downloads, discussions,
and more. http://solutions.newsforge.com/ibmarch.tmpl
_______________________________________________
enlightenment-cvs mailing list
enlightenment-cvs@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs

Reply via email to