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 39     39   307 use base qw(PDF::Builder::Content PDF::Builder::Content::Text PDF::Builder::Resource::XObject::Form);
  39         110  
  39         28797  
4              
5 39     39   297 use strict;
  39         2916  
  39         3024  
6 39     39   1865 use warnings;
  39         480  
  39         3552  
7              
8             our $VERSION = '3.028'; # VERSION
9             our $LAST_UPDATE = '3.027'; # manually update whenever code is changed
10              
11 39     39   258 use PDF::Builder::Basic::PDF::Dict;
  39         266  
  39         838  
12 39     39   182 use PDF::Builder::Basic::PDF::Utils;
  39         76  
  39         3929  
13 39     39   277 use PDF::Builder::Resource::XObject::Form;
  39         76  
  39         14697  
14             =head1 NAME
15              
16             PDF::Builder::Resource::XObject::Form::Hybrid - Support routines for Forms
17              
18             Inherits from L<PDF::Builder::Content>, L<PDF::Builder::Content::Text>, and L<PDF::Builder::Resource::XObject::Form>
19              
20             =head1 METHODS
21              
22             =head2 new
23              
24             PDF::Builder::Resource::XObject::Form->new(args)
25              
26             =over
27              
28             Create a new object for a form.
29              
30             =back
31              
32             =cut
33              
34             sub new {
35 10     10 1 58 my $self = PDF::Builder::Resource::XObject::Form::new(@_);
36              
37 10         36 $self->{' stream'} = '';
38 10         31 $self->{' poststream'} = '';
39 10         26 $self->{' font'} = undef;
40 10         34 $self->{' fontsize'} = 0;
41 10         31 $self->{' charspace'} = 0;
42 10         45 $self->{' hscale'} = 100;
43 10         28 $self->{' wordspace'} = 0;
44 10         48 $self->{' leading'} = 0;
45 10         48 $self->{' rise'} = 0;
46 10         29 $self->{' render'} = 0;
47 10         89 $self->{' matrix'} = [1, 0, 0, 1, 0, 0];
48 10         51 $self->{' fillcolor'} = [0];
49 10         31 $self->{' strokecolor'} = [0];
50 10         33 $self->{' translate'} = [0, 0];
51 10         49 $self->{' scale'} = [1, 1];
52 10         45 $self->{' skew'} = [0, 0];
53 10         27 $self->{' rotate'} = 0;
54 10         37 $self->{' apiistext'} = 0;
55              
56 10         39 $self->{'Resources'} = PDFDict();
57 10         36 $self->{'Resources'}->{'ProcSet'} = PDFArray(map { PDFName($_) } qw(PDF Text ImageB ImageC ImageI));
  50         96  
58              
59 10         163 $self->compressFlate();
60              
61 10         29 return $self;
62             }
63              
64             sub outobjdeep {
65 8     8 1 19 my ($self) = shift();
66              
67 8 50       97 $self->textend() unless $self->{' nofilt'};
68              
69             # # Maintainer's Note: This list of keys isn't the same as the list
70             # # in new(). Should it be?
71             # # missing: stream, poststream, apiistext
72             # # added: api, apipdf, apipage
73             # foreach my $key (qw(api apipdf apipage font fontsize charspace hscale
74             # wordspace leading rise render matrix fillcolor
75             # strokecolor translate scale skew rotate)) {
76             # delete $self->{" $key"};
77             # }
78 8         28 return PDF::Builder::Basic::PDF::Dict::outobjdeep($self, @_);
79             }
80              
81             1;