Term-Caca

 view release on metacpan or  search on metacpan

lib/Term/Caca/Sprite.pm  view on Meta::CPAN

package Term::Caca::Sprite;
our $AUTHORITY = 'cpan:YANICK';
#ABSTRACT: an OO-interface to caca_sprite
$Term::Caca::Sprite::VERSION = '3.1.0';
use strict;
use warnings;
use Term::Caca;

sub new {
  my ($class, $file) = @_;
  my $self = Term::Caca::_load_sprite($file);
  return bless($self => $class);
}

*load = \*new;

sub get_frames {
  my ($self) = @_;
  return Term::Caca::_get_sprite_frames($self);
}

sub get_width {
  my ($self, $frame) = @_;
  return Term::Caca::_get_sprite_width($self, $frame);
}

sub get_height {
  my ($self, $frame) = @_;
  return Term::Caca::_get_sprite_height($self, $frame);
}

sub get_dx {
  my ($self, $frame) = @_;
  return Term::Caca::_get_sprite_dx($self, $frame);
}

sub get_dy {
  my ($self, $frame) = @_;
  return Term::Caca::_get_sprite_dy($self, $frame);
}

sub draw {
  my ($self, $x, $y, $frame) = @_;
  Term::Caca::_draw_sprite($x, $y, $self, $frame);
}

sub DESTROY {
  my ($self) = @_;
  Term::Caca::_free_sprite($self);
}

1;

=pod

=encoding UTF-8

=head1 NAME

Term::Caca::Sprite - an OO-interface to caca_sprite

=head1 VERSION

version 3.1.0

=head1 SYNOPSIS

Basic usage

  use Term::Caca::Sprite;
  eval {
    my $sprite = Term::Caca::Sprite->new('/tmp/sprite.txt');

 view all matches for this distribution
 view release on metacpan -  search on metacpan

( run in 1.294 second using v1.00-cache-2.02-grep-82fe00e-cpan-f73e49a70403 )