Enlightenment CVS committal

Author  : handyande
Project : e17
Module  : apps/e

Dir     : e17/apps/e/src/bin


Modified Files:
        e_border.c e_border.h 


Log Message:
Hook in a few callbacks, putting them in slowly but surely - just testing the 
water this time
===================================================================
RCS file: /cvsroot/enlightenment/e17/apps/e/src/bin/e_border.c,v
retrieving revision 1.52
retrieving revision 1.53
diff -u -3 -r1.52 -r1.53
--- e_border.c  10 Jan 2005 20:54:20 -0000      1.52
+++ e_border.c  10 Jan 2005 22:24:23 -0000      1.53
@@ -70,11 +70,17 @@
 static void _e_border_menu_cb_icon_edit(void *data, E_Menu *m, E_Menu_Item 
*mi);
 static void _e_border_menu_cb_stick(void *data, E_Menu *m, E_Menu_Item *mi);
 
+static void _e_border_event_border_resize_free(void *data, void *ev);
+static void _e_border_event_border_move_free(void *data, void *ev);
+
 /* local subsystem globals */
 static Evas_List *handlers = NULL;
 static Evas_List *borders = NULL;
 static E_Border  *focused = NULL;
 
+int E_EVENT_BORDER_RESIZE = 0;
+int E_EVENT_BORDER_MOVE = 0;
+
 #define GRAV_SET(bd, grav) \
 printf("GRAV TO %i\n", grav); \
 ecore_x_window_gravity_set(bd->bg_win, grav); \
@@ -102,6 +108,10 @@
    handlers = evas_list_append(handlers, 
ecore_event_handler_add(ECORE_X_EVENT_WINDOW_FOCUS_OUT, 
_e_border_cb_window_focus_out, NULL));
    handlers = evas_list_append(handlers, 
ecore_event_handler_add(ECORE_X_EVENT_CLIENT_MESSAGE, 
_e_border_cb_client_message, NULL));
    ecore_x_passive_grab_replay_func_set(_e_border_cb_grab_replay, NULL);
+
+   E_EVENT_BORDER_RESIZE = ecore_event_type_new();
+   E_EVENT_BORDER_MOVE = ecore_event_type_new();
+   
    return 1;
 }
 
@@ -1594,6 +1604,7 @@
    bd->mouse.current.my = ev->root.y;
    if (bd->moving)
      {
+       E_Event_Border_Move *pass;
        int x, y, new_x, new_y;
        Evas_List *skiplist = NULL;
        
@@ -1620,10 +1631,20 @@
                                    &new_x, &new_y);
        evas_list_free(skiplist);
        e_border_move(bd, new_x, new_y);
+
+       pass = calloc(1, sizeof(E_Event_Border_Move));
+       pass->border = bd; 
+       e_object_ref(E_OBJECT(bd));
+       ecore_event_add(E_EVENT_BORDER_MOVE, pass, 
_e_border_event_border_move_free, NULL);
      }
    else if (bd->resize_mode != RESIZE_NONE)
      {
+       E_Event_Border_Resize *pass;
        _e_border_resize_handle(bd);
+       pass = calloc(1, sizeof(E_Event_Border_Resize));
+       pass->border = bd; 
+       e_object_ref(E_OBJECT(bd));
+       ecore_event_add(E_EVENT_BORDER_RESIZE, pass, 
_e_border_event_border_resize_free, NULL);     
      }
    else
      {
@@ -2629,3 +2650,24 @@
    if (bd->sticky) e_border_unstick(bd);
    else e_border_stick(bd);
 }
+
+static void
+_e_border_event_border_resize_free(void *data, void *ev)
+{
+   E_Event_Border_Resize *e;
+
+   e = ev;
+   e_object_unref(E_OBJECT(e->border));
+   free(e);
+}
+
+static void
+_e_border_event_border_move_free(void *data, void *ev)
+{
+   E_Event_Border_Resize *e;
+
+   e = ev;
+   e_object_unref(E_OBJECT(e->border));
+   free(e);
+}
+
===================================================================
RCS file: /cvsroot/enlightenment/e17/apps/e/src/bin/e_border.h,v
retrieving revision 1.16
retrieving revision 1.17
diff -u -3 -r1.16 -r1.17
--- e_border.h  8 Jan 2005 07:10:13 -0000       1.16
+++ e_border.h  10 Jan 2005 22:24:23 -0000      1.17
@@ -21,6 +21,9 @@
 };
 typedef enum _E_Transition E_Transition;
 
+typedef struct _E_Event_Border_Resize E_Event_Border_Resize;
+typedef struct _E_Event_Border_Move   E_Event_Border_Move;
+
 struct _E_Border
 {
    E_Object             e_obj_inherit;
@@ -183,6 +186,16 @@
    } changes;
 };
 
+struct _E_Event_Border_Resize
+{
+   E_Border *border;
+};
+
+struct _E_Event_Border_Move
+{
+   E_Border *border;
+};
+
 EAPI int       e_border_init(void);
 EAPI int       e_border_shutdown(void);
 
@@ -216,4 +229,7 @@
 
 EAPI void      e_border_iconified_list(void);
 
+extern EAPI int E_EVENT_BORDER_RESIZE;
+extern EAPI int E_EVENT_BORDER_MOVE;
+
 #endif




-------------------------------------------------------
The SF.Net email is sponsored by: Beat the post-holiday blues
Get a FREE limited edition SourceForge.net t-shirt from ThinkGeek.
It's fun and FREE -- well, almost....http://www.thinkgeek.com/sfshirt
_______________________________________________
enlightenment-cvs mailing list
enlightenment-cvs@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs

Reply via email to