Enlightenment CVS committal Author : sebastid Project : e17 Module : apps/e
Dir : e17/apps/e/src/bin Modified Files: e_border.c e_int_menus.c e_main.c e_zone.c e_zone.h Log Message: Change the event on flip to a pointer warp event. =================================================================== RCS file: /cvsroot/enlightenment/e17/apps/e/src/bin/e_border.c,v retrieving revision 1.299 retrieving revision 1.300 diff -u -3 -r1.299 -r1.300 --- e_border.c 1 Jul 2005 08:17:59 -0000 1.299 +++ e_border.c 1 Jul 2005 08:20:03 -0000 1.300 @@ -45,7 +45,7 @@ static int _e_border_cb_desktop_change(void *data, int ev_type, void *ev); static int _e_border_cb_sync_alarm(void *data, int ev_type, void *ev); -static int _e_border_cb_zone_desk_flip(void *data, int ev_type, void *ev); +static int _e_border_cb_pointer_warp(void *data, int ev_type, void *ev); static void _e_border_cb_signal_move_start(void *data, Evas_Object *obj, const char *emission, const char *source); static void _e_border_cb_signal_move_stop(void *data, Evas_Object *obj, const char *emission, const char *source); @@ -184,7 +184,7 @@ handlers = evas_list_append(handlers, ecore_event_handler_add(ECORE_X_EVENT_SYNC_ALARM, _e_border_cb_sync_alarm, NULL)); ecore_x_passive_grab_replay_func_set(_e_border_cb_grab_replay, NULL); - handlers = evas_list_append(handlers, ecore_event_handler_add(E_EVENT_ZONE_DESK_FLIP, _e_border_cb_zone_desk_flip, NULL)); + handlers = evas_list_append(handlers, ecore_event_handler_add(E_EVENT_POINTER_WARP, _e_border_cb_pointer_warp, NULL)); E_EVENT_BORDER_ADD = ecore_event_type_new(); E_EVENT_BORDER_REMOVE = ecore_event_type_new(); @@ -2791,28 +2791,15 @@ * Calculate pos from e->x and e->y */ static int -_e_border_cb_zone_desk_flip(void *data, int ev_type, void *ev) +_e_border_cb_pointer_warp(void *data, int ev_type, void *ev) { - E_Event_Zone_Desk_Flip *e; + E_Event_Pointer_Warp *e; e = ev; if (!move) return 1; - switch (e->direction) - { - case E_DIRECTION_UP: - e_border_move(move, move->x, move->y + (move->zone->h - 2)); - break; - case E_DIRECTION_RIGHT: - e_border_move(move, move->x - (move->zone->w - 2), move->y); - break; - case E_DIRECTION_DOWN: - e_border_move(move, move->x, move->y - (move->zone->h - 2)); - break; - case E_DIRECTION_LEFT: - e_border_move(move, move->x + (move->zone->w - 2), move->y); - break; - } + printf("warp: %d %d %d %d\n", e->curr.x, e->prev.x, e->curr.y, e->prev.y); + e_border_move(move, move->x + (e->curr.x - e->prev.x), move->y + (e->curr.y - e->prev.y)); return 1; } =================================================================== RCS file: /cvsroot/enlightenment/e17/apps/e/src/bin/e_int_menus.c,v retrieving revision 1.76 retrieving revision 1.77 diff -u -3 -r1.76 -r1.77 --- e_int_menus.c 1 Jul 2005 04:41:34 -0000 1.76 +++ e_int_menus.c 1 Jul 2005 08:20:03 -0000 1.77 @@ -291,11 +291,11 @@ } else { - printf("[EMAIL PROTECTED]" - "[EMAIL PROTECTED]" + printf("[EMAIL PROTECTED]" + "[EMAIL PROTECTED]" " main menu object data is NULL!\n" - "[EMAIL PROTECTED]" - "[EMAIL PROTECTED]"); + "[EMAIL PROTECTED]" + "[EMAIL PROTECTED]"); } } =================================================================== RCS file: /cvsroot/enlightenment/e17/apps/e/src/bin/e_main.c,v retrieving revision 1.107 retrieving revision 1.108 diff -u -3 -r1.107 -r1.108 --- e_main.c 29 Jun 2005 15:29:53 -0000 1.107 +++ e_main.c 1 Jul 2005 08:20:04 -0000 1.108 @@ -24,7 +24,6 @@ static int _e_main_cb_idler_before(void *data); static int _e_main_cb_idler_after(void *data); -static int _e_main_cb_startup_fake_status(void *data); static int _e_main_cb_startup_fake_end(void *data); static void _e_main_desk_save(void); =================================================================== RCS file: /cvsroot/enlightenment/e17/apps/e/src/bin/e_zone.c,v retrieving revision 1.61 retrieving revision 1.62 diff -u -3 -r1.61 -r1.62 --- e_zone.c 30 Jun 2005 14:07:28 -0000 1.61 +++ e_zone.c 1 Jul 2005 08:20:04 -0000 1.62 @@ -17,10 +17,9 @@ static int _e_zone_cb_timer(void *data); static int _e_zone_cb_desk_show(void *data, int type, void *event); static void _e_zone_update_flip(E_Zone *zone); -static void _e_zone_event_zone_desk_flip_free(void *data, void *ev); int E_EVENT_ZONE_DESK_COUNT_SET = 0; -int E_EVENT_ZONE_DESK_FLIP = 0; +int E_EVENT_POINTER_WARP = 0; #define E_ZONE_FLIP_UP(zone) ((zone)->desk_y_current > 0) #define E_ZONE_FLIP_RIGHT(zone) (((zone)->desk_x_current + 1) < (zone)->desk_x_count) @@ -31,7 +30,7 @@ e_zone_init(void) { E_EVENT_ZONE_DESK_COUNT_SET = ecore_event_type_new(); - E_EVENT_ZONE_DESK_FLIP = ecore_event_type_new(); + E_EVENT_POINTER_WARP = ecore_event_type_new(); return 1; } @@ -698,11 +697,17 @@ { E_Zone *zone; E_Desk *prev = NULL, *current = NULL; + E_Event_Pointer_Warp *ev; int x, y; + ev = E_NEW(E_Event_Pointer_Warp, 1); + if (!ev) return 0; + zone = data; ecore_x_pointer_xy_get(zone->container->win, &x, &y); + ev->prev.x = x; + ev->prev.y = y; prev = e_desk_at_xy_get(zone, zone->desk_x_current, zone->desk_y_current); switch (zone->flip.direction) @@ -715,6 +720,8 @@ { e_desk_show(current); ecore_x_pointer_warp(zone->container->win, x, zone->h - 2); + ev->curr.x = x; + ev->curr.y = zone->h - 2; } } break; @@ -726,6 +733,8 @@ { e_desk_show(current); ecore_x_pointer_warp(zone->container->win, 2, y); + ev->curr.y = y; + ev->curr.x = 2; } } break; @@ -737,6 +746,8 @@ { e_desk_show(current); ecore_x_pointer_warp(zone->container->win, x, 2); + ev->curr.x = x; + ev->curr.y = 2; } } break; @@ -748,6 +759,8 @@ { e_desk_show(current); ecore_x_pointer_warp(zone->container->win, zone->w - 2, y); + ev->curr.y = y; + ev->curr.x = zone->w - 2; } } break; @@ -756,22 +769,9 @@ zone->flip.timer = NULL; if (current) - { - E_Event_Zone_Desk_Flip *ev; - - ev = E_NEW(E_Event_Zone_Desk_Flip, 1); - if (!ev) return 0; - - ev->x = x; - ev->y = y; - ev->direction = zone->flip.direction; - ev->prev = prev; - if (ev->prev) e_object_ref(E_OBJECT(ev->prev)); - ev->current = current; - e_object_ref(E_OBJECT(ev->current)); - - ecore_event_add(E_EVENT_ZONE_DESK_FLIP, ev, _e_zone_event_zone_desk_flip_free, NULL); - } + ecore_event_add(E_EVENT_POINTER_WARP, ev, NULL, NULL); + else + free(ev); return 0; } @@ -839,14 +839,3 @@ ecore_x_window_hide(zone->flip.bottom); } } - -static void -_e_zone_event_zone_desk_flip_free(void *data, void *ev) -{ - E_Event_Zone_Desk_Flip *e; - - e = ev; - if (e->prev) e_object_unref(E_OBJECT(e->prev)); - e_object_unref(E_OBJECT(e->current)); - free(e); -} =================================================================== RCS file: /cvsroot/enlightenment/e17/apps/e/src/bin/e_zone.h,v retrieving revision 1.28 retrieving revision 1.29 diff -u -3 -r1.28 -r1.29 --- e_zone.h 30 Jun 2005 14:07:28 -0000 1.28 +++ e_zone.h 1 Jul 2005 08:20:05 -0000 1.29 @@ -6,7 +6,8 @@ typedef struct _E_Zone E_Zone; typedef struct _E_Event_Zone_Desk_Count_Set E_Event_Zone_Desk_Count_Set; -typedef struct _E_Event_Zone_Desk_Flip E_Event_Zone_Desk_Flip; +/* TODO: Move this to a general place? */ +typedef struct _E_Event_Pointer_Warp E_Event_Pointer_Warp; #else #ifndef E_ZONE_H @@ -52,11 +53,14 @@ E_Zone *zone; }; -struct _E_Event_Zone_Desk_Flip +struct _E_Event_Pointer_Warp { - int x, y; - E_Direction direction; - E_Desk *prev, *current; + struct { + int x, y; + } prev; + struct { + int x, y; + } curr; }; EAPI int e_zone_init(void); @@ -79,7 +83,7 @@ EAPI int e_zone_app_exec(E_Zone *zone, E_App *a); extern EAPI int E_EVENT_ZONE_DESK_COUNT_SET; -extern EAPI int E_EVENT_ZONE_DESK_FLIP; +extern EAPI int E_EVENT_POINTER_WARP; #endif #endif ------------------------------------------------------- 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