fix moving edje obj aroudn with maps in it.
SVN revision: 46385
This commit is contained in:
parent
1ddbe5c5b1
commit
79b6821f90
|
@ -221,10 +221,8 @@ _edje_recalc_do(Edje *ed)
|
|||
|
||||
ed->postponed = 0;
|
||||
evas_object_smart_need_recalculate_set(ed->obj, 0);
|
||||
if (!ed->dirty)
|
||||
{
|
||||
return;
|
||||
}
|
||||
if (!ed->dirty) return;
|
||||
ed->have_mapped_part = 0;
|
||||
ed->dirty = 0;
|
||||
ed->state++;
|
||||
for (i = 0; i < ed->table_parts_size; i++)
|
||||
|
@ -250,6 +248,12 @@ _edje_recalc_do(Edje *ed)
|
|||
#endif
|
||||
}
|
||||
|
||||
void
|
||||
_edje_part_recalc_1(Edje *ed, Edje_Real_Part *ep)
|
||||
{
|
||||
_edje_part_recalc(ed, ep, FLAG_XY);
|
||||
}
|
||||
|
||||
int
|
||||
_edje_part_dragable_calc(Edje *ed, Edje_Real_Part *ep, FLOAT_T *x, FLOAT_T *y)
|
||||
{
|
||||
|
@ -2032,6 +2036,7 @@ _edje_part_recalc(Edje *ed, Edje_Real_Part *ep, int flags)
|
|||
if (ep->param2) desc2 = ep->param2->description;
|
||||
pos = ep->description_pos;
|
||||
|
||||
ed->have_mapped_part = 1;
|
||||
// create map and populate with part geometry
|
||||
map = evas_map_new(4);
|
||||
evas_map_util_points_populate_from_geometry
|
||||
|
|
|
@ -832,6 +832,7 @@ struct _Edje
|
|||
unsigned int text_part_change : 1;
|
||||
unsigned int all_part_change : 1;
|
||||
#endif
|
||||
unsigned int have_mapped_part : 1;
|
||||
lua_State *L;
|
||||
};
|
||||
|
||||
|
@ -1215,6 +1216,7 @@ Edje_Part_Description *_edje_part_description_find(Edje *ed, Edje_Real_Part *rp,
|
|||
void _edje_part_description_apply(Edje *ed, Edje_Real_Part *ep, const char *d1, double v1, const char *d2, double v2);
|
||||
void _edje_recalc(Edje *ed);
|
||||
void _edje_recalc_do(Edje *ed);
|
||||
void _edje_part_recalc_1(Edje *ed, Edje_Real_Part *ep);
|
||||
int _edje_part_dragable_calc(Edje *ed, Edje_Real_Part *ep, FLOAT_T *x, FLOAT_T *y);
|
||||
void _edje_dragable_pos_set(Edje *ed, Edje_Real_Part *ep, FLOAT_T x, FLOAT_T y);
|
||||
|
||||
|
|
|
@ -122,26 +122,34 @@ _edje_smart_move(Evas_Object * obj, Evas_Coord x, Evas_Coord y)
|
|||
return;
|
||||
}
|
||||
if (_edje_lua_script_only(ed))
|
||||
{
|
||||
_edje_lua_script_only_move(ed);
|
||||
return;
|
||||
}
|
||||
|
||||
for (i = 0; i < ed->table_parts_size; i++)
|
||||
{
|
||||
Edje_Real_Part *ep;
|
||||
Evas_Coord ox, oy;
|
||||
_edje_lua_script_only_move(ed);
|
||||
return;
|
||||
}
|
||||
|
||||
ep = ed->table_parts[i];
|
||||
evas_object_geometry_get(ep->object, &ox, &oy, NULL, NULL);
|
||||
evas_object_move(ep->object, ed->x + ep->x + ep->text.offset.x, ed->y + ep->y + ep->text.offset.y);
|
||||
if (ep->part->entry_mode > EDJE_ENTRY_EDIT_MODE_NONE)
|
||||
_edje_entry_real_part_configure(ep);
|
||||
if (ep->swallowed_object)
|
||||
{
|
||||
evas_object_geometry_get(ep->swallowed_object, &ox, &oy, NULL, NULL);
|
||||
evas_object_move(ep->swallowed_object, ed->x + ep->x + ep->text.offset.x, ed->y + ep->y + ep->text.offset.y);
|
||||
}
|
||||
if (ed->have_mapped_part)
|
||||
{
|
||||
ed->dirty = 1;
|
||||
_edje_recalc_do(ed);
|
||||
}
|
||||
else
|
||||
{
|
||||
for (i = 0; i < ed->table_parts_size; i++)
|
||||
{
|
||||
Edje_Real_Part *ep;
|
||||
Evas_Coord ox, oy;
|
||||
|
||||
ep = ed->table_parts[i];
|
||||
evas_object_geometry_get(ep->object, &ox, &oy, NULL, NULL);
|
||||
evas_object_move(ep->object, ed->x + ep->x + ep->text.offset.x, ed->y + ep->y + ep->text.offset.y);
|
||||
if (ep->part->entry_mode > EDJE_ENTRY_EDIT_MODE_NONE)
|
||||
_edje_entry_real_part_configure(ep);
|
||||
if (ep->swallowed_object)
|
||||
{
|
||||
evas_object_geometry_get(ep->swallowed_object, &ox, &oy, NULL, NULL);
|
||||
evas_object_move(ep->swallowed_object, ed->x + ep->x + ep->text.offset.x, ed->y + ep->y + ep->text.offset.y);
|
||||
}
|
||||
}
|
||||
}
|
||||
// _edje_emit(ed, "move", NULL);
|
||||
}
|
||||
|
@ -191,10 +199,10 @@ _edje_smart_show(Evas_Object * obj)
|
|||
return;
|
||||
}
|
||||
if (_edje_lua_script_only(ed))
|
||||
{
|
||||
_edje_lua_script_only_show(ed);
|
||||
return;
|
||||
}
|
||||
{
|
||||
_edje_lua_script_only_show(ed);
|
||||
return;
|
||||
}
|
||||
_edje_emit(ed, "show", NULL);
|
||||
}
|
||||
|
||||
|
@ -214,10 +222,10 @@ _edje_smart_hide(Evas_Object * obj)
|
|||
return;
|
||||
}
|
||||
if (_edje_lua_script_only(ed))
|
||||
{
|
||||
_edje_lua_script_only_hide(ed);
|
||||
return;
|
||||
}
|
||||
{
|
||||
_edje_lua_script_only_hide(ed);
|
||||
return;
|
||||
}
|
||||
_edje_emit(ed, "hide", NULL);
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue