From: Carsten Haitzler Date: Fri, 3 Sep 2010 00:08:11 +0000 (+0000) Subject: and umm... work... and .. struff.. ugh. don't ask. X-Git-Tag: v1.0.0~4386 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=a92c84608568df3658ebb60d31fa097658d15c95;p=platform%2Fupstream%2Felementary.git and umm... work... and .. struff.. ugh. don't ask. SVN revision: 51851 --- diff --git a/src/lib/elm_flip.c b/src/lib/elm_flip.c index 6ed316b..2145ce0 100644 --- a/src/lib/elm_flip.c +++ b/src/lib/elm_flip.c @@ -388,6 +388,7 @@ elm_flip_add(Evas_Object *parent) elm_widget_theme_hook_set(obj, _theme_hook); wd->clip = evas_object_rectangle_add(e); + evas_object_static_clip_set(wd->clip, 1); evas_object_color_set(wd->clip, 255, 255, 255, 255); evas_object_move(wd->clip, -49999, -49999); evas_object_resize(wd->clip, 99999, 99999); @@ -396,6 +397,7 @@ elm_flip_add(Evas_Object *parent) evas_object_smart_member_add(wd->clip, obj); wd->front.clip = evas_object_rectangle_add(e); + evas_object_static_clip_set(wd->front.clip, 1); evas_object_data_set(wd->front.clip, "_elm_leaveme", obj); evas_object_color_set(wd->front.clip, 255, 255, 255, 255); evas_object_move(wd->front.clip, -49999, -49999); @@ -405,6 +407,7 @@ elm_flip_add(Evas_Object *parent) evas_object_clip_set(wd->front.clip, wd->clip); wd->back.clip = evas_object_rectangle_add(e); + evas_object_static_clip_set(wd->back.clip, 1); evas_object_data_set(wd->back.clip, "_elm_leaveme", obj); evas_object_color_set(wd->back.clip, 255, 255, 255, 255); evas_object_move(wd->back.clip, -49999, -49999); diff --git a/src/lib/elm_mapbuf.c b/src/lib/elm_mapbuf.c index 8118325..c7895be 100644 --- a/src/lib/elm_mapbuf.c +++ b/src/lib/elm_mapbuf.c @@ -114,10 +114,27 @@ _configure(Evas_Object *obj) if (!wd) return; if (wd->content) { - Evas_Coord x, y, w, h; + Evas_Coord x, y, w, h, x2, y2; evas_object_geometry_get(obj, &x, &y, &w, &h); - if (!wd->enabled) evas_object_move(wd->content, x, y); + evas_object_geometry_get(wd->content, &x2, &y2, NULL, NULL); + if ((x != x2) || (y != y2)) + { + if (!wd->enabled) + evas_object_move(wd->content, x, y); + else + { + + Evas *e = evas_object_evas_get(obj); + evas_smart_objects_calculate(e); + evas_nochange_push(e); +// printf("x--------------------\n"); + evas_object_move(wd->content, x, y); + evas_smart_objects_calculate(e); +// printf("y--------------------\n"); + evas_nochange_pop(e); + } + } evas_object_resize(wd->content, w, h); _mapbuf(obj); } @@ -195,6 +212,7 @@ elm_mapbuf_content_set(Evas_Object *obj, Evas_Object *content) wd->content = content; if (content) { + // FIXME: dont handle del elm_widget_sub_object_add(content, obj); evas_object_smart_member_add(content, obj); evas_object_clip_set(content, evas_object_clip_get(obj)); diff --git a/src/lib/elm_widget.c b/src/lib/elm_widget.c index d709bd4..450b93c 100644 --- a/src/lib/elm_widget.c +++ b/src/lib/elm_widget.c @@ -1255,7 +1255,7 @@ _smart_show(Evas_Object *obj) INTERNAL_ENTRY; list = evas_object_smart_members_get(obj); EINA_LIST_FOREACH(list, l, o) - { + { if (evas_object_data_get(o, "_elm_leaveme")) continue; evas_object_show(o); } @@ -1310,6 +1310,8 @@ _smart_clip_unset(Evas_Object *obj) Eina_List *list, *l; Evas_Object *o; INTERNAL_ENTRY; +// evas_object_clip_unset(sd->resize_obj); +// return; list = evas_object_smart_members_get(obj); EINA_LIST_FOREACH(list, l, o) {