Can someone describe the clip weirdness? Does it happen when in the engage app or module?
On 7/30/05, [email protected] <[email protected]> wrote: > 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 > [email protected] > https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs > ------------------------------------------------------- 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_idt77&alloc_id492&op=click _______________________________________________ enlightenment-devel mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
