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

Reply via email to