add new events for pre/post rendering
authorraster <raster@7cbeb6ba-43b4-40fd-8cce-4c39aea84d33>
Mon, 19 Dec 2011 05:50:06 +0000 (05:50 +0000)
committerraster <raster@7cbeb6ba-43b4-40fd-8cce-4c39aea84d33>
Mon, 19 Dec 2011 05:50:06 +0000 (05:50 +0000)
git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/evas@66318 7cbeb6ba-43b4-40fd-8cce-4c39aea84d33

ChangeLog
src/lib/Evas.h
src/lib/canvas/evas_render.c

index 055d538..244d62b 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
 
         * Add new api to set and get default event flags.
 
+2011-12-19  Carsten Haitzler (The Rasterman)
+
+        * Add new canvas events called just before and after evas rendering
+        starts and stops.
+
index a12d536..0cf14d5 100644 (file)
@@ -433,6 +433,9 @@ typedef enum _Evas_Callback_Type
     */
    EVAS_CALLBACK_IMAGE_UNLOADED, /**< Image data has been unloaded (by some mechanims in Evas that throw out original image data) */
 
+   EVAS_CALLBACK_RENDER_PRE, /**< Called just before rendering starts on the canvas target */
+   EVAS_CALLBACK_RENDER_POST, /**< Called just after rendering stops on the canvas target */
+     
    EVAS_CALLBACK_LAST /**< kept as last element/sentinel -- not really an event */
 } Evas_Callback_Type; /**< The types of events triggering a callback */
 
index 1ad5e37..c43fa46 100644 (file)
@@ -1360,6 +1360,8 @@ evas_render_updates_internal(Evas *e,
 
    RD("[--- RENDER EVAS (size: %ix%i)\n", e->viewport.w, e->viewport.h);
 
+   evas_event_callback_call(e, EVAS_CALLBACK_RENDER_PRE, NULL);
+   
    /* Check if the modified object mean recalculating every thing */
    if (!e->invalidate)
      _evas_render_check_pending_objects(&e->pending_objects, e);
@@ -1686,6 +1688,8 @@ evas_render_updates_internal(Evas *e,
      }
 
    evas_module_clean();
+   
+   evas_event_callback_call(e, EVAS_CALLBACK_RENDER_POST, NULL);
 
    RD("---]\n");