package AA::Anim;

our $timer = AA->new('T');
$timer->DefSet('T', 0);

sub time($) {
	return $timer->Get('T');
}

sub step($) {
	$timer->Set('T', $timer->Get('T') + 1);
	AA->calculate;
}

sub ticker($$$$) {
	my ($class, $x0, $x1, $dt) = @_;
	my $t0 = AA::Anim->time;
	return sub {
		my $t = AA::Anim->time;
		if ($t - $t0 >= $dt) {
			return $x1;
		} else {
			return $x0 + ($x1 - $x0) * ($t - $t0)/$dt;
		}
	};
}

1;
