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 34     34   311 use base qw(PDF::Builder::Content PDF::Builder::Content::Text PDF::Builder::Resource::XObject::Form);
  34         113  
  34         21858  
4              
5 34     34   257 use strict;
  34         83  
  34         701  
6 34     34   180 use warnings;
  34         80  
  34         1622  
7              
8             our $VERSION = '3.023'; # VERSION
9             our $LAST_UPDATE = '3.016'; # manually update whenever code is changed
10              
11 34     34   212 use PDF::Builder::Basic::PDF::Dict;
  34         85  
  34         815  
12 34     34   191 use PDF::Builder::Basic::PDF::Utils;
  34         83  
  34         2600  
13 34     34   285 use PDF::Builder::Resource::XObject::Form;
  34         87  
  34         10619  
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 75 my $self = PDF::Builder::Resource::XObject::Form::new(@_);
22              
23 10         41 $self->{' stream'} = '';
24 10         28 $self->{' poststream'} = '';
25 10         30 $self->{' font'} = undef;
26 10         23 $self->{' fontsize'} = 0;
27 10         28 $self->{' charspace'} = 0;
28 10         27 $self->{' hscale'} = 100;
29 10         25 $self->{' wordspace'} = 0;
30 10         28 $self->{' lead'} = 0;
31 10         108 $self->{' rise'} = 0;
32 10         26 $self->{' render'} = 0;
33 10         45 $self->{' matrix'} = [1, 0, 0, 1, 0, 0];
34 10         30 $self->{' fillcolor'} = [0];
35 10         28 $self->{' strokecolor'} = [0];
36 10         34 $self->{' translate'} = [0, 0];
37 10         25 $self->{' scale'} = [1, 1];
38 10         31 $self->{' skew'} = [0, 0];
39 10         22 $self->{' rotate'} = 0;
40 10         24 $self->{' apiistext'} = 0;
41              
42 10         38 $self->{'Resources'} = PDFDict();
43 10         29 $self->{'Resources'}->{'ProcSet'} = PDFArray(map { PDFName($_) } qw(PDF Text ImageB ImageC ImageI));
  50         88  
44              
45 10         90 $self->compressFlate();
46              
47 10         25 return $self;
48             }
49              
50             sub outobjdeep {
51 8     8 1 25 my ($self) = shift();
52              
53 8 50       92 $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         31 return PDF::Builder::Basic::PDF::Dict::outobjdeep($self, @_);
65             }
66              
67             1;