Tk::Animation - Display sequence of Tk::Photo images

- NAME
- SYNOPSIS
- DESCRIPTION
- BUGS

# 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.

Tk::Animation - Display sequence of Tk::Photo images