5 use Module::Pluggable search_path => ['Display::Plugins'];
6 use Clutter qw( :init );
8 use POE qw(Loop::Glib);
11 use lib "$FindBin::Bin/lib";
16 'full|f!' => \$full_screen,
19 my $session = POE::Session->create (
30 my ( $kernel, $session ) = @_[ KERNEL, SESSION ];
32 my $stage = Clutter::Stage->get_default();
33 $stage->set_color(Clutter::Color->parse('Black'));
34 $stage->signal_connect('key-press-event' => sub { Clutter->main_quit() });
39 $stage->set_size(800, 600);
42 my @modules = loadModules($kernel, $session, $stage);
49 my ($kernel, $session, $stage) = @_;
52 for my $module (plugins()) {
53 warn "Considering $module\n";
56 warn "Failed to load plugin: $module ($@)\n";
58 push @modules, $module->new($kernel, $session, $stage);
67 my $timeline = $alpha->get_timeline();
69 return int($timeline->get_progress() * Clutter::Alpha->MAX_ALPHA);
73 return Clutter::Alpha->smoothstep_dec($_[0]);
76 return Clutter::Alpha->smoothstep_inc($_[0]);