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