Enlightenment CVS committal Author : rbdpngn Project : e17 Module : libs/ewl
Dir : e17/libs/ewl/src/lib Modified Files: ewl_enums.h ewl_widget.c ewl_widget.h Log Message: Beginning to merge an object cache, beginning with the basic callbacks. These are not used yet. =================================================================== RCS file: /cvsroot/enlightenment/e17/libs/ewl/src/lib/ewl_enums.h,v retrieving revision 1.8 retrieving revision 1.9 diff -u -3 -r1.8 -r1.9 --- ewl_enums.h 25 Sep 2005 05:02:19 -0000 1.8 +++ ewl_enums.h 27 Sep 2005 03:26:32 -0000 1.9 @@ -21,6 +21,8 @@ EWL_CALLBACK_UNREALIZE, /**< When a widget is no longer drawn */ EWL_CALLBACK_SHOW, /**< A widget has been marked visible */ EWL_CALLBACK_HIDE, /**< A widget is marked hidden */ + EWL_CALLBACK_OBSCURE, /**< Widget is offscreen */ + EWL_CALLBACK_REVEAL, /**< Widget returned to screen */ EWL_CALLBACK_DESTROY, /**< The widget is freed */ EWL_CALLBACK_DELETE_WINDOW, /**< The window is being closed */ EWL_CALLBACK_CONFIGURE, /**< The object is being resized */ =================================================================== RCS file: /cvsroot/enlightenment/e17/libs/ewl/src/lib/ewl_widget.c,v retrieving revision 1.15 retrieving revision 1.16 diff -u -3 -r1.15 -r1.16 --- ewl_widget.c 16 Sep 2005 19:00:24 -0000 1.15 +++ ewl_widget.c 27 Sep 2005 03:26:32 -0000 1.16 @@ -222,6 +222,49 @@ } /** + * @param w: the widget to mark as revealed + * @return Returns no value. + * @brief Indicate a widget is revealed. + */ +void ewl_widget_reveal(Ewl_Widget *w) +{ + Ewl_Embed *emb; + + DENTER_FUNCTION(DLEVEL_STABLE); + DCHECK_PARAM_PTR("w", w); + + ewl_object_visible_remove(EWL_OBJECT(w), EWL_FLAG_VISIBLE_OBSCURED); + + emb = ewl_embed_widget_find(w); + if (emb && emb->evas) { + ewl_callback_call(w, EWL_CALLBACK_REVEAL); + } + + ewl_widget_configure(w); + + DLEAVE_FUNCTION(DLEVEL_STABLE); +} + +/** + * @param w: the widget to mark as obscured + * @return Returns no value. + * @brief Indicate a widget is obscured. + */ +void ewl_widget_obscure(Ewl_Widget *w) +{ + DENTER_FUNCTION(DLEVEL_STABLE); + DCHECK_PARAM_PTR("w", w); + + ewl_object_visible_add(EWL_OBJECT(w), EWL_FLAG_VISIBLE_OBSCURED); + + if (REALIZED(w) || ewl_object_queued_has(EWL_OBJECT(w), + EWL_FLAG_QUEUED_RSCHEDULED)) + ewl_callback_call(w, EWL_CALLBACK_OBSCURE); + + DLEAVE_FUNCTION(DLEVEL_STABLE); +} + +/** * @param w: the widget to be marked as visible * @return Returns no value. * @brief mark a widget as visible =================================================================== RCS file: /cvsroot/enlightenment/e17/libs/ewl/src/lib/ewl_widget.h,v retrieving revision 1.12 retrieving revision 1.13 diff -u -3 -r1.12 -r1.13 --- ewl_widget.h 25 Sep 2005 05:02:19 -0000 1.12 +++ ewl_widget.h 27 Sep 2005 03:26:32 -0000 1.13 @@ -117,6 +117,16 @@ void ewl_widget_unrealize(Ewl_Widget * w); /* + * * Mark the widget to be revealed. + * */ +void ewl_widget_reveal(Ewl_Widget *w); + +/* + * * Mark the widget to be obscured. + * */ +void ewl_widget_obscure(Ewl_Widget *w); + +/* * Mark the widget to be displayed. */ void ewl_widget_show(Ewl_Widget * widget); ------------------------------------------------------- SF.Net email is sponsored by: Tame your development challenges with Apache's Geronimo App Server. Download it for free - -and be entered to win a 42" plasma tv or your very own Sony(tm)PSP. Click here to play: http://sourceforge.net/geronimo.php _______________________________________________ enlightenment-cvs mailing list enlightenment-cvs@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs