evas/evas_render - added evas_object_change_reset internal function to remove much...
authorhermet <hermet@7cbeb6ba-43b4-40fd-8cce-4c39aea84d33>
Wed, 16 May 2012 12:59:33 +0000 (12:59 +0000)
committerhermet <hermet@7cbeb6ba-43b4-40fd-8cce-4c39aea84d33>
Wed, 16 May 2012 12:59:33 +0000 (12:59 +0000)
git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/evas@71169 7cbeb6ba-43b4-40fd-8cce-4c39aea84d33

src/lib/canvas/evas_object_main.c
src/lib/canvas/evas_render.c
src/lib/include/evas_private.h

index 540a88e..b7de77b 100644 (file)
@@ -31,6 +31,17 @@ evas_object_new(Evas *e __UNUSED__)
 }
 
 void
+evas_object_change_reset(Evas_Object *obj)
+{
+   obj->changed = EINA_FALSE;
+   obj->changed_move_only = EINA_FALSE;
+   obj->changed_nomove = EINA_FALSE;
+   obj->changed_move = EINA_FALSE;
+   obj->changed_map = EINA_FALSE;
+   obj->changed_pchange = EINA_FALSE;
+}
+
+void
 evas_object_free(Evas_Object *obj, int clean_layer)
 {
    int was_smart_child = 0;
index 53ce2eb..45b0d2a 100644 (file)
@@ -593,33 +593,12 @@ pending_change(void *data, void *gdata __UNUSED__)
      {
         RD("  OBJ [%p] pending change %i -> 0, pre %i\n", obj, obj->changed, obj->pre_render_done);
         obj->pre_render_done = 0;
-        //// FIXME: this wipes out changes
-        obj->changed = 0;
-        obj->changed_move_only = 0;
-        obj->changed_nomove = 0;
-        obj->changed_move = 0;
-        obj->changed_map = 0;
-        obj->changed_pchange = 0;
+        evas_object_change_reset(obj);
      }
    return obj->changed ? EINA_TRUE : EINA_FALSE;
 }
-/*
-   static void
-   unchange(Evas_Object *obj)
-   {
-   Evas_Object *obj2;
-
-   if (!obj->changed) return;
-   obj->changed = 0;
-   obj->changed_move_only = 0;
-   obj->changed_nomove = 0;
-   obj->changed_move = 0;
-   EINA_INLIST_FOREACH(evas_object_smart_members_get_direct(obj), obj2)
-   {
-   unchange(obj2);
-   }
-   }
 
+/*
    static int
    chlist(Evas_Object *obj, int i)
    {
@@ -968,34 +947,18 @@ evas_render_mapped(Evas *e, Evas_Object *obj, void *context, void *surface,
                   if (!evas_object_is_visible(o2) &&
                       !evas_object_was_visible(o2))
                     {
-                       o2->changed = 0;
-                       o2->changed_move_only = 0;
-                       o2->changed_nomove = 0;
-                       o2->changed_move = 0;
-                       o2->changed_map = 0;
-                       o2->changed_pchange = 0;
+                       evas_object_change_reset(o2);
                        continue;
                     }
                   if (o2->changed)
                     {
                        //                       chlist(o2, 0);
                        changed = 1;
-                       o2->changed = 0;
-                       o2->changed_move_only = 0;
-                       o2->changed_nomove = 0;
-                       o2->changed_move = 0;
-                       o2->changed_map = 0;
-                       o2->changed_pchange = 0;
+                       evas_object_change_reset(o2);
                        break;
                     }
                }
-             //             unchange(obj);
-             obj->changed = 0;
-             obj->changed_move_only = 0;
-             obj->changed_nomove = 0;
-             obj->changed_move = 0;
-             obj->changed_map = 0;
-             obj->changed_pchange = 0;
+             evas_object_change_reset(obj);
           }
         else
           {
@@ -1003,12 +966,7 @@ evas_render_mapped(Evas *e, Evas_Object *obj, void *context, void *surface,
                {
                   if ((obj->changed_pchange) && (obj->changed_map))
                     changed = 1;
-                  obj->changed = 0;
-                  obj->changed_move_only = 0;
-                  obj->changed_nomove = 0;
-                  obj->changed_move = 0;
-                  obj->changed_map = 0;
-                  obj->changed_pchange = 0;
+                  evas_object_change_reset(obj);
                }
           }
 
@@ -1641,12 +1599,7 @@ evas_render_updates_internal(Evas *e,
              RD("    OBJ [%p] post... func1\n", obj);
              obj->func->render_post(obj);
              obj->restack = 0;
-             obj->changed = 0;
-             obj->changed_move_only = 0;
-             obj->changed_nomove = 0;
-             obj->changed_move = 0;
-             obj->changed_map = 0;
-             obj->changed_pchange = 0;
+             evas_object_change_reset(obj);
           }
         else if ((obj->cur.map != obj->prev.map) ||
                  (obj->cur.usemap != obj->prev.usemap))
@@ -1654,12 +1607,7 @@ evas_render_updates_internal(Evas *e,
              RD("    OBJ [%p] post... func2\n", obj);
              obj->func->render_post(obj);
              obj->restack = 0;
-             obj->changed = 0;
-             obj->changed_move_only = 0;
-             obj->changed_nomove = 0;
-             obj->changed_move = 0;
-             obj->changed_map = 0;
-             obj->changed_pchange = 0;
+             evas_object_change_reset(obj);
           }
         /* moved to other pre-process phase 1
            if (obj->delete_me == 2)
index 8acd338..8d9e7cb 100644 (file)
@@ -892,6 +892,7 @@ extern "C" {
 #endif
 
 Evas_Object *evas_object_new(Evas *e);
+void evas_object_change_reset(Evas_Object *obj);
 void evas_object_free(Evas_Object *obj, int clean_layer);
 void evas_object_update_bounding_box(Evas_Object *obj);
 void evas_object_inject(Evas_Object *obj, Evas *e);