sub splash ($) { # ----------------------------------------------------------------------------- # sub          : s p l a s h # ----------------------------------------------------------------------------- # Autor        : CD # Aufgabe      : Zeigt einen Splash-Screen zu Beginn des Programms an. # Parameter    : Referenz auf auszuführende Funktion oder Closure # Rückgabewert : keiner # ----------------------------------------------------------------------------- # 0.0.1 - 22.01.2004 - CD - Erstellt # -----------------------------------------------------------------------------     print "splash()\n" if $Conf{debug};     my $f = shift;     die "splash: Erwarte Parameter auf Funktion!" unless defined $f and                                                          ref $f eq 'CODE';     #--------------------------------------------------------------------------     # Splash-Fenster erstellen:     #--------------------------------------------------------------------------     my $splash = new MainWindow(-background => 'blue',                                 -cursor     => 'watch',                                );     $splash->Label(-text       => 'Programm',                    -font       => '{Arial} 150 {normal}',                    -foreground => 'yellow',                    -background => 'blue',                    -cursor     => 'watch',                   )             ->pack(-side       => 'top',                    -expand     => 1,                    -fill       => 'both',                   );     $splash->Label(-text       => '... loading ...',                    -anchor     => 'n',                    -foreground => 'yellow',                    -background => 'blue',                    -cursor     => 'watch',                   )             ->pack(-side => 'bottom',                    -expand => 0,                    -fill => 'none',                   );     # Größe des Fensters:     my  $windowHeight  = "600";     my  $windowWidth   = "800";     # Bildschirmgröße holen:     my  $screenHeight  = $splash->screenheight();     my  $screenWidth   = $splash->screenwidth();     # Splashscreen zentrieren:     $splash->geometry($windowWidth . 'x' . $windowHeight .                       '+' . int($screenWidth/2 - $windowWidth/2) .                       '+' . int($screenHeight/2 - $windowHeight/2)                      );     # Größe festlegen:     $splash->minsize( $windowWidth, $windowHeight);     $splash->maxsize( $windowWidth, $windowHeight);     $splash->overrideredirect(1);     $splash->bind('<>' => sub { $splash->destroy() } );     $splash->after(100,                    sub {                          &$f();                          $splash->eventGenerate('<>', -when => 'now');                        }                   );     MainLoop(); } # sub splash