Enlightenment CVS committal Author : raster Project : e17 Module : libs/ecore
Dir : e17/libs/ecore/src/lib/ecore_evas Modified Files: Tag: SPLIT Ecore_Evas.h ecore_evas.c ecore_evas_fb.c ecore_evas_private.h ecore_evas_x.c Log Message: pre/post render callback hooks =================================================================== RCS file: /cvsroot/enlightenment/e17/libs/ecore/src/lib/ecore_evas/Attic/Ecore_Evas.h,v retrieving revision 1.1.2.17 retrieving revision 1.1.2.18 diff -u -3 -r1.1.2.17 -r1.1.2.18 --- Ecore_Evas.h 21 May 2003 00:01:39 -0000 1.1.2.17 +++ Ecore_Evas.h 16 Jul 2003 04:49:07 -0000 1.1.2.18 @@ -49,6 +49,8 @@ void ecore_evas_callback_focus_out_set(Ecore_Evas *ee, void (*func) (Ecore_Evas *ee)); void ecore_evas_callback_mouse_in_set(Ecore_Evas *ee, void (*func) (Ecore_Evas *ee)); void ecore_evas_callback_mouse_out_set(Ecore_Evas *ee, void (*func) (Ecore_Evas *ee)); +void ecore_evas_callback_pre_render_set(Ecore_Evas *ee, void (*func) (Ecore_Evas *ee)); +void ecore_evas_callback_post_render_set(Ecore_Evas *ee, void (*func) (Ecore_Evas *ee)); Evas *ecore_evas_get(Ecore_Evas *ee); void ecore_evas_move(Ecore_Evas *ee, int x, int y); void ecore_evas_resize(Ecore_Evas *ee, int w, int h); =================================================================== RCS file: /cvsroot/enlightenment/e17/libs/ecore/src/lib/ecore_evas/Attic/ecore_evas.c,v retrieving revision 1.1.2.18 retrieving revision 1.1.2.19 diff -u -3 -r1.1.2.18 -r1.1.2.19 --- ecore_evas.c 21 May 2003 00:01:39 -0000 1.1.2.18 +++ ecore_evas.c 16 Jul 2003 04:49:07 -0000 1.1.2.19 @@ -285,6 +285,46 @@ * FIXME: To be fixed. * <hr><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br> */ +void +ecore_evas_callback_pre_render_set(Ecore_Evas *ee, void (*func) (Ecore_Evas *ee)) +{ + if (!ECORE_MAGIC_CHECK(ee, ECORE_MAGIC_EVAS)) + { + ECORE_MAGIC_FAIL(ee, ECORE_MAGIC_EVAS, + "ecore_evas_callback_pre_render_set"); + return; + } + IFC(ee, fn_callback_pre_render_set) (ee, func); + IFE; + ee->func.fn_pre_render = func; +} + +/** + * To be documented. + * + * FIXME: To be fixed. + * <hr><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br> + */ +void +ecore_evas_callback_post_render_set(Ecore_Evas *ee, void (*func) (Ecore_Evas *ee)) +{ + if (!ECORE_MAGIC_CHECK(ee, ECORE_MAGIC_EVAS)) + { + ECORE_MAGIC_FAIL(ee, ECORE_MAGIC_EVAS, + "ecore_evas_callback_post_render_set"); + return; + } + IFC(ee, fn_callback_post_render_set) (ee, func); + IFE; + ee->func.fn_post_render = func; +} + +/** + * To be documented. + * + * FIXME: To be fixed. + * <hr><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br> + */ Evas * ecore_evas_get(Ecore_Evas *ee) { =================================================================== RCS file: /cvsroot/enlightenment/e17/libs/ecore/src/lib/ecore_evas/Attic/ecore_evas_fb.c,v retrieving revision 1.1.2.13 retrieving revision 1.1.2.14 diff -u -3 -r1.1.2.13 -r1.1.2.14 --- ecore_evas_fb.c 21 May 2003 00:01:39 -0000 1.1.2.13 +++ ecore_evas_fb.c 16 Jul 2003 04:49:07 -0000 1.1.2.14 @@ -174,7 +174,11 @@ ee = (Ecore_Evas *)l; if (ee->visible) - evas_render(ee->evas); + { + if (ee->func.fn_pre_render) ee->func.fn_pre_render(ee); + evas_render(ee->evas); + if (ee->func.fn_post_render) ee->func.fn_post_render(ee); + } } return 1; } @@ -380,6 +384,8 @@ static const Ecore_Evas_Engine_Func _ecore_fb_engine_func = { _ecore_evas_fb_free, + NULL, + NULL, NULL, NULL, NULL, =================================================================== RCS file: /cvsroot/enlightenment/e17/libs/ecore/src/lib/ecore_evas/Attic/ecore_evas_private.h,v retrieving revision 1.1.2.16 retrieving revision 1.1.2.17 diff -u -3 -r1.1.2.16 -r1.1.2.17 --- ecore_evas_private.h 28 May 2003 05:53:08 -0000 1.1.2.16 +++ ecore_evas_private.h 16 Jul 2003 04:49:07 -0000 1.1.2.17 @@ -31,10 +31,12 @@ void (*fn_callback_focus_out_set) (Ecore_Evas *ee, void (*func) (Ecore_Evas *ee)); void (*fn_callback_mouse_in_set) (Ecore_Evas *ee, void (*func) (Ecore_Evas *ee)); void (*fn_callback_mouse_out_set) (Ecore_Evas *ee, void (*func) (Ecore_Evas *ee)); + void (*fn_callback_pre_render_set) (Ecore_Evas *ee, void (*func) (Ecore_Evas *ee)); + void (*fn_callback_post_render_set) (Ecore_Evas *ee, void (*func) (Ecore_Evas *ee)); void (*fn_move) (Ecore_Evas *ee, int x, int y); void (*fn_resize) (Ecore_Evas *ee, int w, int h); void (*fn_move_resize) (Ecore_Evas *ee, int x, int y, int w, int h); - void (*fn_rotation_set) (Ecore_Evas *ee, int rot); + void (*fn_rotation_set) (Ecore_Evas *ee, int rot); void (*fn_shaped_set) (Ecore_Evas *ee, int shaped); void (*fn_show) (Ecore_Evas *ee); void (*fn_hide) (Ecore_Evas *ee); @@ -49,10 +51,10 @@ void (*fn_cursor_set) (Ecore_Evas *ee, const char *file, int layer, int hot_x, int hot_y); void (*fn_layer_set) (Ecore_Evas *ee, int layer); void (*fn_focus_set) (Ecore_Evas *ee, int on); - void (*fn_iconified_set) (Ecore_Evas *ee, int on); + void (*fn_iconified_set) (Ecore_Evas *ee, int on); void (*fn_borderless_set) (Ecore_Evas *ee, int on); void (*fn_override_set) (Ecore_Evas *ee, int on); - void (*fn_maximized_set) (Ecore_Evas *ee, int on); + void (*fn_maximized_set) (Ecore_Evas *ee, int on); void (*fn_fullscreen_set) (Ecore_Evas *ee, int on); void (*fn_avoid_damage_set) (Ecore_Evas *ee, int on); void (*fn_withdrawn_set) (Ecore_Evas *ee, int withdrawn); @@ -141,6 +143,8 @@ void (*fn_focus_out) (Ecore_Evas *ee); void (*fn_mouse_in) (Ecore_Evas *ee); void (*fn_mouse_out) (Ecore_Evas *ee); + void (*fn_pre_render) (Ecore_Evas *ee); + void (*fn_post_render) (Ecore_Evas *ee); } func; Ecore_Evas_Engine engine; =================================================================== RCS file: /cvsroot/enlightenment/e17/libs/ecore/src/lib/ecore_evas/Attic/ecore_evas_x.c,v retrieving revision 1.1.2.18 retrieving revision 1.1.2.19 diff -u -3 -r1.1.2.18 -r1.1.2.19 --- ecore_evas_x.c 28 May 2003 06:32:18 -0000 1.1.2.18 +++ ecore_evas_x.c 16 Jul 2003 04:49:07 -0000 1.1.2.19 @@ -436,6 +436,7 @@ Ecore_Evas *ee; ee = (Ecore_Evas *)l; + if (ee->func.fn_pre_render) ee->func.fn_pre_render(ee); if (ee->prop.avoid_damage) { Evas_List *updates, *l; @@ -521,6 +522,7 @@ else evas_render(ee->evas); } + if (ee->func.fn_post_render) ee->func.fn_post_render(ee); } ecore_x_flush(); return 1; @@ -998,6 +1000,8 @@ NULL, NULL, _ecore_evas_callback_delete_request_set, + NULL, + NULL, NULL, NULL, NULL, ------------------------------------------------------- This SF.net email is sponsored by: VM Ware With VMware you can run multiple operating systems on a single machine. WITHOUT REBOOTING! Mix Linux / Windows / Novell virtual machines at the same time. Free trial click here: http://www.vmware.com/wl/offer/345/0 _______________________________________________ enlightenment-cvs mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs