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. * Edje: change Edje to use Eo.
This change adds Eo support to Edje while keeping the old API intact. This change adds Eo support to Edje while keeping the old API intact.
For more information, go to Eo. 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. * Lua 5.2 support added, still works fine with 5.1.
Fixes: Fixes:
* fix scale_set with edje containing boxes and/or tables
* fix scale_set with edje containing groups
Edje 1.7.0 Edje 1.7.0

View File

@ -366,6 +366,7 @@ _scale_set(Eo *obj, void *_pd, va_list *list)
Edje *ed, *ged; Edje *ed, *ged;
Evas_Object *o; Evas_Object *o;
Eina_List *l; Eina_List *l;
int i;
ed = _pd; ed = _pd;
if (ed->scale == scale) return; if (ed->scale == scale) return;
@ -374,6 +375,19 @@ _scale_set(Eo *obj, void *_pd, va_list *list)
ged->scale = ed->scale; ged->scale = ed->scale;
EINA_LIST_FOREACH(ed->subobjs, l, o) EINA_LIST_FOREACH(ed->subobjs, l, o)
edje_object_calc_force(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); edje_object_calc_force(obj);
} }