From: raster Date: Mon, 19 Dec 2011 05:50:06 +0000 (+0000) Subject: add new events for pre/post rendering X-Git-Tag: 2.0_alpha~153^2~57 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=1bdccfc898ff4b010c37a068acad2e984ab80052;p=framework%2Fuifw%2Fevas.git add new events for pre/post rendering git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/evas@66318 7cbeb6ba-43b4-40fd-8cce-4c39aea84d33 --- diff --git a/ChangeLog b/ChangeLog index 055d538..244d62b 100644 --- a/ChangeLog +++ b/ChangeLog @@ -566,3 +566,8 @@ * 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. + diff --git a/src/lib/Evas.h b/src/lib/Evas.h index a12d536..0cf14d5 100644 --- a/src/lib/Evas.h +++ b/src/lib/Evas.h @@ -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 */ diff --git a/src/lib/canvas/evas_render.c b/src/lib/canvas/evas_render.c index 1ad5e37..c43fa46 100644 --- a/src/lib/canvas/evas_render.c +++ b/src/lib/canvas/evas_render.c @@ -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");