![]() |
![]() |
![]() |
Clutter 0.4 Reference Manual | ![]() |
---|---|---|---|---|
int clutter_util_next_p2 (int a); ClutterTimeoutPool* clutter_timeout_pool_new (gint priority); guint clutter_timeout_pool_add (ClutterTimeoutPool *pool, guint interval, GSourceFunc func, gpointer data, GDestroyNotify notify); void clutter_timeout_pool_remove (ClutterTimeoutPool *pool, guint id);
int clutter_util_next_p2 (int a);
Calculates the next power greater than a
.
a : |
Value to get the next power |
Returns : | The next power after a .
|
ClutterTimeoutPool* clutter_timeout_pool_new (gint priority);
Creates a new timeout pool source. A timeout pool should be used when
multiple timeout functions, running at the same priority, are needed and
the g_timeout_add()
API might lead to starvation of the time slice of
the main loop. A timeout pool allocates a single time slice of the main
loop and runs every timeout function inside it. The timeout pool is
always sorted, so that the extraction of the next timeout function is
a constant time operation.
Inside Clutter, every ClutterTimeline share the same timeout pool, unless the CLUTTER_TIMELINE=no-pool environment variable is set.
priority : |
the priority of the timeout pool. Typically this will be G_PRIORITY_DEFAULT |
Returns : | the newly created ClutterTimeoutPool |
Since 0.4
guint clutter_timeout_pool_add (ClutterTimeoutPool *pool, guint interval, GSourceFunc func, gpointer data, GDestroyNotify notify);
Sets a function to be called at regular intervals, and puts it inside
the pool
. The function is repeatedly called until it returns FALSE
,
at which point the timeout is automatically destroyed and the function
won't be called again. If notify
is not NULL
, the notify
function
will be called. The first call to func
will be at the end of interval
.
Note that timeout functions may be delayed, due to the processing of other event sources. Thus they should not be relied on for precise timing. After each call to the timeout function, the time of the next timeout is recalculated based on the current time and the given interval (it does not try to 'catch up' time lost in delays).
pool : |
a ClutterTimeoutPool |
interval : |
the time between calls to the function, in milliseconds |
func : |
function to call |
data : |
data to pass to the function, or NULL
|
notify : |
function to call when the timeout is removed, or NULL
|
Returns : | the ID (greater than 0) of the timeout inside the pool.
Use clutter_timeout_pool_remove() to stop the timeout.
|
Since 0.4
void clutter_timeout_pool_remove (ClutterTimeoutPool *pool, guint id);
Removes a timeout function with id
from the timeout pool. The id
is the same returned when adding a function to the timeout pool with
clutter_timeout_pool_add()
.
pool : |
a ClutterTimeoutPool |
id : |
the id of the timeout to remove |
Since 0.4