edje: fix scale set on box and table

SVN revision: 78517
This commit is contained in:
Michael BOUCHAUD 2012-10-26 10:15:35 +00:00
parent a9c0f6ce8e
commit 56f5ad6e4b
3 changed files with 20 additions and 0 deletions

View File

@ -659,3 +659,7 @@
* Edje: change Edje to use Eo.
This change adds Eo support to Edje while keeping the old API intact.
For more information, go to Eo.
2012-10-26 Michael Bouchaud (yoz)
* fix edje_object_scale_set with edje containing boxes and/or tables

View File

@ -23,6 +23,8 @@ Improvements:
* Lua 5.2 support added, still works fine with 5.1.
Fixes:
* fix scale_set with edje containing boxes and/or tables
* fix scale_set with edje containing groups
Edje 1.7.0

View File

@ -366,6 +366,7 @@ _scale_set(Eo *obj, void *_pd, va_list *list)
Edje *ed, *ged;
Evas_Object *o;
Eina_List *l;
int i;
ed = _pd;
if (ed->scale == scale) return;
@ -374,6 +375,19 @@ _scale_set(Eo *obj, void *_pd, va_list *list)
ged->scale = ed->scale;
EINA_LIST_FOREACH(ed->subobjs, l, o)
edje_object_calc_force(o);
for(i = 0; i < ed->table_parts_size; ++i)
{
Edje_Real_Part *ep;
ep = ed->table_parts[i];
if ((ep->part->type == EDJE_PART_TYPE_BOX)
|| (ep->part->type == EDJE_PART_TYPE_TABLE))
{
Eina_List *l;
Evas_Object *o;
EINA_LIST_FOREACH(ep->typedata.container->items, l, o)
edje_object_scale_set(o, scale);
}
}
edje_object_calc_force(obj);
}