File Coverage

blib/lib/PDF/Builder/Resource/XObject/Form/Hybrid.pm
Criterion Covered Total %
statement 45 45 100.0
branch 1 2 50.0
condition n/a
subroutine 8 8 100.0
pod 2 2 100.0
total 56 57 98.2


line stmt bran cond sub pod time code
1             package PDF::Builder::Resource::XObject::Form::Hybrid;
2              
3 38     38   257 use base qw(PDF::Builder::Content PDF::Builder::Content::Text PDF::Builder::Resource::XObject::Form);
  38         89  
  38         19317  
4              
5 38     38   269 use strict;
  38         80  
  38         650  
6 38     38   154 use warnings;
  38         73  
  38         1505  
7              
8             our $VERSION = '3.024'; # VERSION
9             our $LAST_UPDATE = '3.016'; # manually update whenever code is changed
10              
11 38     38   221 use PDF::Builder::Basic::PDF::Dict;
  38         79  
  38         568  
12 38     38   170 use PDF::Builder::Basic::PDF::Utils;
  38         70  
  38         2381  
13 38     38   259 use PDF::Builder::Resource::XObject::Form;
  38         85  
  38         10558  
14             =head1 NAME
15              
16             PDF::Builder::Resource::XObject::Form::Hybrid - support routines for Forms. Inherits from L, L, and L
17              
18             =cut
19              
20             sub new {
21 10     10 1 48 my $self = PDF::Builder::Resource::XObject::Form::new(@_);
22              
23 10         32 $self->{' stream'} = '';
24 10         22 $self->{' poststream'} = '';
25 10         20 $self->{' font'} = undef;
26 10         22 $self->{' fontsize'} = 0;
27 10         50 $self->{' charspace'} = 0;
28 10         43 $self->{' hscale'} = 100;
29 10         19 $self->{' wordspace'} = 0;
30 10         18 $self->{' lead'} = 0;
31 10         29 $self->{' rise'} = 0;
32 10         20 $self->{' render'} = 0;
33 10         37 $self->{' matrix'} = [1, 0, 0, 1, 0, 0];
34 10         24 $self->{' fillcolor'} = [0];
35 10         29 $self->{' strokecolor'} = [0];
36 10         32 $self->{' translate'} = [0, 0];
37 10         31 $self->{' scale'} = [1, 1];
38 10         24 $self->{' skew'} = [0, 0];
39 10         23 $self->{' rotate'} = 0;
40 10         19 $self->{' apiistext'} = 0;
41              
42 10         28 $self->{'Resources'} = PDFDict();
43 10         27 $self->{'Resources'}->{'ProcSet'} = PDFArray(map { PDFName($_) } qw(PDF Text ImageB ImageC ImageI));
  50         96  
44              
45 10         69 $self->compressFlate();
46              
47 10         36 return $self;
48             }
49              
50             sub outobjdeep {
51 8     8 1 16 my ($self) = shift();
52              
53 8 50       78 $self->textend() unless $self->{' nofilt'};
54              
55             # # Maintainer's Note: This list of keys isn't the same as the list
56             # # in new(). Should it be?
57             # # missing: stream, poststream, apiistext
58             # # added: api, apipdf, apipage
59             # foreach my $key (qw(api apipdf apipage font fontsize charspace hscale
60             # wordspace lead rise render matrix fillcolor
61             # strokecolor translate scale skew rotate)) {
62             # delete $self->{" $key"};
63             # }
64 8         27 return PDF::Builder::Basic::PDF::Dict::outobjdeep($self, @_);
65             }
66              
67             1;