#!/usr/bin/env perl # # Flicker.pl # # This is just a brain dead slide show that demonstrates # the SDL_FULLSCREEN flag, and Cursor::show(0) for hiding # the cursor. It quits as soon as you move the mouse. use SDL::App; use SDL::Surface; use SDL::Event; use SDL::Cursor; $app = new SDL::App -title => "Flicker", -icon => "wilbur.png", -flags => SDL_FULLSCREEN, -width => 800, -height => 600; @files = split(/\s+\n*/,`ls`); $e = new SDL::Event; $e->set(SDL_SYSWMEVENT,SDL_IGNORE); SDL::Cursor::show(0); while(1) { for $f (@files) { my ($name,$ext) = split(/\./,$f); if ( ($ext eq "gif") || ($ext eq "jpg") || ($ext eq "png")) { $img = new SDL::Surface -name => $f; if ($drect) { $app->fill($drect,0); } $rect = new SDL::Rect -height => $img->height, -width => $img->width; $drect = new SDL::Rect -height => $img->height, -width => $img->width, -x => 400 - $img->width / 2, -y => 300 - $img->height /2; $img->blit($rect,$app,$drect); $app->flip(); } else { next; } for ( 1 .. 10 ) { $e->pump; $e->poll; if ($e->type == SDL_MOUSEMOTION) { exit; } $app->delay(200); } } }