# IUP->SetIdle Example
#
# Basic usage of idle callback
use strict;
use warnings;
use IUP ':all';
my $l = IUP::Label->new( TITLE=>"0", SIZE=>"150x" );
my $b = IUP::Button->new( TITLE=>"Go" );
my $active = 0;
sub idle_cb {
if ($active) {
my $v = int($l->TITLE) + 1;
$l->TITLE($v);
if ( $v >= 10000 ) {
$active = 0;
}
}
return IUP_DEFAULT;
}
$b->ACTION( sub {$l->TITLE(0);$active = 1;} );
my $dlg = IUP::Dialog->new( MARGIN=>"10x10", child=>IUP::Vbox->new([$l,$b]), TITLE=>"Idle Test" );
$dlg->ShowXY(IUP_CENTER, IUP_CENTER);
# Registers idle callback;
IUP->SetIdle(\&idle_cb);
IUP->MainLoop;