From 31fdb13e9e7d32bad90d9661972a22b2ec4d4851 Mon Sep 17 00:00:00 2001 From: shilpa singh Date: Thu, 14 Oct 2010 20:35:11 +0900 Subject: [PATCH] [Transparency issues after merging- versions 51733 and 51833 of elm_widget issue is resolved and the corresponding versions merged] --- src/lib/elm_pager.c | 1 + src/lib/elm_widget.c | 46 ++++++++++++++++++++++++++++++++++++++++------ 2 files changed, 41 insertions(+), 6 deletions(-) diff --git a/src/lib/elm_pager.c b/src/lib/elm_pager.c index 6310be7..a52b275 100644 --- a/src/lib/elm_pager.c +++ b/src/lib/elm_pager.c @@ -289,6 +289,7 @@ elm_pager_content_push(Evas_Object *obj, Evas_Object *content) _changed_size_hints, it); edje_object_part_swallow(it->base, "elm.swallow.content", it->content); edje_object_size_min_calc(it->base, &it->minw, &it->minh); + evas_object_data_set(it->base, "_elm_leaveme", obj); evas_object_show(it->content); wd->stack = eina_list_append(wd->stack, it); _eval_top(obj); diff --git a/src/lib/elm_widget.c b/src/lib/elm_widget.c index 35eafee..91579e7 100644 --- a/src/lib/elm_widget.c +++ b/src/lib/elm_widget.c @@ -1333,38 +1333,72 @@ _smart_resize(Evas_Object *obj, Evas_Coord w, Evas_Coord h) static void _smart_show(Evas_Object *obj) { + Eina_List *list, *l; + Evas_Object *o; INTERNAL_ENTRY; - evas_object_show(sd->resize_obj); + 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); + } } static void _smart_hide(Evas_Object *obj) { + Eina_List *list, *l; + Evas_Object *o; INTERNAL_ENTRY; - evas_object_hide(sd->resize_obj); + list = evas_object_smart_members_get(obj); + EINA_LIST_FOREACH(list, l, o) + { + if (evas_object_data_get(o, "_elm_leaveme")) continue; + evas_object_hide(o); + } _if_focused_revert(obj); } static void _smart_color_set(Evas_Object *obj, int r, int g, int b, int a) { + Eina_List *list, *l; + Evas_Object *o; INTERNAL_ENTRY; - evas_object_color_set(sd->resize_obj, r, g, b, a); + list = evas_object_smart_members_get(obj); + EINA_LIST_FOREACH(list, l, o) + { + if (evas_object_data_get(o, "_elm_leaveme")) continue; + evas_object_color_set(o, r, g, b, a); + } } static void _smart_clip_set(Evas_Object *obj, Evas_Object *clip) { + Eina_List *list, *l; + Evas_Object *o; INTERNAL_ENTRY; - evas_object_clip_set(sd->resize_obj, clip); + list = evas_object_smart_members_get(obj); + EINA_LIST_FOREACH(list, l, o) + { + if (evas_object_data_get(o, "_elm_leaveme")) continue; + evas_object_clip_set(o, clip); + } } static void _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) + { + if (evas_object_data_get(o, "_elm_leaveme")) continue; + evas_object_clip_unset(o); + } } static void -- 2.7.4