NAME
SDL::Time - An SDL Perl extension for managing timers
CATEGORY
Core
SYNOPSIS
METHODS
add_timer
my
$id
= SDL::Timer::add_timer(
$ms_interval
,
$callback
);
This runs in a separate thread and a cloned Perl thread. threads
and threads::shared
must be used to share any variables the timer uses.
The $callback
function, specified with a string of the function's name, will be called after the milliseconds of $interval
have elapsed. The actual delay may be longer than specified depending on the underlying OS. The callback function is passed the current timer interval as well as the $interval
parameter and should return the next timer interval. If the return value from the callback is 0, the timer is cancelled; otherwise, the timer will continue to run.
The timer callback function may run in a different thread to your main program, so it shouldn't call any functions from within itself. You may call SDL::push_event, however.
SDL::Time::add_timer
returns the identifier value of the generated timer or undef on error.
Note: You must initialize (SDL::init
) the timer subsystem to use this function.
remove_timer
SDL::Timer::remove_timer(
$id
);
The other way to cancel a timer is to use SDL::Time::remove_timer
on the $id
of a timer. This ID is the return value of the SDL::Time::add_timer
function.
SDL::Time::remove_timer
returns 0
on success or -1
on error.
AUTHORS
See "AUTHORS" in SDL.