Acme-Curses-Marquee-Extensions
view release on metacpan or search on metacpan
lib/Acme/Curses/Marquee/Extensions.pm view on Meta::CPAN
my $self = bless \%args, $class;
$self->text($self->{srctxt}) if (defined $self->{srctxt});
return $self;
}
sub font {
$_[0]->{_font}->{$_[1]} = Text::FIGlet->new(-f=>$_[1]);
delete($_[0]->{_sweep});
return $_[-1] eq '-0' ? $_[0]->{_font}->{$_[1]} : shift->SUPER::font(@_);
}
sub sweep{
my($self, $state) = @_;
if( $state == -1 && $self->{offset} == int($self->{txtlen}/2) ){
$self->{txtlen} = $self->{_sweep};
}
if( $state ){
lib/Acme/Curses/Marquee/Extensions.pm view on Meta::CPAN
{
my $i = 0;
sub scroll{
my $self = shift;
#XXX offset would work if we could account for one wrap-around...
# if( defined($self->{_fonts}) && ($self->{offset} == $self->{txtlen}) ){
if( defined($self->{_fonts}) && every seconds=>$self->{_fontSec}||45 ){
#XXX reposition vertically iff auto-centered
$self->font( $self->{_fonts}->[ ++$i %scalar(@{ $self->{_fonts} }) ]);
}
$self->SUPER::scroll;
}
}
{
my $i = 0;
my $rainbow = [qw/red yellow/,'bold yellow',qw/green cyan blue magenta/];
sub colors{
my($self, %p) = @_;
my @colors = @{$p{colors}||$rainbow};
if( every seconds=>$p{delay}||5 ){
( run in 1.072 second using v1.01-cache-2.11-cpan-49f99fa48dc )