Enlightenment CVS committal Author : atmosphere Project : e17 Module : apps/entrance
Dir : e17/apps/entrance/src/client Modified Files: entrance_session.c entrance_smart.c entrance_user.c entrance_x_session.c main.c util.c Log Message: o entrance_session.c - fixups and updates - no more explicit unswallowing and deleting of EntranceUserIcon/EntranceSessionIcon in the EntranceSession or EntranceFace parts - set layer of entrance_smart results accordingly before swallowing into main edje(fixes stacking problems) o entrance_smart - fixups and migrate code from util.c - intercept resizes on avatar image objects, have them keep fill, should they keep aspect too ? - fix retarded stacking implementation o entrance_[user|x_session].c - let entrance_smart do more of the work - don't explicitly set the layer, pass events or intercept resizes o main.c - do 30fps more sanely o util.c - move resize_intercept cb into entrance_smart.c =================================================================== RCS file: /cvsroot/enlightenment/e17/apps/entrance/src/client/entrance_session.c,v retrieving revision 1.55 retrieving revision 1.56 diff -u -3 -r1.55 -r1.56 --- entrance_session.c 11 Jun 2004 03:38:01 -0000 1.55 +++ entrance_session.c 27 Jun 2004 19:33:13 -0000 1.56 @@ -215,7 +215,6 @@ entrance_session_user_set(Entrance_Session * e, Entrance_User * eu) { Evas_Object *obj = NULL; - Evas_Object *old_face = NULL; const char *file = NULL; Entrance_X_Session *exs = NULL; @@ -223,10 +222,6 @@ { if ((obj = edje_object_part_swallow_get(e->edje, "EntranceFace"))) { - if ((old_face = - edje_object_part_swallow_get(obj, "EntranceUserIcon"))) - evas_object_del(old_face); - edje_object_part_unswallow(e->edje, obj); evas_object_del(obj); } @@ -271,6 +266,7 @@ else { #endif + evas_object_layer_set(obj, evas_object_layer_get(e->edje)); if (edje_object_part_exists(e->edje, "EntranceFace")) { edje_object_part_swallow(e->edje, "EntranceFace", obj); @@ -451,7 +447,7 @@ if (e && e->edje && exs) { const char *file = NULL; - Evas_Object *o = NULL, *old_o = NULL, *old_icon = NULL; + Evas_Object *o = NULL, *old_o = NULL; edje_object_file_get(e->edje, &file, NULL); if ((o = entrance_x_session_edje_get(exs, e->edje, file))) @@ -463,16 +459,11 @@ old_o = edje_object_part_swallow_get(e->edje, "EntranceSession"); if (old_o) { - if ((old_icon = - edje_object_part_swallow_get(old_o, "EntranceSessionIcon"))) - { - edje_object_part_unswallow(old_o, old_icon); - evas_object_del(old_icon); - } edje_object_part_unswallow(e->edje, old_o); evas_object_del(old_o); } edje_object_part_swallow(e->edje, "EntranceSession", o); + evas_object_layer_set(o, evas_object_layer_get(e->edje)); edje_object_signal_emit(e->edje, "SessionDefaultChanged", ""); edje_object_signal_emit(e->edje, "SessionSelected", ""); } =================================================================== RCS file: /cvsroot/enlightenment/e17/apps/entrance/src/client/entrance_smart.c,v retrieving revision 1.1 retrieving revision 1.2 diff -u -3 -r1.1 -r1.2 --- entrance_smart.c 27 Jun 2004 17:05:27 -0000 1.1 +++ entrance_smart.c 27 Jun 2004 19:33:28 -0000 1.2 @@ -10,6 +10,12 @@ #include <limits.h> #include "entrance_smart.h" +/* utility function, keep fill for images */ +static void entrance_edje_object_resize_intercept_cb(void *data, + Evas_Object * o, + Evas_Coord w, + Evas_Coord h); + /* smart object handlers */ static Evas_Smart *_entrance_smart_object_smart_get(); static Evas_Object *entrance_smart_object_new(Evas * evas); @@ -30,6 +36,9 @@ void _entrance_smart_object_clip_set(Evas_Object * o, Evas_Object * clip); void _entrance_smart_object_clip_unset(Evas_Object * o); +/** + * + */ Evas_Object * entrance_smart_add(Evas * e) { @@ -47,6 +56,9 @@ return (result); } +/** + * + */ void entrance_smart_edje_set(Evas_Object * o, Evas_Object * edje) { @@ -63,6 +75,9 @@ } } +/** + * + */ void entrance_smart_avatar_set(Evas_Object * o, Evas_Object * avatar) { @@ -75,6 +90,13 @@ evas_object_clip_set(avatar, data->clip); evas_object_show(avatar); data->avatar = avatar; + if (!strcmp(evas_object_type_get(avatar), "image")) + { + evas_object_pass_events_set(avatar, 1); + evas_object_intercept_resize_callback_add(avatar, + entrance_edje_object_resize_intercept_cb, + NULL); + } } } } @@ -82,10 +104,6 @@ /*========================================================================== * Smart Object Code, Go Away *========================================================================*/ - - -/*** external API ***/ - static Evas_Object * entrance_smart_object_new(Evas * evas) { @@ -192,7 +210,7 @@ if ((data = evas_object_smart_data_get(o))) { - evas_object_stack_above(data->clip, above); + evas_object_stack_above(data->edje, above); } } @@ -203,7 +221,7 @@ if ((data = evas_object_smart_data_get(o))) { - evas_object_stack_below(data->clip, below); + evas_object_stack_below(data->edje, below); } } @@ -285,3 +303,17 @@ evas_object_clip_unset(data->clip); } } + +static void +entrance_edje_object_resize_intercept_cb(void *data, Evas_Object * o, + Evas_Coord w, Evas_Coord h) +{ + if (o) + { + if (!strcmp("image", evas_object_type_get(o))) + { + evas_object_image_fill_set(o, 0.0, 0.0, w, h); + evas_object_resize(o, w, h); + } + } +} =================================================================== RCS file: /cvsroot/enlightenment/e17/apps/entrance/src/client/entrance_user.c,v retrieving revision 1.10 retrieving revision 1.11 diff -u -3 -r1.10 -r1.11 --- entrance_user.c 27 Jun 2004 17:05:27 -0000 1.10 +++ entrance_user.c 27 Jun 2004 19:33:28 -0000 1.11 @@ -102,7 +102,6 @@ entrance_smart_edje_set(result, o); if (edje_object_file_set(o, file, "User")) { - evas_object_layer_set(o, 0); evas_object_move(o, -9999, -9999); edje_object_size_min_get(o, &w, &h); if ((w > 0) && (h > 0)) @@ -112,12 +111,6 @@ { if ((avatar = _entrance_user_icon_load(edje, e->icon))) { - if (!strcmp(evas_object_type_get(avatar), "image")) - { - edje_object_part_geometry_get(avatar, "EntranceUserIcon", - NULL, NULL, &w, &h); - evas_object_image_fill_set(avatar, 0.0, 0.0, w, h); - } entrance_smart_avatar_set(result, avatar); edje_object_part_swallow(o, "EntranceUserIcon", avatar); } @@ -174,14 +167,9 @@ result = evas_object_image_add(evas_object_evas_get(o)); evas_object_image_file_set(result, buf, NULL); } - evas_object_intercept_resize_callback_add(result, - entrance_edje_object_resize_intercept_cb, - NULL); } - evas_object_pass_events_set(result, 1); evas_object_move(result, -999, -999); evas_object_resize(result, 48, 48); - evas_object_layer_set(result, 0); evas_object_show(result); return (result); } =================================================================== RCS file: /cvsroot/enlightenment/e17/apps/entrance/src/client/entrance_x_session.c,v retrieving revision 1.5 retrieving revision 1.6 diff -u -3 -r1.5 -r1.6 --- entrance_x_session.c 27 Jun 2004 17:05:27 -0000 1.5 +++ entrance_x_session.c 27 Jun 2004 19:33:28 -0000 1.6 @@ -75,14 +75,9 @@ result = evas_object_image_add(evas_object_evas_get(o)); evas_object_image_file_set(result, buf, NULL); } - evas_object_intercept_resize_callback_add(result, - entrance_edje_object_resize_intercept_cb, - NULL); } - evas_object_pass_events_set(result, 1); evas_object_move(result, -999, -999); evas_object_resize(result, 48, 48); - evas_object_layer_set(result, 0); evas_object_show(result); return (result); } @@ -104,7 +99,6 @@ entrance_smart_edje_set(result, edje); if (edje_object_file_set(edje, themefile, "Session") > 0) { - evas_object_layer_set(edje, 0); evas_object_move(edje, -9999, -9999); edje_object_size_min_get(edje, &w, &h); if ((w > 0) && (h > 0)) =================================================================== RCS file: /cvsroot/enlightenment/e17/apps/entrance/src/client/main.c,v retrieving revision 1.53 retrieving revision 1.54 diff -u -3 -r1.53 -r1.54 --- main.c 11 Jun 2004 03:23:47 -0000 1.53 +++ main.c 27 Jun 2004 19:33:28 -0000 1.54 @@ -688,9 +688,8 @@ if (ecore_evas_init()) { - /* init edje and set frametime to 60 fps ? */ edje_init(); - edje_frametime_set(2.0 / 60.0); + edje_frametime_set(1.0 / 30.0); /* setup our ecore_evas */ /* testing mode decides entrance window size * * Use rendering engine =================================================================== RCS file: /cvsroot/enlightenment/e17/apps/entrance/src/client/util.c,v retrieving revision 1.3 retrieving revision 1.4 diff -u -3 -r1.3 -r1.4 --- util.c 8 Mar 2004 16:59:00 -0000 1.3 +++ util.c 27 Jun 2004 19:33:28 -0000 1.4 @@ -74,17 +74,3 @@ if (ENTRANCE_DEBUG) printf("%s\n", msg); } - -void -entrance_edje_object_resize_intercept_cb(void *data, Evas_Object * o, - Evas_Coord w, Evas_Coord h) -{ - if (o) - { - if (!strcmp("image", evas_object_type_get(o))) - { - evas_object_image_fill_set(o, 0.0, 0.0, w, h); - evas_object_resize(o, w, h); - } - } -} ------------------------------------------------------- This SF.Net email sponsored by Black Hat Briefings & Training. Attend Black Hat Briefings & Training, Las Vegas July 24-29 - digital self defense, top technical experts, no vendor pitches, unmatched networking opportunities. Visit www.blackhat.com _______________________________________________ enlightenment-cvs mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs