Enlightenment CVS committal Author : handyande Project : misc Module : engage
Dir : misc/engage/src/module Modified Files: e_mod_main.c Log Message: Work on all edges =================================================================== RCS file: /cvsroot/enlightenment/misc/engage/src/module/e_mod_main.c,v retrieving revision 1.10 retrieving revision 1.11 diff -u -3 -r1.10 -r1.11 --- e_mod_main.c 1 Mar 2005 11:42:04 -0000 1.10 +++ e_mod_main.c 1 Mar 2005 13:42:58 -0000 1.11 @@ -9,7 +9,6 @@ /* TODO List: * * immediate fixes needed: - * * work on other edges than the bottom * * pick up iconified apps on startup * * get running app info similar to iconified apps * * zoom and unzoom (eb->zoom from 1.0 to conf->zoom_factor) on timer @@ -982,12 +981,13 @@ static void _engage_bar_motion_handle(Engage_Bar *eb, Evas_Coord mx, Evas_Coord my) { - Evas_Coord x, y, w, h; + Evas_Coord x, y, w, h, md; double relx, rely, left, right, dummy; Evas_List *items; int bordersize, counter, done_min; Engage_Icon *prev; - + E_Gadman_Edge edge; + evas_object_geometry_get(eb->box_object, &x, &y, &w, &h); if (w > 0) relx = (double)(mx - x) / (double)w; else relx = 0.0; @@ -1005,20 +1005,31 @@ } e_gadman_client_geometry_get(eb->gmc, &x, &y, &w, &h); + edge = e_gadman_client_edge_get(eb->gmc); e_box_freeze(eb->box_object); items = eb->icons; bordersize = eb->engage->iconbordersize - eb->engage->conf->iconsize; - counter = x + (eb->engage->iconbordersize / 2) + 1; + if (edge == E_GADMAN_EDGE_LEFT || edge == E_GADMAN_EDGE_RIGHT) + { + md = my; + counter = y; + } + else + { + md = mx; + counter = x; + } + counter += (eb->engage->iconbordersize / 2) + 1; done_min = 0; while (items) { Engage_Icon *icon; - double distance, new_zoom, relative_x, size; + double distance, new_zoom, relative, size; icon = (Engage_Icon *) items->data; - distance = (double) (counter - mx) / (eb->engage->iconbordersize); + distance = (double) (counter - md) / (eb->engage->iconbordersize); if (-0.5 < distance && distance < 0.5) { @@ -1029,12 +1040,18 @@ } else evas_object_hide(icon->event_object); - zoom_function(distance, &new_zoom, &relative_x, eb); + zoom_function(distance, &new_zoom, &relative, eb); size = icon->scale * new_zoom * eb->engage->iconbordersize; evas_object_image_fill_set(icon->icon_object, 0.0, 0.0, size, size); evas_object_resize(icon->bg_object, size, size); - evas_object_move(icon->bg_object, - counter - 0.5 * size, y + h - size); + if (edge == E_GADMAN_EDGE_LEFT) + evas_object_move(icon->bg_object, x, counter - 0.5 * size); + else if (edge == E_GADMAN_EDGE_RIGHT) + evas_object_move(icon->bg_object, x + w - size, counter - 0.5 * size); + else if (edge == E_GADMAN_EDGE_TOP) + evas_object_move(icon->bg_object, counter - 0.5 * size, y); + else + evas_object_move(icon->bg_object, counter - 0.5 * size, y + h - size); prev = icon; items = items->next; @@ -1047,14 +1064,6 @@ } } -// zoom_function((double) (x - mx) / (eb->engage->iconbordersize), -// &dummy, &left, eb); -// zoom_function((double) ((x + w) - mx) / (eb->engage->iconbordersize), -// &dummy, &right, eb); - -/* FIXME move bar to x=mx + left, wide=right - left */ -// evas_object_resize(eb->bar_object, right - left, h); -// evas_object_move(eb->bar_object, mx + left, y); e_box_thaw(eb->box_object); } @@ -1189,14 +1198,32 @@ Evas_Event_Mouse_In *ev; Engage_Bar *eb; Evas_Coord x, y, w, h; + E_Gadman_Edge edge; ev = event_info; eb = data; eb->zoom = 2.0; evas_object_geometry_get(eb->box_object, &x, &y, &w, &h); - evas_object_resize(eb->event_object, w , h + h); - evas_object_move(eb->event_object, x, y - h); + edge = e_gadman_client_edge_get(eb->gmc); + if (edge == E_GADMAN_EDGE_LEFT) + { + evas_object_resize(eb->event_object, w + w, h); + } + else if (edge == E_GADMAN_EDGE_RIGHT) + { + evas_object_resize(eb->event_object, w + w, h); + evas_object_move(eb->event_object, x - w, y); + } + else if (edge == E_GADMAN_EDGE_TOP) + { + evas_object_resize(eb->event_object, w , h + h); + } + else + { + evas_object_resize(eb->event_object, w , h + h); + evas_object_move(eb->event_object, x, y - h); + } // _engage_bar_motion_handle(eb, ev->canvas.x, ev->canvas.y); } ------------------------------------------------------- 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