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);
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);
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);
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);
}
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));
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);
}
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)
{