rendered paste bodyIndex: src/lib/edje_util.c
===================================================================
RCS file: /var/cvs/e/e17/libs/edje/src/lib/edje_util.c,v
retrieving revision 1.89
diff -u -r1.89 edje_util.c
--- src/lib/edje_util.c 1 Mar 2007 22:39:01 -0000 1.89
+++ src/lib/edje_util.c 28 Mar 2007 17:15:43 -0000
@@ -784,6 +784,7 @@
EVAS_CALLBACK_FREE,
_edje_object_part_swallow_free_cb);
evas_object_clip_unset(rp->swallowed_object);
+ evas_object_data_del(rp->swallowed_object, "\377 edje.swallowing_part");
rp->swallowed_object = NULL;
}
if (!obj_swallow) return;
@@ -842,6 +843,7 @@
rp->swallow_params.aspect.mode = am;
rp->swallow_params.aspect.w = aw;
rp->swallow_params.aspect.h = ah;
+ evas_object_data_set(rp->swallowed_object, "\377 edje.swallowing_part", rp);
}
ed->dirty = 1;
_edje_recalc(ed);
@@ -858,6 +860,7 @@
edje_extern_object_min_size_set(Evas_Object *obj, Evas_Coord minw, Evas_Coord minh)
{
int mw, mh;
+ Edje_Real_Part *rp;
mw = minw;
mh = minh;
@@ -871,6 +874,13 @@
evas_object_data_set(obj, "\377 edje.minh", (void *)mh);
else
evas_object_data_del(obj, "\377 edje.minh");
+
+ rp = evas_object_data_get(obj, "\377 edje.swallowing_part");
+ if (rp)
+ {
+ rp->swallow_params.min.w = mw;
+ rp->swallow_params.min.h = mh;
+ }
}
/** Set the object maximum size
@@ -884,6 +894,7 @@
edje_extern_object_max_size_set(Evas_Object *obj, Evas_Coord maxw, Evas_Coord maxh)
{
int mw, mh;
+ Edje_Real_Part *rp;
mw = maxw;
mh = maxh;
@@ -895,6 +906,13 @@
evas_object_data_set(obj, "\377 edje.maxh", (void *)mh);
else
evas_object_data_del(obj, "\377 edje.maxh");
+
+ rp = evas_object_data_get(obj, "\377 edje.swallowing_part");
+ if (rp)
+ {
+ rp->swallow_params.max.w = mw >= 0 ? mw : -1;
+ rp->swallow_params.max.h = mh >= 0 ? mh : -1;
+ }
}
/** Set the object aspect size
@@ -913,6 +931,7 @@
{
int mw, mh;
int mc;
+ Edje_Real_Part *rp;
mc = aspect;
mw = aw;
@@ -929,6 +948,14 @@
evas_object_data_set(obj, "\377 edje.asph", (void *)mh);
else
evas_object_data_del(obj, "\377 edje.asph");
+
+ rp = evas_object_data_get(obj, "\377 edje.swallowing_part");
+ if (rp)
+ {
+ rp->swallow_params.aspect.mode = mc > 0 ? mc : 0;
+ rp->swallow_params.aspect.w = mw > 0 ? mw : 0;
+ rp->swallow_params.aspect.h = mh > 0 ? mh : 0;
+ }
}
/** Unswallow an object
@@ -957,6 +984,7 @@
EVAS_CALLBACK_FREE,
_edje_object_part_swallow_free_cb);
evas_object_clip_unset(rp->swallowed_object);
+ evas_object_data_del(rp->swallowed_object, "\377 edje.swallowing_part");
rp->swallowed_object = NULL;
rp->swallow_params.min.w = 0;
rp->swallow_params.min.h = 0;