Enlightenment CVS committal Author : raster Project : e17 Module : libs/evas
Dir : e17/libs/evas/src/lib/canvas Modified Files: evas_clip.c evas_events.c evas_object_main.c Log Message: engage seems to be generating clip weirdness - testing to see if the clip changes are it - catalyst? :) does it work now? =================================================================== RCS file: /cvsroot/enlightenment/e17/libs/evas/src/lib/canvas/evas_clip.c,v retrieving revision 1.20 retrieving revision 1.21 diff -u -3 -r1.20 -r1.21 --- evas_clip.c 30 Jul 2005 06:12:27 -0000 1.20 +++ evas_clip.c 30 Jul 2005 09:52:53 -0000 1.21 @@ -6,14 +6,9 @@ { int cx, cy, cw, ch, cvis, cr, cg, cb, ca; int nx, ny, nw, nh, nvis, nr, ng, nb, na; - // FIXME: This shouldn't be necessary as frozen checks should happen at a - // higher level. - // if (obj->layer->evas->events_frozen > 0) return; - - /* Skip coord recalc on smart object and invalid output */ - if ((!obj->smart.smart) && - (obj->cur.cache.geometry.validity != obj->layer->evas->output_validity)) - evas_object_coords_recalc(obj); + + if (obj->layer->evas->events_frozen > 0) return; + evas_object_coords_recalc(obj); cx = obj->cur.cache.geometry.x; cy = obj->cur.cache.geometry.y; cw = obj->cur.cache.geometry.w; ch = obj->cur.cache.geometry.h; if (obj->cur.color.a == 0) cvis = 0; @@ -22,8 +17,8 @@ cb = obj->cur.color.b; ca = obj->cur.color.a; if (obj->cur.clipper) { - /* Don't recalculate clean clipper */ - if (obj->cur.clipper->cur.cache.clip.dirty) +// this causes problems... hmmm +// 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; @@ -52,12 +47,6 @@ obj->cur.cache.clip.b = cb; obj->cur.cache.clip.a = ca; obj->cur.cache.clip.dirty = 0; - if (cvis) - { - Evas_List *l; - for (l = obj->clip.clipees; l; l = l->next) - evas_object_clip_dirty(l->data); - } } void @@ -66,6 +55,8 @@ Evas_List *l; obj->cur.cache.clip.dirty = 1; + for (l = obj->clip.clipees; l; l = l->next) + evas_object_clip_dirty(l->data); } void @@ -73,10 +64,10 @@ { Evas_List *l; - evas_object_clip_recalc(obj); - for (l = obj->clip.clipees; l; l = l->next) + if (obj->cur.cache.clip.dirty) { - if (obj->cur.cache.clip.dirty) + evas_object_clip_recalc(obj); + for (l = obj->clip.clipees; l; l = l->next) evas_object_recalc_clippees(l->data); } } @@ -202,8 +193,7 @@ clip->clip.clipees = evas_list_append(clip->clip.clipees, obj); evas_object_change(obj); evas_object_clip_dirty(obj); - if ((!obj->layer->evas->events_frozen) && (obj->cur.cache.clip.dirty)) - evas_object_recalc_clippees(obj); + evas_object_recalc_clippees(obj); if (!obj->smart.smart) { if (evas_object_is_in_output_rect(obj, @@ -291,8 +281,7 @@ obj->cur.clipper = NULL; evas_object_change(obj); evas_object_clip_dirty(obj); - if (!obj->layer->evas->events_frozen && obj->cur.cache.clip.dirty) - evas_object_recalc_clippees(obj); + evas_object_recalc_clippees(obj); if (!obj->smart.smart) { if (evas_object_is_in_output_rect(obj, =================================================================== RCS file: /cvsroot/enlightenment/e17/libs/evas/src/lib/canvas/evas_events.c,v retrieving revision 1.37 retrieving revision 1.38 diff -u -3 -r1.37 -r1.38 --- evas_events.c 29 Jul 2005 07:46:22 -0000 1.37 +++ evas_events.c 30 Jul 2005 09:52:53 -0000 1.38 @@ -40,6 +40,8 @@ if (obj == stop) goto done; if ((!evas_event_passes_through(obj)) && (!obj->smart.smart)) { +// FIXME: i don't think we need this +// evas_object_clip_recalc(obj); if ((evas_object_is_in_output_rect(obj, x, y, 1, 1)) && (obj->cur.visible) && (obj->delete_me == 0) && @@ -138,8 +140,8 @@ Evas_Object *obj; obj = (Evas_Object *)l2; - if (obj->cur.cache.clip.dirty) - evas_object_recalc_clippees(obj); + evas_object_clip_recalc(obj); + evas_object_recalc_clippees(obj); } } } =================================================================== RCS file: /cvsroot/enlightenment/e17/libs/evas/src/lib/canvas/evas_object_main.c,v retrieving revision 1.32 retrieving revision 1.33 diff -u -3 -r1.32 -r1.33 --- evas_object_main.c 29 Jul 2005 07:46:22 -0000 1.32 +++ evas_object_main.c 30 Jul 2005 09:52:53 -0000 1.33 @@ -275,10 +275,9 @@ void evas_object_coords_recalc(Evas_Object *obj) { - // FIXME: Check before entering - // if (obj->smart.smart) return; - // if (obj->cur.cache.geometry.validity == obj->layer->evas->output_validity) - // return; + if (obj->smart.smart) return; + if (obj->cur.cache.geometry.validity == obj->layer->evas->output_validity) + return; obj->cur.cache.geometry.x = evas_coord_world_x_to_screen(obj->layer->evas, obj->cur.geometry.x); obj->cur.cache.geometry.y = @@ -483,6 +482,7 @@ evas_object_clip_dirty(obj); if (obj->layer->evas->events_frozen != 0) { + evas_object_recalc_clippees(obj); if (!pass) { if (!obj->smart.smart) @@ -499,8 +499,6 @@ } } } - else if (obj->cur.cache.clip.dirty) - evas_object_recalc_clippees(obj); evas_object_inform_call_move(obj); } @@ -546,6 +544,7 @@ obj->cur.cache.geometry.validity = 0; evas_object_change(obj); evas_object_clip_dirty(obj); + evas_object_recalc_clippees(obj); if (obj->layer->evas->events_frozen != 0) { // if (obj->func->coords_recalc) obj->func->coords_recalc(obj); @@ -565,8 +564,6 @@ } } } - else if (obj->cur.cache.clip.dirty) - evas_object_recalc_clippees(obj); evas_object_inform_call_resize(obj); } @@ -639,6 +636,7 @@ evas_object_clip_dirty(obj); if (obj->layer->evas->events_frozen != 0) { + evas_object_recalc_clippees(obj); if (!evas_event_passes_through(obj)) { if (!obj->smart.smart) @@ -654,8 +652,6 @@ } } } - else if (obj->cur.cache.clip.dirty) - evas_object_recalc_clippees(obj); evas_object_inform_call_show(obj); } @@ -687,6 +683,7 @@ evas_object_clip_dirty(obj); if (obj->layer->evas->events_frozen != 0) { + evas_object_recalc_clippees(obj); if (!evas_event_passes_through(obj)) { if (!obj->smart.smart) @@ -734,8 +731,6 @@ } } } - else if (obj->cur.cache.clip.dirty) - evas_object_recalc_clippees(obj); evas_object_inform_call_hide(obj); } ------------------------------------------------------- SF.Net email is sponsored by: Discover Easy Linux Migration Strategies from IBM. Find simple to follow Roadmaps, straightforward articles, informative Webcasts and more! Get everything you need to get up to speed, fast. http://ads.osdn.com/?ad_id=7477&alloc_id=16492&op=click _______________________________________________ enlightenment-cvs mailing list enlightenment-cvs@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs