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