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