Enlightenment CVS committal

Author  : raster
Project : e17
Module  : libs/edje

Dir     : e17/libs/edje/src/lib


Modified Files:
        edje_smart.c 


Log Message:


temporary smart stacking workaround until we fix it properly with internal
sub-object lists

===================================================================
RCS file: /cvsroot/enlightenment/e17/libs/edje/src/lib/edje_smart.c,v
retrieving revision 1.18
retrieving revision 1.19
diff -u -3 -r1.18 -r1.19
--- edje_smart.c        14 Jul 2004 09:59:29 -0000      1.18
+++ edje_smart.c        26 Aug 2005 06:53:37 -0000      1.19
@@ -8,6 +8,8 @@
 static void _edje_smart_lower(Evas_Object * obj);
 static void _edje_smart_stack_above(Evas_Object * obj, Evas_Object * above);
 static void _edje_smart_stack_below(Evas_Object * obj, Evas_Object * below);
+static Evas_Object *_edje_smart_above_get(Evas_Object * obj);
+static Evas_Object *_edje_smart_below_get(Evas_Object * obj);
 static void _edje_smart_move(Evas_Object * obj, Evas_Coord x, Evas_Coord y);
 static void _edje_smart_resize(Evas_Object * obj, Evas_Coord w, Evas_Coord h);
 static void _edje_smart_show(Evas_Object * obj);
@@ -50,6 +52,8 @@
                                     _edje_smart_clip_set, 
                                     _edje_smart_clip_unset, 
                                     NULL);
+   evas_smart_above_get_set(_edje_smart, _edje_smart_above_get);
+   evas_smart_below_get_set(_edje_smart, _edje_smart_below_get);
      }
    return evas_object_smart_add(evas, _edje_smart);
 }
@@ -243,6 +247,42 @@
    _edje_emit(ed, "stack_below", "");
 }
 
+static Evas_Object *
+_edje_smart_above_get(Evas_Object * obj)
+{
+   Edje *ed;
+
+   ed = evas_object_smart_data_get(obj);
+   if (!ed) return obj;
+   if (ed->parts)
+   {
+      Edje_Real_Part *ep;
+
+      ep = evas_list_last(ed->parts)->data;
+      if (ep->swallowed_object)
+         return ep->swallowed_object;
+      return ep->object;
+   }
+   return obj;
+}
+
+static Evas_Object *
+_edje_smart_below_get(Evas_Object * obj)
+{
+   Edje *ed;
+
+   ed = evas_object_smart_data_get(obj);
+   if (!ed) return obj;
+   if (ed->parts)
+   {
+      Edje_Real_Part *ep;
+
+      ep = ed->parts->data;
+      return ep->object;
+   }
+   return obj;
+}
+
 static void 
 _edje_smart_move(Evas_Object * obj, Evas_Coord x, Evas_Coord y)
 {




-------------------------------------------------------
SF.Net email is Sponsored by the Better Software Conference & EXPO
September 19-22, 2005 * San Francisco, CA * Development Lifecycle Practices
Agile & Plan-Driven Development * Managing Projects & Teams * Testing & QA
Security * Process Improvement & Measurement * http://www.sqe.com/bsce5sf
_______________________________________________
enlightenment-cvs mailing list
enlightenment-cvs@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs

Reply via email to