NAME
Tk::Animation - Display sequence of Tk::Photo images
SYNOPSIS
use Tk::Animation
my $img = $widget->Animation('-format' => 'gif', -file => 'somefile.gif');
$img->add_frame(@images);
$img->start_animation( $period );
$img->next_image;
$img->prev_image;
$img->set_image( 0 .. $#frames );
$img->pause_animation;
$img->resume_animation( $period );
$img->fast_forward( $multiplier );
$img->fast_reverse( $multiplier );
$img->stop_animation;
$img->blank( $boolean );
DESCRIPTION
In the simple case when Animation
is passed a GIF89 style GIF with multiple 'frames', it will build an internal array of Photo
images.
The add_frame
method adds images to the sequence. It is provided to allow animations to be constructed from separate images. All images must be Photo
s and should all be the same size.
start_animation($period)
then initiates a repeat
with specified $period to sequence through these images. As for raw repeat
$period is in milliseconds, for a 50Hz monitor it should be at least 20mS. If $period is omitted it defaults to 100 milliseconds.
stop_animation
cancels the repeat
and resets the image to the first image in the sequence.
For fine-grained control next_image
and prev_image
move one frame forward or backward. set_image
randomly positions the animation to a particular frame.
pause_animation
pauses the movie and resume_animation
continues from the pause point.
fast_forward
and fast_reverse
speed through the movie either forwards or backwards. $multiplier specifies how much faster the animation moves.
By default Animation leaves the previous movie frame in the animation photo. Many times overlaying subsequent frames produces a composite that looks blurred. The blank
method is used to blank the animation photo before displaying new frames. The default is 0 for backward compatibility.
BUGS
The 'period' should probably be a property of the Animation object rather than specified at 'start' time. It may even be embedded in the GIF.