File Coverage

blib/lib/SVGPDF/Polyline.pm
Criterion Covered Total %
statement 39 39 100.0
branch 7 10 70.0
condition n/a
subroutine 6 6 100.0
pod 0 2 0.0
total 52 57 91.2


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