summaryrefslogtreecommitdiff
path: root/Master/tlpkg/tlperl/lib/Tk/Animation.pod
diff options
context:
space:
mode:
Diffstat (limited to 'Master/tlpkg/tlperl/lib/Tk/Animation.pod')
-rw-r--r--Master/tlpkg/tlperl/lib/Tk/Animation.pod92
1 files changed, 92 insertions, 0 deletions
diff --git a/Master/tlpkg/tlperl/lib/Tk/Animation.pod b/Master/tlpkg/tlperl/lib/Tk/Animation.pod
new file mode 100644
index 00000000000..996b035b1c5
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/Tk/Animation.pod
@@ -0,0 +1,92 @@
+
+=head1 NAME
+
+Tk::Animation - Display sequence of Tk::Photo images
+
+=for pm Tk/Animation.pm
+
+=for category Tk Image Classes
+
+=head1 SYNOPSIS
+
+ use Tk::Animation
+ my $img = $widget->Animation('-format' => 'gif', -file => 'somefile.gif');
+
+ $img->add_frame(@images);
+
+ $img->start_animation;
+ $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->set_disposal_method( $boolean );
+
+=head1 DESCRIPTION
+
+In the simple case when C<Animation> is passed a GIF89 style GIF with
+multiple 'frames', it will build an internal array of C<Photo> images.
+
+The C<add_frame> method adds images to the sequence. It is provided
+to allow animations to be constructed from separate images.
+All images must be C<Photo>s and should all be the same size.
+
+C<start_animation($period)> then initiates a C<repeat> with specified
+I<$period> to sequence through these images. As for raw C<repeat>
+I<$period> is in milliseconds, for a 50Hz monitor it should be at
+least 20ms. If I<$period> is omitted it is determined from the GIF
+metadata (see below), or if this is not possible it defaults to 100
+milliseconds.
+
+C<stop_animation> cancels the C<repeat> and resets the image to the first
+image in the sequence.
+
+For fine-grained control C<next_image> and C<prev_image> move one frame forward
+or backward. C<set_image> randomly positions the animation to a particular frame.
+
+C<pause_animation> pauses the movie and C<resume_animation> continues from the
+pause point.
+
+C<fast_forward> and C<fast_reverse> speed through the movie either
+forwards or backwards. $multiplier specifies how much faster the
+animation moves.
+
+If L<Image::Info> is installed, then the repeat period time and
+disposal method of GIF animations are determined from the GIF metadata
+directly. Otherwise the disposal method must be set manually by using
+C<set_disposal_method> (1 for blanking the previous images, 0 for
+leaving the previous images as is). The repeat period time may be
+given in the C<start_animation> method.
+
+=head1 NOTES
+
+C<set_disposal_method> was formerly known as C<blank> method, but the
+naming of this method was a mistake.
+
+If the disposal method is not set correctly, either by
+C<set_disposal_method> or by determining from the GIF metadata, then
+the following may happen: By default Animation leaves the previous
+movie frame in the animation photo. Many times overlaying subsequent
+frames produces a composite that looks blurred.
+
+=head1 BUGS
+
+This module should not depend on a module which is not declared as a
+dependency (Image::Info).
+
+The delays between images may vary in a GIF animation. This cannot be
+handled by this module yet.
+
+The handling of the various disposal methods is not correct.
+
+=cut
+