Prima::Timer - programmable periodical events |
Prima::Timer - programmable periodical events
Prima::Timer arranges periodical notifications
to be delivered in certain time intervals.
The notifications are triggered by the system,
and are seen as Tick
events. There can be
many active Timer objects at one time, spawning events
simultaneously.
Prima::Timer is a descendant of Prima::Component. Objects of Prima::Timer class are created in standard fashion:
my $t = Prima::Timer-> create( timeout => 1000, onTick => sub { print "tick\n"; }, ); $t-> start;
If no `owner` is given, $::application is assumed.
Timer objects are created in inactive state; no events are spawned. To start spawning events, <start()> method must be explicitly called. Time interval value is assigned using the <::timeout> property in milliseconds.
When the system generates timer event, no callback is called immediately, - an event is pushed into stack instead, to be delivered during next event loop. Therefore, timeout value is not held accurately, and events may take longer time to pass. More accurate timing scheme, as well as timing with precision less than a millisecond, is not supported by the toolkit.
Tick
events.
In set-mode call, if the timer is in active state ( see get_active()
,
the new timeout value is applied immediately.
Tick
events are
spawned after ::timeout
time intervals.
::timeout
milliseconds if object is in active state.
Dmitry Karasik, <dmitry@karasik.eu.org>.
Prima, the Prima::Object manpage
Prima::Timer - programmable periodical events |