Tk::Animation.3pm

Langue: en

Version: 2004-02-28 (openSuse - 09/10/07)

Section: 3 (Bibliothèques de fonctions)

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.