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   330 use base qw(PDF::Builder::Content PDF::Builder::Content::Text PDF::Builder::Resource::XObject::Form);
  38         101  
  38         23991  
4              
5 38     38   324 use strict;
  38         109  
  38         799  
6 38     38   208 use warnings;
  38         98  
  38         1799  
7              
8             our $VERSION = '3.025'; # VERSION
9             our $LAST_UPDATE = '3.016'; # manually update whenever code is changed
10              
11 38     38   232 use PDF::Builder::Basic::PDF::Dict;
  38         109  
  38         740  
12 38     38   292 use PDF::Builder::Basic::PDF::Utils;
  38         101  
  38         3084  
13 38     38   292 use PDF::Builder::Resource::XObject::Form;
  38         122  
  38         12452  
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 46 my $self = PDF::Builder::Resource::XObject::Form::new(@_);
22              
23 10         43 $self->{' stream'} = '';
24 10         26 $self->{' poststream'} = '';
25 10         25 $self->{' font'} = undef;
26 10         21 $self->{' fontsize'} = 0;
27 10         28 $self->{' charspace'} = 0;
28 10         25 $self->{' hscale'} = 100;
29 10         24 $self->{' wordspace'} = 0;
30 10         19 $self->{' lead'} = 0;
31 10         35 $self->{' rise'} = 0;
32 10         23 $self->{' render'} = 0;
33 10         35 $self->{' matrix'} = [1, 0, 0, 1, 0, 0];
34 10         28 $self->{' fillcolor'} = [0];
35 10         28 $self->{' strokecolor'} = [0];
36 10         26 $self->{' translate'} = [0, 0];
37 10         35 $self->{' scale'} = [1, 1];
38 10         27 $self->{' skew'} = [0, 0];
39 10         23 $self->{' rotate'} = 0;
40 10         20 $self->{' apiistext'} = 0;
41              
42 10         30 $self->{'Resources'} = PDFDict();
43 10         31 $self->{'Resources'}->{'ProcSet'} = PDFArray(map { PDFName($_) } qw(PDF Text ImageB ImageC ImageI));
  50         102  
44              
45 10         87 $self->compressFlate();
46              
47 10         26 return $self;
48             }
49              
50             sub outobjdeep {
51 8     8 1 20 my ($self) = shift();
52              
53 8 50       63 $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;