wo... this turned out to be much more of a pain. minmul now works -

allows us to multiple a minimim size explicitly for min size calc so
we can do things like have content slide open/closed properly.



SVN revision: 67197
This commit is contained in:
Carsten Haitzler 2012-01-14 02:29:13 +00:00
parent 0ec8a5dac2
commit 2264bfe0b7
9 changed files with 118 additions and 9 deletions

View File

@ -172,6 +172,7 @@ static void st_collections_group_parts_part_description_visible(void);
static void st_collections_group_parts_part_description_align(void);
static void st_collections_group_parts_part_description_fixed(void);
static void st_collections_group_parts_part_description_min(void);
static void st_collections_group_parts_part_description_minmul(void);
static void st_collections_group_parts_part_description_max(void);
static void st_collections_group_parts_part_description_step(void);
static void st_collections_group_parts_part_description_aspect(void);
@ -434,6 +435,7 @@ New_Statement_Handler statement_handlers[] =
{"collections.group.parts.part.description.align", st_collections_group_parts_part_description_align},
{"collections.group.parts.part.description.fixed", st_collections_group_parts_part_description_fixed},
{"collections.group.parts.part.description.min", st_collections_group_parts_part_description_min},
{"collections.group.parts.part.description.minmul", st_collections_group_parts_part_description_minmul},
{"collections.group.parts.part.description.max", st_collections_group_parts_part_description_max},
{"collections.group.parts.part.description.step", st_collections_group_parts_part_description_step},
{"collections.group.parts.part.description.aspect", st_collections_group_parts_part_description_aspect},
@ -4132,6 +4134,9 @@ ob_collections_group_parts_part_description(void)
ed->map.persp_on = 0;
ed->persp.zplane = 0;
ed->persp.focal = 1000;
ed->minmul.have = 1;
ed->minmul.w = FROM_INT(1);
ed->minmul.h = FROM_INT(1);
}
/**
@ -4547,6 +4552,26 @@ st_collections_group_parts_part_description_min(void)
current_desc->min.h = parse_float_range(1, 0, 0x7fffffff);
}
/**
@page edcref
@property
minmul
@parameters
[width multipler] [height multiplier]
@effect
A multiplier FORCIBLY applied to whatever minimum size is only during
minimum size calculation.
@endproperty
*/
static void
st_collections_group_parts_part_description_minmul(void)
{
check_arg_count(2);
current_desc->minmul.w = FROM_DOUBLE(parse_float_range(0, 0, 999999));
current_desc->minmul.h = FROM_DOUBLE(parse_float_range(1, 0, 999999));
}
/**
@page edcref
@property

View File

@ -116,6 +116,7 @@ _edje_part_pos_set(Edje *ed, Edje_Real_Part *ep, int mode, FLOAT_T pos, FLOAT_T
ep->description_pos = npos;
ed->dirty = 1;
ed->recalc_call = 1;
#ifdef EDJE_CALC_CACHE
ep->invalidate = 1;
#endif
@ -572,6 +573,7 @@ _edje_part_description_apply(Edje *ed, Edje_Real_Part *ep, const char *d1, doubl
_edje_external_recalc_apply(ed, ep, NULL, chosen_desc);
ed->dirty = 1;
ed->recalc_call = 1;
#ifdef EDJE_CALC_CACHE
ep->invalidate = 1;
#endif
@ -641,9 +643,13 @@ _edje_recalc_do(Edje *ed)
ed->text_part_change = 0;
#endif
if (!ed->calc_only)
evas_object_smart_callback_call(ed->obj, "recalc", NULL);
{
if (ed->recalc_call)
evas_object_smart_callback_call(ed->obj, "recalc", NULL);
}
else
evas_object_smart_need_recalculate_set(ed->obj, need_calc);
ed->recalc_call = 0;
}
void
@ -711,6 +717,7 @@ _edje_dragable_pos_set(Edje *ed, Edje_Real_Part *ep, FLOAT_T x, FLOAT_T y)
ep->drag->tmp.x = 0;
ep->drag->need_reset = 0;
ed->dirty = 1;
ed->recalc_call = 1;
}
if (ep->drag->y != y || ep->drag->tmp.y)
@ -719,6 +726,7 @@ _edje_dragable_pos_set(Edje *ed, Edje_Real_Part *ep, FLOAT_T x, FLOAT_T y)
ep->drag->tmp.y = 0;
ep->drag->need_reset = 0;
ed->dirty = 1;
ed->recalc_call = 1;
}
#ifdef EDJE_CALC_CACHE
@ -1681,6 +1689,15 @@ _edje_part_recalc_single_min_max(FLOAT_T sc,
if (ep->swallow_params.min.w > desc->min.w)
*minw = ep->swallow_params.min.w;
if (ep->edje->calc_only)
{
if (desc->minmul.have)
{
FLOAT_T mmw = desc->minmul.w;
if (mmw != FROM_INT(1)) *minw = TO_INT(SCALE(mmw, *minw));
}
}
/* XXX TODO: remove need of EDJE_INF_MAX_W, see edje_util.c */
if ((ep->swallow_params.max.w <= 0) ||
(ep->swallow_params.max.w == EDJE_INF_MAX_W))
@ -1708,6 +1725,8 @@ _edje_part_recalc_single_min_max(FLOAT_T sc,
*maxw = ep->swallow_params.max.w;
}
}
if ((ep->edje->calc_only) && (desc->minmul.have) &&
(desc->minmul.w != FROM_INT(1))) *maxw = *minw;
if (*maxw >= 0)
{
if (*maxw < *minw) *maxw = *minw;
@ -1718,6 +1737,16 @@ _edje_part_recalc_single_min_max(FLOAT_T sc,
if (ep->swallow_params.min.h > desc->min.h)
*minh = ep->swallow_params.min.h;
if (ep->edje->calc_only)
{
if (desc->minmul.have)
{
FLOAT_T mmh = desc->minmul.h;
if (mmh != FROM_INT(1)) *minh = TO_INT(SCALE(mmh, *minh));
}
}
/* XXX TODO: remove need of EDJE_INF_MAX_H, see edje_util.c */
if ((ep->swallow_params.max.h <= 0) ||
(ep->swallow_params.max.h == EDJE_INF_MAX_H))
@ -1744,7 +1773,9 @@ _edje_part_recalc_single_min_max(FLOAT_T sc,
if (ep->swallow_params.max.h < *maxh)
*maxh = ep->swallow_params.max.h;
}
}
}
if ((ep->edje->calc_only) && (desc->minmul.have) &&
(desc->minmul.h != FROM_INT(1))) *maxh = *minh;
if (*maxh >= 0)
{
if (*maxh < *minh) *maxh = *minh;
@ -1876,7 +1907,7 @@ _edje_part_recalc_single(Edje *ed,
sc = ed->scale;
if (sc == ZERO) sc = _edje_scale;
_edje_part_recalc_single_min_max(sc, ep, desc, &minw, &minh, &maxw, &maxh);
/* relative coords of top left & bottom right */
_edje_part_recalc_single_rel(ed, ep, desc, rel1_to_x, rel1_to_y, rel2_to_x, rel2_to_y, params);
@ -2062,7 +2093,7 @@ _edje_proxy_recalc_apply(Edje *ed, Edje_Real_Part *ep, Edje_Calc_Params *p3, Edj
Edje_Real_Part *pp;
int part_id = -1;
if (pos >= 0.5)
if (pos >= FROM_DOUBLE(0.5))
part_id = ((Edje_Part_Description_Proxy*) ep->param2->description)->proxy.id;
else
part_id = chosen_desc->proxy.id;
@ -2334,7 +2365,7 @@ _edje_part_recalc(Edje *ed, Edje_Real_Part *ep, int flags, Edje_Calc_Params *sta
Edje_Real_Part *pp;
int part_id = -1;
if (pos >= 0.5)
if (pos >= FROM_DOUBLE(0.5))
part_id = ((Edje_Part_Description_Proxy*) ep->param2->description)->proxy.id;
else
part_id = ((Edje_Part_Description_Proxy*) chosen_desc)->proxy.id;
@ -2437,8 +2468,13 @@ _edje_part_recalc(Edje *ed, Edje_Real_Part *ep, int flags, Edje_Calc_Params *sta
((ep->part->type == EDJE_PART_TYPE_TEXT || ep->part->type == EDJE_PART_TYPE_TEXTBLOCK) && ed->text_part_change))
#endif
{
_edje_part_recalc_single(ed, ep, ep->param2->description, chosen_desc, center[1], light[1], persp[1],
ep->param2->rel1_to_x, ep->param2->rel1_to_y, ep->param2->rel2_to_x, ep->param2->rel2_to_y,
_edje_part_recalc_single(ed, ep, ep->param2->description,
chosen_desc,
center[1], light[1], persp[1],
ep->param2->rel1_to_x,
ep->param2->rel1_to_y,
ep->param2->rel2_to_x,
ep->param2->rel2_to_y,
confine_to,
p2, pos);
#ifdef EDJE_CALC_CACHE
@ -2486,7 +2522,7 @@ _edje_part_recalc(Edje *ed, Edje_Real_Part *ep, int flags, Edje_Calc_Params *sta
p3->req.y = INTP(p1->req.y, p2->req.y, pos);
p3->req.w = INTP(p1->req.w, p2->req.w, pos);
p3->req.h = INTP(p1->req.h, p2->req.h, pos);
if (ep->part->dragable.x)
{
p3->req_drag.x = INTP(p1->req_drag.x, p2->req_drag.x, pos);

View File

@ -134,6 +134,7 @@ _edje_mouse_down_signal_cb(void *data, Evas *e __UNUSED__, Evas_Object *obj, voi
_edje_emit(ed, buf, events->part->name);
}
ed->dirty = 1;
ed->recalc_call = 1;
#ifdef EDJE_CALC_CACHE
rp->invalidate = 1;
#endif
@ -157,6 +158,7 @@ _edje_mouse_down_signal_cb(void *data, Evas *e __UNUSED__, Evas_Object *obj, voi
rp->drag->val.y = dy;
if (!ignored)
_edje_emit(ed, "drag", rp->part->name);
ed->recalc_call = 1;
ed->dirty = 1;
#ifdef EDJE_CALC_CACHE
rp->invalidate = 1;
@ -235,6 +237,7 @@ _edje_mouse_up_signal_cb(void *data, Evas *e __UNUSED__, Evas_Object *obj, void
if (rp->drag->down.count == 0)
{
rp->drag->need_reset = 1;
ed->recalc_call = 1;
ed->dirty = 1;
#ifdef EDJE_CALC_CACHE
rp->invalidate = 1;
@ -314,6 +317,7 @@ _edje_mouse_move_signal_cb(void *data, Evas *e __UNUSED__, Evas_Object *obj, voi
rp->drag->tmp.x = ev->cur.canvas.x - rp->drag->down.x;
if (rp->part->dragable.y)
rp->drag->tmp.y = ev->cur.canvas.y - rp->drag->down.y;
ed->recalc_call = 1;
ed->dirty = 1;
#ifdef EDJE_CALC_CACHE
rp->invalidate = 1;
@ -332,6 +336,7 @@ _edje_mouse_move_signal_cb(void *data, Evas *e __UNUSED__, Evas_Object *obj, voi
rp->drag->val.y = dy;
if (!ignored)
_edje_emit(ed, "drag", rp->part->name);
ed->recalc_call = 1;
ed->dirty = 1;
#ifdef EDJE_CALC_CACHE
rp->invalidate = 1;

View File

@ -451,6 +451,9 @@ _edje_edd_init(void)
EET_DATA_DESCRIPTOR_ADD_BASIC(Edd, Type, "align.y", align.y, EDJE_T_FLOAT); \
EET_DATA_DESCRIPTOR_ADD_BASIC(Edd, Type, "fixed.w", fixed.w, EET_T_UCHAR); \
EET_DATA_DESCRIPTOR_ADD_BASIC(Edd, Type, "fixed.h", fixed.h, EET_T_UCHAR); \
EET_DATA_DESCRIPTOR_ADD_BASIC(Edd, Type, "minmul.have", minmul.have, EET_T_UCHAR); \
EET_DATA_DESCRIPTOR_ADD_BASIC(Edd, Type, "minmul.w", minmul.w, EDJE_T_FLOAT); \
EET_DATA_DESCRIPTOR_ADD_BASIC(Edd, Type, "minmul.h", minmul.h, EDJE_T_FLOAT); \
EET_DATA_DESCRIPTOR_ADD_BASIC(Edd, Type, "min.w", min.w, EET_T_INT); \
EET_DATA_DESCRIPTOR_ADD_BASIC(Edd, Type, "min.h", min.h, EET_T_INT); \
EET_DATA_DESCRIPTOR_ADD_BASIC(Edd, Type, "max.w", max.w, EET_T_INT); \

View File

@ -674,6 +674,7 @@ _edje_embryo_fn_set_min_size(Embryo_Program *ep, Embryo_Cell *params)
if (h < 0.0) h = 0.0;
ed->collection->prop.min.w = w;
ed->collection->prop.min.h = h;
ed->recalc_call = 1;
ed->dirty = 1;
#ifdef EDJE_CALC_CACHE
ed->all_part_change = 1;
@ -701,6 +702,7 @@ _edje_embryo_fn_set_max_size(Embryo_Program *ep, Embryo_Cell *params)
if (h < 0.0) h = 0.0;
ed->collection->prop.max.w = w;
ed->collection->prop.max.h = h;
ed->recalc_call = 1;
ed->dirty = 1;
#ifdef EDJE_CALC_CACHE
ed->all_part_change = 1;

View File

@ -525,7 +525,7 @@ _edje_object_file_set_internal(Evas_Object *obj, const char *file, const char *g
}
rp->swallow_params.min.w = 0;
rp->swallow_params.min.w = 0;
rp->swallow_params.min.h = 0;
rp->swallow_params.max.w = -1;
rp->swallow_params.max.h = -1;
@ -603,6 +603,7 @@ _edje_object_file_set_internal(Evas_Object *obj, const char *file, const char *g
_edje_dragable_pos_set(ed, rp, rp->drag->val.x, rp->drag->val.y);
}
}
ed->recalc_call = 1;
ed->dirty = 1;
#ifdef EDJE_CALC_CACHE
ed->all_part_change = 1;

View File

@ -835,6 +835,11 @@ struct _Edje_Part_Description_Common
unsigned char w, h; /* width or height is fixed in side (cannot expand with Edje object size) */
} fixed;
struct { // only during recalc
unsigned char have;
FLOAT_T w, h;
} minmul;
Edje_Size min, max;
Edje_Position step; /* size stepping by n pixels, 0 = none */
Edje_Aspect_Prefer aspect;
@ -1139,6 +1144,7 @@ struct _Edje
unsigned int all_part_change : 1;
#endif
unsigned int have_mapped_part : 1;
unsigned int recalc_call : 1;
};
struct _Edje_Calc_Params

View File

@ -1621,6 +1621,7 @@ _edje_param_native_set(Edje_Real_Part *rp, const char *name, const Edje_External
if (param->type != EDJE_EXTERNAL_PARAM_TYPE_DOUBLE)
return EINA_FALSE;
rp->drag->size.x = FROM_DOUBLE(CLAMP(param->d, 0.0, 1.0));
rp->edje->recalc_call = 1;
rp->edje->dirty = 1;
#ifdef EDJE_CALC_CACHE
rp->invalidate = 1;
@ -1633,6 +1634,7 @@ _edje_param_native_set(Edje_Real_Part *rp, const char *name, const Edje_External
if (param->type != EDJE_EXTERNAL_PARAM_TYPE_DOUBLE)
return EINA_FALSE;
rp->drag->size.y = FROM_DOUBLE(CLAMP(param->d, 0.0, 1.0));
rp->edje->recalc_call = 1;
rp->edje->dirty = 1;
#ifdef EDJE_CALC_CACHE
rp->invalidate = 1;

View File

@ -438,6 +438,7 @@ edje_color_class_set(const char *color_class, int r, int g, int b, int a, int r2
ed = eina_list_data_get(members);
ed->dirty = 1;
ed->recalc_call = 1;
#ifdef EDJE_CALC_CACHE
ed->all_part_change = 1;
#endif
@ -504,6 +505,7 @@ edje_color_class_del(const char *color_class)
ed = eina_list_data_get(members);
ed->dirty = 1;
ed->recalc_call = 1;
#ifdef EDJE_CALC_CACHE
ed->all_part_change = 1;
#endif
@ -583,6 +585,7 @@ edje_object_color_class_set(Evas_Object *obj, const char *color_class, int r, in
cc->b3 = b3;
cc->a3 = a3;
ed->dirty = 1;
ed->recalc_call = 1;
#ifdef EDJE_CALC_CACHE
ed->all_part_change = 1;
#endif
@ -611,6 +614,7 @@ edje_object_color_class_set(Evas_Object *obj, const char *color_class, int r, in
cc->a3 = a3;
ed->color_classes = eina_list_append(ed->color_classes, cc);
ed->dirty = 1;
ed->recalc_call = 1;
#ifdef EDJE_CALC_CACHE
ed->all_part_change = 1;
#endif
@ -693,6 +697,7 @@ edje_object_color_class_del(Evas_Object *obj, const char *color_class)
}
ed->dirty = 1;
ed->recalc_call = 1;
#ifdef EDJE_CALC_CACHE
ed->all_part_change = 1;
#endif
@ -752,6 +757,7 @@ edje_text_class_set(const char *text_class, const char *font, Evas_Font_Size siz
ed = eina_list_data_get(members);
ed->dirty = 1;
ed->recalc_call = 1;
_edje_textblock_style_all_update(ed);
#ifdef EDJE_CALC_CACHE
ed->text_part_change = 1;
@ -847,6 +853,7 @@ edje_object_text_class_set(Evas_Object *obj, const char *text_class, const char
/* Update edje */
ed->dirty = 1;
ed->recalc_call = 1;
#ifdef EDJE_CALC_CACHE
ed->text_part_change = 1;
#endif
@ -881,6 +888,7 @@ edje_object_text_class_set(Evas_Object *obj, const char *text_class, const char
/* Add to edje's text class list */
ed->text_classes = eina_list_append(ed->text_classes, tc);
ed->dirty = 1;
ed->recalc_call = 1;
#ifdef EDJE_CALC_CACHE
ed->text_part_change = 1;
#endif
@ -1005,6 +1013,7 @@ _edje_object_part_text_raw_set(Evas_Object *obj, Edje_Real_Part *rp, const char
else
if (text) rp->text.text = eina_stringshare_add(text);
rp->edje->dirty = 1;
rp->edje->recalc_call = 1;
#ifdef EDJE_CALC_CACHE
rp->invalidate = 1;
#endif
@ -1039,6 +1048,7 @@ _edje_object_part_text_raw_append(Evas_Object *obj, Edje_Real_Part *rp, const ch
}
}
rp->edje->dirty = 1;
rp->edje->recalc_call = 1;
#ifdef EDJE_CALC_CACHE
rp->invalidate = 1;
#endif
@ -1307,6 +1317,7 @@ edje_object_part_text_insert(Evas_Object *obj, const char *part, const char *tex
if (rp->part->entry_mode <= EDJE_ENTRY_EDIT_MODE_NONE) return;
_edje_entry_text_markup_insert(rp, text);
rp->edje->dirty = 1;
rp->edje->recalc_call = 1;
#ifdef EDJE_CALC_CACHE
rp->invalidate = 1;
#endif
@ -1328,6 +1339,7 @@ edje_object_part_text_append(Evas_Object *obj, const char *part, const char *tex
if ((rp->part->type != EDJE_PART_TYPE_TEXTBLOCK)) return;
_edje_object_part_text_raw_append(obj, rp, part, text);
rp->edje->dirty = 1;
rp->edje->recalc_call = 1;
#ifdef EDJE_CALC_CACHE
rp->invalidate = 1;
#endif
@ -1936,6 +1948,7 @@ _recalc_extern_parent(Evas_Object *obj)
ed = _edje_fetch(parent);
ed->dirty = 1;
ed->recalc_call = 1; // ZZZ: ???
_edje_recalc(ed);
}
@ -2227,6 +2240,7 @@ edje_object_part_unswallow(Evas_Object *obj __UNUSED__, Evas_Object *obj_swallow
rp->swallow_params.max.w = 0;
rp->swallow_params.max.h = 0;
rp->edje->dirty = 1;
rp->edje->recalc_call = 1;
#ifdef EDJE_CALC_CACHE
rp->invalidate = 1;
#endif
@ -2687,6 +2701,7 @@ edje_object_part_drag_size_set(Evas_Object *obj, const char *part, double dw, do
rp->drag->size.x = FROM_DOUBLE(dw);
rp->drag->size.y = FROM_DOUBLE(dh);
rp->edje->dirty = 1;
rp->edje->recalc_call = 1;
#ifdef EDJE_CALC_CACHE
rp->invalidate = 1;
#endif
@ -3021,6 +3036,7 @@ _edje_box_child_del_cb(void *data, Evas *e __UNUSED__, Evas_Object *child __UNUS
Edje_Real_Part *rp = data;
rp->edje->dirty = 1;
rp->edje->recalc_call = 1;
#ifdef EDJE_CALC_CACHE
rp->invalidate = 1;
#endif
@ -3034,6 +3050,7 @@ _edje_box_child_add(Edje_Real_Part *rp, Evas_Object *child)
(child, EVAS_CALLBACK_DEL, _edje_box_child_del_cb, rp);
rp->edje->dirty = 1;
rp->edje->recalc_call = 1;
#ifdef EDJE_CALC_CACHE
rp->invalidate = 1;
#endif
@ -3047,6 +3064,7 @@ _edje_box_child_remove(Edje_Real_Part *rp, Evas_Object *child)
(child, EVAS_CALLBACK_DEL, _edje_box_child_del_cb, rp);
rp->edje->dirty = 1;
rp->edje->recalc_call = 1;
#ifdef EDJE_CALC_CACHE
rp->invalidate = 1;
#endif
@ -3189,6 +3207,7 @@ _edje_table_child_del_cb(void *data, Evas *e __UNUSED__, Evas_Object *child __UN
Edje_Real_Part *rp = data;
rp->edje->dirty = 1;
rp->edje->recalc_call = 1;
#ifdef EDJE_CALC_CACHE
rp->invalidate = 1;
#endif
@ -3202,6 +3221,7 @@ _edje_table_child_add(Edje_Real_Part *rp, Evas_Object *child)
(child, EVAS_CALLBACK_DEL, _edje_table_child_del_cb, rp);
rp->edje->dirty = 1;
rp->edje->recalc_call = 1;
#ifdef EDJE_CALC_CACHE
rp->invalidate = 1;
#endif
@ -3215,6 +3235,7 @@ _edje_table_child_remove(Edje_Real_Part *rp, Evas_Object *child)
(child, EVAS_CALLBACK_DEL, _edje_table_child_del_cb, rp);
rp->edje->dirty = 1;
rp->edje->recalc_call = 1;
#ifdef EDJE_CALC_CACHE
rp->invalidate = 1;
#endif
@ -3317,6 +3338,7 @@ _edje_perspective_obj_del(void *data, __UNUSED__ Evas *e, __UNUSED__ Evas_Object
if (!ed) continue;
ed->persp = NULL;
ed->dirty = 1;
ed->recalc_call = 1;
_edje_recalc_do(ed);
}
free(ps);
@ -3370,6 +3392,7 @@ edje_perspective_set(Edje_Perspective *ps, Evas_Coord px, Evas_Coord py, Evas_Co
if (!ed->persp)
{
ed->dirty = 1;
ed->recalc_call = 1;
_edje_recalc_do(ed);
}
}
@ -3384,6 +3407,7 @@ edje_perspective_set(Edje_Perspective *ps, Evas_Coord px, Evas_Coord py, Evas_Co
if (!ed->persp)
{
ed->dirty = 1;
ed->recalc_call = 1;
_edje_recalc_do(ed);
}
}
@ -3417,6 +3441,7 @@ edje_perspective_global_set(Edje_Perspective *ps, Eina_Bool global)
if (!ed->persp)
{
ed->dirty = 1;
ed->recalc_call = 1;
_edje_recalc_do(ed);
}
}
@ -3456,6 +3481,7 @@ edje_object_perspective_set(Evas_Object *obj, Edje_Perspective *ps)
ed->persp = ps;
if (ps) ps->users = eina_list_append(ps->users, obj);
ed->dirty = 1;
ed->recalc_call = 1;
_edje_recalc_do(ed);
}
@ -4078,6 +4104,7 @@ _edje_object_part_swallow_changed_hints_cb(void *data, __UNUSED__ Evas *e, __UNU
rp = data;
_edje_real_part_swallow_hints_update(rp);
rp->edje->dirty = 1;
rp->edje->recalc_call = 1;
_edje_recalc(rp->edje);
return;
}
@ -4099,6 +4126,7 @@ _edje_real_part_swallow(Edje_Real_Part *rp,
if (hints_update)
_edje_real_part_swallow_hints_update(rp);
rp->edje->dirty = 1;
rp->edje->recalc_call = 1;
_edje_recalc(rp->edje);
return;
}
@ -4142,6 +4170,7 @@ _edje_real_part_swallow(Edje_Real_Part *rp,
evas_object_precise_is_inside_set(obj_swallow, 1);
rp->edje->dirty = 1;
rp->edje->recalc_call = 1;
_edje_recalc(rp->edje);
}