On 3/29/07, Gustavo Sverzut Barbieri <[EMAIL PROTECTED]> wrote:
Re-sending the patch. For some weird reason they weren't sent,
although my Gmail says so :-(
3rd time, seems that Gmail understands .patch as octet-stream. This
time is .diff and text/plain.
--
Gustavo Sverzut Barbieri
--------------------------------------
Jabber: [EMAIL PROTECTED]
MSN: [EMAIL PROTECTED]
ICQ#: 17249123
Skype: gsbarbieri
Mobile: +55 (81) 9927 0010
diff -ur edje.orig/src/lib/edje_util.c edje.patch_extern/src/lib/edje_util.c
--- edje.orig/src/lib/edje_util.c 2007-03-01 19:39:01.000000000 -0300
+++ edje.patch_extern/src/lib/edje_util.c 2007-03-28 18:31:42.000000000
-0300
@@ -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,11 +843,25 @@
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);
}
+static void
+_recalc_extern_parent(Evas_Object *obj)
+{
+ Evas_Object *parent;
+ Edje *ed;
+
+ parent = evas_object_smart_parent_get(obj);
+ ed = _edje_fetch(parent);
+
+ ed->dirty = 1;
+ _edje_recalc(ed);
+}
+
/** Set the object minimum size
* @param obj A valid Evas_Object handle
* @param minw The minimum width
@@ -858,6 +873,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 +887,15 @@
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;
+
+ _recalc_extern_parent(obj);
+ }
}
/** Set the object maximum size
@@ -884,6 +909,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 +921,15 @@
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;
+
+ _recalc_extern_parent(obj);
+ }
}
/** Set the object aspect size
@@ -913,6 +948,7 @@
{
int mw, mh;
int mc;
+ Edje_Real_Part *rp;
mc = aspect;
mw = aw;
@@ -929,6 +965,16 @@
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;
+
+ _recalc_extern_parent(obj);
+ }
}
/** Unswallow an object
@@ -957,6 +1003,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;
-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys-and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
_______________________________________________
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel