forked from enlightenment/efl
evas/evas_render - and should update the mapped objects when their color is changed since color should be multiplied again.
SVN revision: 71226
This commit is contained in:
parent
03995b4e98
commit
2a9f42c47e
|
@ -35,6 +35,7 @@ evas_object_change_reset(Evas_Object *obj)
|
|||
{
|
||||
obj->changed = EINA_FALSE;
|
||||
obj->changed_move = EINA_FALSE;
|
||||
obj->changed_color = EINA_FALSE;
|
||||
obj->changed_map = EINA_FALSE;
|
||||
obj->changed_pchange = EINA_FALSE;
|
||||
}
|
||||
|
@ -94,7 +95,6 @@ evas_object_change(Evas_Object *obj)
|
|||
|
||||
if (obj->changed) return;
|
||||
|
||||
// obj->changed = EINA_TRUE;
|
||||
evas_render_object_recalc(obj);
|
||||
/* set changed flag on all objects this one clips too */
|
||||
if (!((movch) && (obj->is_static_clip)))
|
||||
|
@ -1264,8 +1264,10 @@ evas_object_color_set(Evas_Object *obj, int r, int g, int b, int a)
|
|||
obj->cur.color.g = g;
|
||||
obj->cur.color.b = b;
|
||||
evas_object_clip_dirty(obj);
|
||||
|
||||
if ((obj->cur.color.a == 0) && (a == 0) && (obj->cur.render_op == EVAS_RENDER_BLEND)) return;
|
||||
obj->cur.color.a = a;
|
||||
obj->changed_color = EINA_TRUE;
|
||||
evas_object_change(obj);
|
||||
}
|
||||
|
||||
|
|
|
@ -931,17 +931,16 @@ evas_render_mapped(Evas *e, Evas_Object *obj, void *context, void *surface,
|
|||
break;
|
||||
}
|
||||
}
|
||||
if (obj->changed_color) changed = EINA_TRUE;
|
||||
evas_object_change_reset(obj);
|
||||
}
|
||||
else
|
||||
else if (obj->changed)
|
||||
{
|
||||
if (obj->changed)
|
||||
{
|
||||
if ((obj->changed_pchange) && (obj->changed_map))
|
||||
if (((obj->changed_pchange) && (obj->changed_map)) ||
|
||||
(obj->changed_color))
|
||||
changed = EINA_TRUE;
|
||||
evas_object_change_reset(obj);
|
||||
}
|
||||
}
|
||||
|
||||
// clear surface before re-render
|
||||
if ((changed) && (obj->cur.map->surface))
|
||||
|
|
|
@ -616,6 +616,7 @@ struct _Evas_Object
|
|||
|
||||
Eina_Bool changed : 1;
|
||||
Eina_Bool changed_move : 1;
|
||||
Eina_Bool changed_color : 1;
|
||||
Eina_Bool changed_map : 1;
|
||||
Eina_Bool changed_pchange : 1;
|
||||
Eina_Bool del_ref : 1;
|
||||
|
|
Loading…
Reference in New Issue