File Coverage

blib/lib/SDLx/Surface/TiedMatrix.pm
Criterion Covered Total %
statement 24 24 100.0
branch 2 2 100.0
condition n/a
subroutine 8 8 100.0
pod 0 1 0.0
total 34 35 97.1


line stmt bran cond sub pod time code
1             package SDLx::Surface::TiedMatrix;
2 10     10   62 use strict;
  10         26  
  10         297  
3 10     10   47 use warnings;
  10         15  
  10         226  
4 10     10   3611 use SDLx::Surface::TiedMatrixRow;
  10         24  
  10         240  
5 10     10   60 use base 'Tie::Array';
  10         25  
  10         2648  
6              
7             our $VERSION = 2.548;
8              
9             sub new {
10 5     5 0 10 my $class = shift;
11 5         16 my $matrix = shift;
12 5         21 my $self = {
13             matrix => $matrix,
14             rows => [],
15             };
16 5         21 return bless $self, $class;
17             }
18              
19             sub TIEARRAY {
20 5     5   20 return SDLx::Surface::TiedMatrix->new( $_[1] );
21             }
22              
23             sub FETCH {
24 70     70   150 my ( $self, $y ) = @_;
25              
26 70 100       197 unless ( $self->{rows}[$y] ) {
27 10         54 tie my @row, 'SDLx::Surface::TiedMatrixRow', $self->{matrix}, $y;
28 10         33 $self->{rows}[$y] = \@row;
29             }
30 70         370 return $self->{rows}[$y];
31             }
32              
33             sub FETCHSIZE {
34 4     4   9 my ( $self, $x ) = @_;
35 4         15 return $self->{matrix}->surface->h;
36             }
37              
38             1;