File Coverage

lib/ChordPro/lib/SVGPDF/Polyline.pm
Criterion Covered Total %
statement 11 39 28.2
branch 0 10 0.0
condition n/a
subroutine 4 6 66.6
pod 0 2 0.0
total 15 57 26.3


line stmt bran cond sub pod time code
1             #! perl
2              
3 1     1   13 use v5.26;
  1         4  
4 1     1   5 use Object::Pad;
  1         3  
  1         6  
5 1     1   95 use utf8;
  1         2  
  1         5  
6 1     1   23 use Carp;
  1         2  
  1         110  
7              
8             class SVGPDF::Polyline :isa(SVGPDF::Element);
9              
10 0     0 0   method process () {
  0            
  0            
11 0           $self->process_polyline(0);
12             }
13              
14 0     0 0   method process_polyline ( $close ) {
  0            
  0            
  0            
15 0           my $atts = $self->atts;
16 0           my $xo = $self->xo;
17 0 0         return if $atts->{omit}; # for testing/debugging.
18              
19 0           my ( $points, $tf ) = $self->get_params( $atts, qw(points:s transform:s) );
20              
21 0           my @d = $self-> getargs($points);
22              
23 0           my $t = $points;
24 0 0         $t = substr($t,0,20) . "..." if length($t) > 20;
25 0           $self->_dbg( $self->name, " points=\"$t\"" );
26 0           $self->_dbg( "+ xo save" );
27 0           $xo->save;
28              
29 0           $self->set_graphics;
30 0 0         $self->set_transform($tf) if $tf;
31              
32 0 0         if ( @d ) {
33 0           $xo->move( $d[0], $d[1] );
34 0           $xo->polyline( @d[2 .. $#d] );
35 0 0         $xo->close if $close;
36 0           $self->_paintsub->();
37             }
38              
39 0           $self->_dbg( "- xo restore" );
40 0           $xo->restore;
41 0           $self->css_pop;
42             }
43              
44              
45             1;