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

Reply via email to