forked from enlightenment/efl
* 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:
parent
fb87cf2795
commit
d3a9b8307f
|
@ -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.r = r;
|
||||||
obj->cur.color.g = g;
|
obj->cur.color.g = g;
|
||||||
obj->cur.color.b = b;
|
obj->cur.color.b = b;
|
||||||
|
evas_object_clip_dirty(obj);
|
||||||
if ((obj->cur.color.a == 0) && (a == 0)) return;
|
if ((obj->cur.color.a == 0) && (a == 0)) return;
|
||||||
obj->cur.color.a = a;
|
obj->cur.color.a = a;
|
||||||
evas_object_change(obj);
|
evas_object_change(obj);
|
||||||
|
|
|
@ -172,7 +172,8 @@ evas_object_clip_recalc(Evas_Object *obj)
|
||||||
int nx, ny, nw, nh, nvis, nr, ng, nb, na;
|
int nx, ny, nw, nh, nvis, nr, ng, nb, na;
|
||||||
|
|
||||||
if (obj->layer->evas->events_frozen > 0) return;
|
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);
|
evas_object_coords_recalc(obj);
|
||||||
cx = obj->cur.geometry.x; cy = obj->cur.geometry.y;
|
cx = obj->cur.geometry.x; cy = obj->cur.geometry.y;
|
||||||
cw = obj->cur.geometry.w; ch = obj->cur.geometry.h;
|
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)
|
if (obj->cur.clipper)
|
||||||
{
|
{
|
||||||
// this causes problems... hmmm
|
// 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);
|
evas_object_clip_recalc(obj->cur.clipper);
|
||||||
nx = obj->cur.clipper->cur.cache.clip.x;
|
nx = obj->cur.clipper->cur.cache.clip.x;
|
||||||
ny = obj->cur.clipper->cur.cache.clip.y;
|
ny = obj->cur.clipper->cur.cache.clip.y;
|
||||||
|
|
Loading…
Reference in New Issue