* evas: This patch reintroduce the use of cache for clip. I don't know

why it was disable the first time, so it could lead to some graphic bug.
	Please report any strange behaviour.

	*WARNING* This could really introduce some visual bug.



SVN revision: 39940
This commit is contained in:
Cedric BAIL 2009-04-10 15:14:40 +00:00
parent fb87cf2795
commit d3a9b8307f
2 changed files with 4 additions and 2 deletions

View File

@ -1202,6 +1202,7 @@ evas_object_color_set(Evas_Object *obj, int r, int g, int b, int a)
obj->cur.color.r = r;
obj->cur.color.g = g;
obj->cur.color.b = b;
evas_object_clip_dirty(obj);
if ((obj->cur.color.a == 0) && (a == 0)) return;
obj->cur.color.a = a;
evas_object_change(obj);

View File

@ -172,7 +172,8 @@ evas_object_clip_recalc(Evas_Object *obj)
int nx, ny, nw, nh, nvis, nr, ng, nb, na;
if (obj->layer->evas->events_frozen > 0) return;
// if (!obj->cur.clipper->cur.cache.clip.dirty) return;
if (!(obj->cur.clipper == NULL || obj->cur.clipper->cur.cache.clip.dirty)
&& !obj->cur.cache.clip.dirty) return;
evas_object_coords_recalc(obj);
cx = obj->cur.geometry.x; cy = obj->cur.geometry.y;
cw = obj->cur.geometry.w; ch = obj->cur.geometry.h;
@ -185,7 +186,7 @@ evas_object_clip_recalc(Evas_Object *obj)
if (obj->cur.clipper)
{
// this causes problems... hmmm
// if (obj->cur.clipper->cur.cache.clip.dirty)
if (obj->cur.clipper->cur.cache.clip.dirty)
evas_object_clip_recalc(obj->cur.clipper);
nx = obj->cur.clipper->cur.cache.clip.x;
ny = obj->cur.clipper->cur.cache.clip.y;