Acme-Monkey

 view release on metacpan or  search on metacpan

lib/Acme/Monkey/Frame.pm  view on Meta::CPAN

extends 'Acme::Monkey::ClearScreen';

has 'width'   => (is=>'rw', isa=>'Int', required=>1);
has 'height'  => (is=>'rw', isa=>'Int', required=>1);

has 'layers' => (is=>'rw', isa=>'HashRef', default=>sub{ {} });

sub draw {
    my ($self) = @_;

    my @layers = map { $self->layers->{$_} } sort keys( %{ $self->layers() } );
    my $content = '';

    foreach my $y (1..$self->height()) {
        foreach my $x (1..$self->width()) {
            my $char;
            my $color;
            foreach my $layer (@layers) {
                $char = $layer->get(
                    $x - $layer->x() + 1,
                    $y - $layer->y() + 1,



( run in 0.313 second using v1.01-cache-2.11-cpan-3b35f9de6a3 )