| Image-ANSI documentation | Contained in the Image-ANSI distribution. |
Image::ANSIMation::Parser - Reads in ANSI animation (ANSIMation) files
my $parser = Image::ANSIMation::Parser->new; my $anim = $parser->parse( file => 'file.ans' );
This parser inherits from the regular Image::ANSI::Parser. The only extra functionality it adds in the ability to store frames.
Sets the cursor position. If we're resetting it to (1, 1) we consider that a new frame.
Parses a file and returns the ansimation.
Stores the value of $self-<gtansi> as the next frame and resets
the current ansi.
Copyright 2004-2009 by Brian Cassidy
This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.
| Image-ANSI documentation | Contained in the Image-ANSI distribution. |
package Image::ANSIMation::Parser;
use base qw( Image::ANSI::Parser Class::Accessor ); use strict; use warnings; use Image::ANSI; use Image::ANSIMation; our $VERSION = '0.10'; __PACKAGE__->mk_accessors( qw( ansimation ) );
sub set_position { my $self = shift; if( $_[ 0 ] == 1 && $_[ 1 ] == 1 ) { $self->store_frame; } $self->SUPER::set_position( @_ ); }
sub parse { my $self = shift; $self->ansimation( undef ); $self->SUPER::parse( @_ ); $self->store_frame; return $self->ansimation; }
sub store_frame { my $self = shift; my $ansimation = $self->ansimation; unless( defined $ansimation ) { $ansimation = Image::ANSIMation->new; $self->ansimation( $ansimation ); } return unless $self->ansi->height > 0; $ansimation->add_frame( $self->ansi ); $self->ansi( Image::ANSI->new ); }
1;