evas - code refactoring.
authorChunEon Park <hermet@hermet.pe.kr>
Mon, 25 Nov 2013 07:05:12 +0000 (16:05 +0900)
committerChunEon Park <hermet@hermet.pe.kr>
Mon, 25 Nov 2013 07:06:03 +0000 (16:06 +0900)
merge duplicated(almost) functions to one.

src/lib/evas/canvas/evas_object_smart.c
src/lib/evas/canvas/evas_render.c

index 194ed35..6a49c4d 100644 (file)
@@ -1218,48 +1218,31 @@ _smart_changed(Eo *eo_obj, void *_pd EINA_UNUSED, va_list *list EINA_UNUSED)
    eo_do(eo_obj, evas_obj_smart_need_recalculate_set(1));
 }
 
-static Eina_Bool
-_smart_members_changed_check(Evas_Object *eo_obj, Evas_Object_Protected_Data *obj)
+Eina_Bool
+evas_object_smart_changed_get(Evas_Object *eo_obj)
 {
+   Evas_Object_Protected_Data *obj = eo_data_scope_get(eo_obj, EVAS_OBJ_CLASS);
    Evas_Object_Protected_Data *o2;
 
    if (!evas_object_is_visible(eo_obj, obj) &&
        !evas_object_was_visible(eo_obj, obj))
      return EINA_FALSE;
 
-   if (!obj->smart.smart)
+   if (!obj->clip.clipees)
      {
-        if (obj->changed && !obj->clip.clipees) return EINA_TRUE;
-        return EINA_FALSE;
-     }
-   if (_evas_render_has_map(eo_obj, obj))
-     {
-        if (((obj->changed_pchange) && (obj->changed_map)) ||
-            (obj->changed_color)) return EINA_TRUE;
-     }
-
-   EINA_INLIST_FOREACH(evas_object_smart_members_get_direct(eo_obj), o2)
-     if (_smart_members_changed_check(o2->object, o2)) return EINA_TRUE;
-
-   return EINA_FALSE;
-}
-
-Eina_Bool
-evas_object_smart_changed_get(Evas_Object *eo_obj)
-{
-   Evas_Object_Protected_Data *obj = eo_data_scope_get(eo_obj, EVAS_OBJ_CLASS);
-   Evas_Object_Protected_Data *o2;
-
-   if (!obj->is_smart)
-     {
-        if (obj->changed && !obj->clip.clipees) return EINA_TRUE;
-        else return EINA_FALSE;
+        if (obj->changed)
+          {
+             if (_evas_render_has_map(eo_obj, obj))
+               {
+                  if (((obj->changed_pchange) && (obj->changed_map)) ||
+                      (obj->changed_color)) return EINA_TRUE;
+               }
+             else if (!obj->is_smart) return EINA_TRUE;
+          }
      }
 
-   if (obj->changed_color) return EINA_TRUE;
-
    EINA_INLIST_FOREACH(evas_object_smart_members_get_direct(eo_obj), o2)
-     if (_smart_members_changed_check(o2->object, o2)) return EINA_TRUE;
+     if (evas_object_smart_changed_get(o2->object)) return EINA_TRUE;
 
    return EINA_FALSE;
 }
index 18d196f..6f90170 100644 (file)
@@ -1251,17 +1251,7 @@ evas_render_mapped(Evas_Public_Data *e, Evas_Object *eo_obj,
              changed = EINA_TRUE;
           }
 
-        if (!changed)
-          {
-             if (obj->is_smart)
-               changed = evas_object_smart_changed_get(eo_obj);
-             else if (obj->changed)
-               {
-                  if (((obj->changed_pchange) && (obj->changed_map)) ||
-                      (obj->changed_color))
-                    changed = EINA_TRUE;
-               }
-          }
+        if (!changed) changed = evas_object_smart_changed_get(eo_obj);
 
         /* mark the old map as invalid, so later we don't reuse it as a
          * cache. */