forked from enlightenment/efl
only clear and re-apply gradients when the spectrum actually changes
SVN revision: 30065
This commit is contained in:
parent
65ec1b5633
commit
8a17d1986e
|
@ -1339,7 +1339,7 @@ _edje_part_recalc(Edje *ed, Edje_Real_Part *ep, int flags)
|
||||||
if (p3.gradient.type && p3.gradient.type[0])
|
if (p3.gradient.type && p3.gradient.type[0])
|
||||||
evas_object_gradient_type_set(ep->object, p3.gradient.type, NULL);
|
evas_object_gradient_type_set(ep->object, p3.gradient.type, NULL);
|
||||||
|
|
||||||
if (ed->file->spectrum_dir && ed->file->spectrum_dir->entries)
|
if (ed->file->spectrum_dir && ed->file->spectrum_dir->entries && p3.gradient.id != ep->gradient_id)
|
||||||
{
|
{
|
||||||
Edje_Spectrum_Directory_Entry *se;
|
Edje_Spectrum_Directory_Entry *se;
|
||||||
Evas_List *l;
|
Evas_List *l;
|
||||||
|
@ -1347,7 +1347,6 @@ _edje_part_recalc(Edje *ed, Edje_Real_Part *ep, int flags)
|
||||||
se = evas_list_nth(ed->file->spectrum_dir->entries, p3.gradient.id);
|
se = evas_list_nth(ed->file->spectrum_dir->entries, p3.gradient.id);
|
||||||
if (se)
|
if (se)
|
||||||
{
|
{
|
||||||
// XXX only do this if we NEED to (e.g. gradient changed)
|
|
||||||
evas_object_gradient_clear(ep->object);
|
evas_object_gradient_clear(ep->object);
|
||||||
for (l = se->color_list; l; l = l->next)
|
for (l = se->color_list; l; l = l->next)
|
||||||
{
|
{
|
||||||
|
@ -1358,6 +1357,7 @@ _edje_part_recalc(Edje *ed, Edje_Real_Part *ep, int flags)
|
||||||
evas_object_gradient_alpha_stop_add(ep->object,
|
evas_object_gradient_alpha_stop_add(ep->object,
|
||||||
sc->a, sc->d);
|
sc->a, sc->d);
|
||||||
}
|
}
|
||||||
|
ep->gradient_id = p3.gradient.id;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -145,6 +145,7 @@ edje_object_file_set(Evas_Object *obj, const char *file, const char *part)
|
||||||
}
|
}
|
||||||
rp->drag.step.x = ep->dragable.step_x;
|
rp->drag.step.x = ep->dragable.step_x;
|
||||||
rp->drag.step.y = ep->dragable.step_y;
|
rp->drag.step.y = ep->dragable.step_y;
|
||||||
|
rp->gradient_id = -1;
|
||||||
}
|
}
|
||||||
if (n > 0)
|
if (n > 0)
|
||||||
{
|
{
|
||||||
|
|
|
@ -674,6 +674,9 @@ struct _Edje_Real_Part
|
||||||
Edje_Real_Part *source;
|
Edje_Real_Part *source;
|
||||||
Edje_Real_Part *text_source;
|
Edje_Real_Part *text_source;
|
||||||
} text;
|
} text;
|
||||||
|
|
||||||
|
int gradient_id;
|
||||||
|
|
||||||
double description_pos;
|
double description_pos;
|
||||||
Edje_Part_Description *chosen_description;
|
Edje_Part_Description *chosen_description;
|
||||||
struct {
|
struct {
|
||||||
|
|
Loading…
Reference in New Issue