forked from enlightenment/efl
parent
9a55bdf25f
commit
7512a58ace
|
@ -784,6 +784,7 @@ edje_object_part_swallow(Evas_Object *obj, const char *part, Evas_Object *obj_sw
|
||||||
EVAS_CALLBACK_FREE,
|
EVAS_CALLBACK_FREE,
|
||||||
_edje_object_part_swallow_free_cb);
|
_edje_object_part_swallow_free_cb);
|
||||||
evas_object_clip_unset(rp->swallowed_object);
|
evas_object_clip_unset(rp->swallowed_object);
|
||||||
|
evas_object_data_del(rp->swallowed_object, "\377 edje.swallowing_part");
|
||||||
rp->swallowed_object = NULL;
|
rp->swallowed_object = NULL;
|
||||||
}
|
}
|
||||||
if (!obj_swallow) return;
|
if (!obj_swallow) return;
|
||||||
|
@ -842,11 +843,25 @@ edje_object_part_swallow(Evas_Object *obj, const char *part, Evas_Object *obj_sw
|
||||||
rp->swallow_params.aspect.mode = am;
|
rp->swallow_params.aspect.mode = am;
|
||||||
rp->swallow_params.aspect.w = aw;
|
rp->swallow_params.aspect.w = aw;
|
||||||
rp->swallow_params.aspect.h = ah;
|
rp->swallow_params.aspect.h = ah;
|
||||||
|
evas_object_data_set(rp->swallowed_object, "\377 edje.swallowing_part", rp);
|
||||||
}
|
}
|
||||||
ed->dirty = 1;
|
ed->dirty = 1;
|
||||||
_edje_recalc(ed);
|
_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
|
/** Set the object minimum size
|
||||||
* @param obj A valid Evas_Object handle
|
* @param obj A valid Evas_Object handle
|
||||||
* @param minw The minimum width
|
* @param minw The minimum width
|
||||||
|
@ -858,6 +873,7 @@ EAPI void
|
||||||
edje_extern_object_min_size_set(Evas_Object *obj, Evas_Coord minw, Evas_Coord minh)
|
edje_extern_object_min_size_set(Evas_Object *obj, Evas_Coord minw, Evas_Coord minh)
|
||||||
{
|
{
|
||||||
int mw, mh;
|
int mw, mh;
|
||||||
|
Edje_Real_Part *rp;
|
||||||
|
|
||||||
mw = minw;
|
mw = minw;
|
||||||
mh = minh;
|
mh = minh;
|
||||||
|
@ -871,6 +887,15 @@ edje_extern_object_min_size_set(Evas_Object *obj, Evas_Coord minw, Evas_Coord mi
|
||||||
evas_object_data_set(obj, "\377 edje.minh", (void *)mh);
|
evas_object_data_set(obj, "\377 edje.minh", (void *)mh);
|
||||||
else
|
else
|
||||||
evas_object_data_del(obj, "\377 edje.minh");
|
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
|
/** Set the object maximum size
|
||||||
|
@ -884,6 +909,7 @@ EAPI void
|
||||||
edje_extern_object_max_size_set(Evas_Object *obj, Evas_Coord maxw, Evas_Coord maxh)
|
edje_extern_object_max_size_set(Evas_Object *obj, Evas_Coord maxw, Evas_Coord maxh)
|
||||||
{
|
{
|
||||||
int mw, mh;
|
int mw, mh;
|
||||||
|
Edje_Real_Part *rp;
|
||||||
|
|
||||||
mw = maxw;
|
mw = maxw;
|
||||||
mh = maxh;
|
mh = maxh;
|
||||||
|
@ -895,6 +921,15 @@ edje_extern_object_max_size_set(Evas_Object *obj, Evas_Coord maxw, Evas_Coord ma
|
||||||
evas_object_data_set(obj, "\377 edje.maxh", (void *)mh);
|
evas_object_data_set(obj, "\377 edje.maxh", (void *)mh);
|
||||||
else
|
else
|
||||||
evas_object_data_del(obj, "\377 edje.maxh");
|
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
|
/** Set the object aspect size
|
||||||
|
@ -913,6 +948,7 @@ edje_extern_object_aspect_set(Evas_Object *obj, Edje_Aspect_Control aspect, Evas
|
||||||
{
|
{
|
||||||
int mw, mh;
|
int mw, mh;
|
||||||
int mc;
|
int mc;
|
||||||
|
Edje_Real_Part *rp;
|
||||||
|
|
||||||
mc = aspect;
|
mc = aspect;
|
||||||
mw = aw;
|
mw = aw;
|
||||||
|
@ -929,6 +965,16 @@ edje_extern_object_aspect_set(Evas_Object *obj, Edje_Aspect_Control aspect, Evas
|
||||||
evas_object_data_set(obj, "\377 edje.asph", (void *)mh);
|
evas_object_data_set(obj, "\377 edje.asph", (void *)mh);
|
||||||
else
|
else
|
||||||
evas_object_data_del(obj, "\377 edje.asph");
|
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
|
/** Unswallow an object
|
||||||
|
@ -957,6 +1003,7 @@ edje_object_part_unswallow(Evas_Object *obj, Evas_Object *obj_swallow)
|
||||||
EVAS_CALLBACK_FREE,
|
EVAS_CALLBACK_FREE,
|
||||||
_edje_object_part_swallow_free_cb);
|
_edje_object_part_swallow_free_cb);
|
||||||
evas_object_clip_unset(rp->swallowed_object);
|
evas_object_clip_unset(rp->swallowed_object);
|
||||||
|
evas_object_data_del(rp->swallowed_object, "\377 edje.swallowing_part");
|
||||||
rp->swallowed_object = NULL;
|
rp->swallowed_object = NULL;
|
||||||
rp->swallow_params.min.w = 0;
|
rp->swallow_params.min.w = 0;
|
||||||
rp->swallow_params.min.h = 0;
|
rp->swallow_params.min.h = 0;
|
||||||
|
|
Loading…
Reference in New Issue