Enlightenment CVS committal

Author  : raster
Project : e17
Module  : libs/evas

Dir     : e17/libs/evas/src/lib/canvas


Modified Files:
        evas_smart.c evas_stack.c 


Log Message:


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

===================================================================
RCS file: /cvsroot/enlightenment/e17/libs/evas/src/lib/canvas/evas_smart.c,v
retrieving revision 1.9
retrieving revision 1.10
diff -u -3 -r1.9 -r1.10
--- evas_smart.c        18 Jun 2005 01:00:30 -0000      1.9
+++ evas_smart.c        26 Aug 2005 06:53:37 -0000      1.10
@@ -88,6 +88,38 @@
  * FIXME: To be fixed.
  *
  */
+void
+evas_smart_above_get_set(Evas_Smart *s, Evas_Object *(*func_above_get) 
(Evas_Object *o))
+{
+   Evas_Smart_Class *sc;
+
+   if (!(sc = evas_smart_class_get(s)))
+      return;
+   sc->above_get = func_above_get;
+}
+
+/**
+ * To be documented.
+ *
+ * FIXME: To be fixed.
+ *
+ */
+void
+evas_smart_below_get_set(Evas_Smart *s, Evas_Object *(*func_below_get) 
(Evas_Object *o))
+{
+   Evas_Smart_Class *sc;
+
+   if (!(sc = evas_smart_class_get(s)))
+      return;
+   sc->below_get = func_below_get;
+}
+
+/**
+ * To be documented.
+ *
+ * FIXME: To be fixed.
+ *
+ */
 Evas_Smart *
 evas_smart_class_new(Evas_Smart_Class *sc)
 {
===================================================================
RCS file: /cvsroot/enlightenment/e17/libs/evas/src/lib/canvas/evas_stack.c,v
retrieving revision 1.15
retrieving revision 1.16
diff -u -3 -r1.15 -r1.16
--- evas_stack.c        25 Jul 2005 09:55:47 -0000      1.15
+++ evas_stack.c        26 Aug 2005 06:53:37 -0000      1.16
@@ -53,11 +53,6 @@
    return;
    MAGIC_CHECK_END();
    if (evas_object_intercept_call_raise(obj)) return;
-   if (obj->smart.smart)
-     {
-       if (obj->smart.smart->smart_class->raise)
-         obj->smart.smart->smart_class->raise(obj);
-     }
    if (!(((Evas_Object_List *)obj)->next))
      {
        evas_object_inform_call_restack(obj);
@@ -65,6 +60,11 @@
      }
    obj->layer->objects = evas_object_list_remove(obj->layer->objects, obj);
    obj->layer->objects = evas_object_list_append(obj->layer->objects, obj);
+   if (obj->smart.smart)
+     {
+       if (obj->smart.smart->smart_class->raise)
+         obj->smart.smart->smart_class->raise(obj);
+     }
    if (obj->clip.clipees)
      {
        evas_object_inform_call_restack(obj);
@@ -162,6 +162,11 @@
    return;
    MAGIC_CHECK_END();
    if (evas_object_intercept_call_stack_above(obj, above)) return;
+   if (above->smart.smart)
+     {
+       if (above->smart.smart->smart_class->above_get)
+     above = above->smart.smart->smart_class->above_get(above);
+     }
    if (obj->smart.smart)
      {
        if (obj->smart.smart->smart_class->stack_above)
@@ -223,6 +228,11 @@
    return;
    MAGIC_CHECK_END();
    if (evas_object_intercept_call_stack_below(obj, below)) return;
+   if (below->smart.smart)
+     {
+       if (below->smart.smart->smart_class->below_get)
+     below = below->smart.smart->smart_class->below_get(below);
+     }
    if (obj->smart.smart)
      {
        if (obj->smart.smart->smart_class->stack_below)




-------------------------------------------------------
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