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