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