PPresenter
view release on metacpan or search on metacpan
PPresenter/Show.pm view on Meta::CPAN
}
($hours||0)*3600 + ($mins||0)*60 + ($secs||0);
}
#
# Images
#
sub image(@) {shift->{images}->image(@_)}
sub imageSizeBase() {shift->{-imageSizeBase}}
sub resizeImages() {shift->{-resizeImages}}
sub enlargeImages() {shift->{-enlargeImages}}
sub addImageDir(@) {shift->{images}->addImageDir(@_)}
sub Photo(@) {shift->{selected_viewport}->Photo(@_)}
sub findImageFile(@) {shift->{images}->findImageFile(@_)}
sub printSlide() {shift->{current_slide}->print }
#
# Bootstrapping Exporters
#
sub addExporter($@)
{ my ($show, $name) = (shift,shift);
if(ref $name eq '')
{ eval "require $name";
if($@)
{ croak "Cannot use export $name: $@.\n";
return undef;
}
my $exporter = $name->new(@_);
# die "$name is not an exporter module.\n"
# unless $exporter->isa('PPresenter::Export');
push @{$show->{exporters}}, $exporter;
print PPresenter::TRACE "Loaded exporter $exporter.\n";
return $exporter;
}
if($name->isa('PPresenter::Exporter'))
{ push @{$show->{exporters}}, $name->change(@_);
print PPresenter::TRACE "Added exporter $name.\n";
return $name;
}
warn "WARNING: addExporter expects a module-name.\n";
return undef;
}
sub exporters() {@{shift->{exporters}}}
my $image_magick_installed;
sub hasImageMagick()
{ my $show = shift;
unless(defined $image_magick_installed)
{ eval 'require Image::Magick';
$image_magick_installed = ($@ eq '');
warn "Improve image quality by installing Image::Magick.\n"
unless $image_magick_installed;
}
return $image_magick_installed;
}
sub runsOnX()
{ my $show = shift;
exists $ENV{DISPLAY};
}
#
# Decorations
#
sub decodata($) # maintains decoration information over slide-bounds.
{ my ($show, $view) = @_;
my $label = 'deco_'.$view->viewport;
exists $show->{$label} ? $show->{$label} : ($show->{$label} = {});
}
1;
( run in 1.772 second using v1.01-cache-2.11-cpan-98e64b0badf )