Enlightenment CVS committal Author : raster Project : e17 Module : libs/evas
Dir : e17/libs/evas/src/lib/canvas Modified Files: evas_callbacks.c evas_events.c evas_object_rectangle.c Log Message: add calls to tell evas to propagate (or not) events on an object to its parent smart object IF there is a callback set. ie. if there is a key down callback set and propagae is set to false then the key event will not prpagate to the parent as long as the child gets the key down events and has the callback set. =================================================================== RCS file: /cvsroot/enlightenment/e17/libs/evas/src/lib/canvas/evas_callbacks.c,v retrieving revision 1.22 retrieving revision 1.23 diff -u -3 -r1.22 -r1.23 --- evas_callbacks.c 18 Jun 2005 01:00:29 -0000 1.22 +++ evas_callbacks.c 30 Oct 2005 05:07:51 -0000 1.23 @@ -193,6 +193,7 @@ obj->callbacks->walking_list--; if (!obj->callbacks->walking_list) evas_object_event_callback_clear(obj); + if ((obj->no_propagate) && (*l_mod)) return; if ((obj->smart.parent) && (type != EVAS_CALLBACK_FREE) && (type <= EVAS_CALLBACK_KEY_UP)) =================================================================== RCS file: /cvsroot/enlightenment/e17/libs/evas/src/lib/canvas/evas_events.c,v retrieving revision 1.41 retrieving revision 1.42 diff -u -3 -r1.41 -r1.42 --- evas_events.c 27 Oct 2005 02:44:36 -0000 1.41 +++ evas_events.c 30 Oct 2005 05:07:51 -0000 1.42 @@ -971,3 +971,33 @@ MAGIC_CHECK_END(); return obj->repeat_events; } + +/** + * To be documented. + * + * FIXME: To be fixed. + * + */ +void +evas_object_propagate_events_set(Evas_Object *obj, Evas_Bool prop) +{ + MAGIC_CHECK(obj, Evas_Object, MAGIC_OBJ); + return; + MAGIC_CHECK_END(); + obj->no_propagate = !prop; +} + +/** + * To be documented. + * + * FIXME: To be fixed. + * + */ +Evas_Bool +evas_object_propagate_events_get(Evas_Object *obj) +{ + MAGIC_CHECK(obj, Evas_Object, MAGIC_OBJ); + return 0; + MAGIC_CHECK_END(); + return !(obj->no_propagate); +} =================================================================== RCS file: /cvsroot/enlightenment/e17/libs/evas/src/lib/canvas/evas_object_rectangle.c,v retrieving revision 1.7 retrieving revision 1.8 diff -u -3 -r1.7 -r1.8 --- evas_object_rectangle.c 18 Jun 2005 01:00:29 -0000 1.7 +++ evas_object_rectangle.c 30 Oct 2005 05:07:51 -0000 1.8 @@ -213,7 +213,7 @@ { Evas_Rectangle *r; Evas_List *rl; - + rl = evas_rects_return_difference_rects(obj->cur.cache.geometry.x, obj->cur.cache.geometry.y, obj->cur.cache.geometry.w, @@ -233,6 +233,7 @@ /* it obviously didn't change - add a NO obscure - this "unupdates" this */ /* area so if there were updates for it they get wiped. don't do it if we */ /* arent fully opaque and we are visible */ +/* if (evas_object_is_visible(obj) && evas_object_is_opaque(obj) && (!obj->clip.clipees)) @@ -241,6 +242,7 @@ obj->cur.cache.clip.y, obj->cur.cache.clip.w, obj->cur.cache.clip.h); + */ done: evas_object_render_pre_effect_updates(updates, obj, is_v, was_v); } ------------------------------------------------------- This SF.Net email is sponsored by the JBoss Inc. Get Certified Today * Register for a JBoss Training Course Free Certification Exam for All Training Attendees Through End of 2005 Visit http://www.jboss.com/services/certification for more information _______________________________________________ enlightenment-cvs mailing list enlightenment-cvs@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs