/usr/local/CPAN/PPresenter/PPresenter/Dynamic.pm
# Copyright (C) 2000-2002, Free Software Foundation FSF.
package PPresenter::Dynamic;
use strict;
use PPresenter::StyleElem;
use base 'PPresenter::StyleElem';
use PPresenter::Program;
#
# Used while initializing.
#
use constant ObjDefaults =>
{ type => 'dynamic'
, -name => undef
, -aliases => undef
, -startPhase => 0
, -exportPhases => 0
};
sub makeProgram($$$)
{ my ($dynamic, $show, $view, $displace_x) = @_;
my $program = PPresenter::Program->new
( startPhase => $dynamic->{-startPhase}
, show => $show
, view => $view
, viewport => $view->viewport
, canvas => $view->canvas
, dx => $displace_x
);
$program;
}
sub exportedPhases($)
{ my ($dynamic, $program) = @_;
my $export = $dynamic->{-exportPhases} || return $program->lastPhase;
ref $export ? @$export : (0..$program->lastPhase);
}
1;