what's he differences between idle_enterer and throttle ?
Vincent On Tue, 28 Jun 2011, Enlightenment SVN wrote: > Log: > add ecore_throttle > > > > Author: raster > Date: 2011-06-28 05:34:52 -0700 (Tue, 28 Jun 2011) > New Revision: 60756 > Trac: http://trac.enlightenment.org/e/changeset/60756 > > Added: > trunk/ecore/src/lib/ecore/ecore_throttle.c > Modified: > trunk/ecore/ChangeLog trunk/ecore/src/lib/ecore/Ecore.h > trunk/ecore/src/lib/ecore/Makefile.am trunk/ecore/src/lib/ecore/ecore_main.c > trunk/ecore/src/lib/ecore/ecore_private.h > > Modified: trunk/ecore/ChangeLog > =================================================================== > --- trunk/ecore/ChangeLog 2011-06-28 11:31:16 UTC (rev 60755) > +++ trunk/ecore/ChangeLog 2011-06-28 12:34:52 UTC (rev 60756) > @@ -245,3 +245,10 @@ > * New function: ecore_con_ssl_server_verify_basic for only verifying > certificates against a server's Common Name (CN) or its > Subject Alternative Name (if available) > + > +2011-06-28 Carsten Haitzler (The Rasterman) > + > + * Add ecore_throttle mechanism to voluntarily do powersaving to > + avoid wakeups and excess animation etc. when in the background > + or another "powersave" state. > + > > Modified: trunk/ecore/src/lib/ecore/Ecore.h > =================================================================== > --- trunk/ecore/src/lib/ecore/Ecore.h 2011-06-28 11:31:16 UTC (rev 60755) > +++ trunk/ecore/src/lib/ecore/Ecore.h 2011-06-28 12:34:52 UTC (rev 60756) > @@ -887,6 +887,24 @@ > * @} > */ > > + /** > + * @defgroup Ecore_Throttle_Group Ecore Throttle functions > + * > + * @{ > + */ > + > + EAPI void ecore_throttle_adjust(double amount ); > + EAPI double ecore_throttle_get(void); > + > + > + /** > + * @} > + */ > + > + /** > + * @} > + */ > + > #ifdef __cplusplus > } > #endif > > Modified: trunk/ecore/src/lib/ecore/Makefile.am > =================================================================== > --- trunk/ecore/src/lib/ecore/Makefile.am 2011-06-28 11:31:16 UTC (rev > 60755) > +++ trunk/ecore/src/lib/ecore/Makefile.am 2011-06-28 12:34:52 UTC (rev > 60756) > @@ -25,7 +25,8 @@ > ecore_time.c \ > ecore_timer.c \ > ecore_thread.c \ > -ecore_glib.c > +ecore_glib.c \ > +ecore_throttle.c > > if ECORE_HAVE_WIN32 > > > Modified: trunk/ecore/src/lib/ecore/ecore_main.c > =================================================================== > --- trunk/ecore/src/lib/ecore/ecore_main.c 2011-06-28 11:31:16 UTC (rev > 60755) > +++ trunk/ecore/src/lib/ecore/ecore_main.c 2011-06-28 12:34:52 UTC (rev > 60756) > @@ -446,7 +446,11 @@ > _ecore_timer_cleanup(); > > /* when idling, busy loop checking the fds only */ > - if (!ecore_idling) _ecore_idle_enterer_call(); > + if (!ecore_idling) > + { > + _ecore_idle_enterer_call(); > + _ecore_throttle(); > + } > } > > /* don't check fds if somebody quit */ > @@ -1443,13 +1447,18 @@ > if (_ecore_event_exist()) > { > _ecore_idle_enterer_call(); > + _ecore_throttle(); > have_event = 1; > _ecore_main_select(0.0); > _ecore_timer_enable_new(); > goto process_events; > } > /* call idle enterers ... */ > - if (!once_only) _ecore_idle_enterer_call(); > + if (!once_only) > + { > + _ecore_idle_enterer_call(); > + _ecore_throttle(); > + } > else > { > have_event = have_signal = 0; > @@ -1478,6 +1487,7 @@ > if (once_only) > { > _ecore_idle_enterer_call(); > + _ecore_throttle(); > in_main_loop--; > _ecore_timer_enable_new(); > return; > @@ -1568,7 +1578,11 @@ > _ecore_event_call(); > _ecore_main_fd_handlers_cleanup(); > > - if (once_only) _ecore_idle_enterer_call(); > + if (once_only) > + { > + _ecore_idle_enterer_call(); > + _ecore_throttle(); > + } > in_main_loop--; > } > #endif > > Modified: trunk/ecore/src/lib/ecore/ecore_private.h > =================================================================== > --- trunk/ecore/src/lib/ecore/ecore_private.h 2011-06-28 11:31:16 UTC (rev > 60755) > +++ trunk/ecore/src/lib/ecore/ecore_private.h 2011-06-28 12:34:52 UTC (rev > 60756) > @@ -195,6 +195,8 @@ > void _ecore_main_loop_init(void); > void _ecore_main_loop_shutdown(void); > > +void _ecore_throttle(void); > + > extern int _ecore_fps_debug; > extern double _ecore_time_loop_time; > extern Eina_Bool _ecore_glib_always_integrate; > > > ------------------------------------------------------------------------------ > All of the data generated in your IT infrastructure is seriously valuable. > Why? It contains a definitive record of application performance, security > threats, fraudulent activity, and more. Splunk takes this data and makes > sense of it. IT sense. And common sense. > http://p.sf.net/sfu/splunk-d2d-c2 > _______________________________________________ > enlightenment-svn mailing list > enlightenment-...@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/enlightenment-svn > > ------------------------------------------------------------------------------ All of the data generated in your IT infrastructure is seriously valuable. Why? It contains a definitive record of application performance, security threats, fraudulent activity, and more. Splunk takes this data and makes sense of it. IT sense. And common sense. http://p.sf.net/sfu/splunk-d2d-c2 _______________________________________________ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel