logo
Free, unlimited AI code reviews that run on commit
git-lrc git-lrc GitHub Install Now We'd appreciate a star git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt

Wx::Perl::SplashFast - Fast splash screen for the Wx module.

Author

       Graciliano M. P. <gm@virtuasites.com.br> Thanks to wxWidgets people and Mattia Barbon for wxPerl! :P

Description

       Using Wx::SplashScreen from Wx::App::OnInit may cause a high delay before the splash screen is shown on
       low end machines.

       This module works around this limitation; you just need to follow the example.

Example

         use Wx::Perl::SplashFast ("./logo.jpg",5000) ;
         # Don't forget to put your own image in the same path. Duh

         package myApp ;
         use base 'Wx::App';
         sub OnInit { return(@_[0]) ;}

         package myFrame ;
         use base 'Wx::Frame';
         use Wx qw( wxDEFAULT_FRAME_STYLE );

         sub new {
           my $app = shift ;
           my( $frame ) = $app->SUPER::new( @_[0] , -1, 'wxPerl Test' ,
                                            [0,0] , [400,300] ) ;
           return( $frame ) ;
         }

         package main ;
         use Wx ;

         my $myApp = myApp->new() ;

         print "window\n" ;
         my $win = myFrame->new() ;
         $win->Show(1) ;

         $myApp->SetTopWindow( $win ) ;
         $myApp->MainLoop();

Name

       Wx::Perl::SplashFast - Fast splash screen for the Wx module.

See Also

       Wx, <Wx:SplashScreen>

Synopsis

         use Wx::Perl::SplashFast ('/path/to/logo.jpg',3000);
         # timeout in milliseconds

         package myApp ;
         # subclass Wx::App ...

         package myFrame;
         # subclass Wx::Frame ...

         package main;

         my $myApp = myApp->new();
         my $frame = myFrame->new();

         $myApp->MainLoop();

Usage

       Just put the code inside the 'BEGIN {}' of your main app, like:

         sub BEGIN {
           use Wx::Perl::SplashFast ;
           Wx::Perl::SplashFast->new("./logo.jpg",5000);
         }

       or load the module before any other:

         use Wx::Perl::SplashFast ("./logo.jpg",5000) ;
         use Wx ;
         ...

   import(IMG_FILE,SPLASH_TIMEOUT)
       IMG_FILE  Path of the image file to show.

       SPLASH_TIMEOUT
                 Timeout of the splash screen in milliseconds.

       If you "use Wx::Perl::SplashFast './logo.jpg', 1000;" this has the same affetc as.

         BEGIN {
           require Wx::Perl::SplashFast;
           Wx::Perl::SplashFast->new( './logo.jpg', 1000 );
         }

   new(IMG_FILE,SPLASH_TIMEOUT)
       Show the splash screen.

       IMG_FILE  Path of the image file to show.

       SPLASH_TIMEOUT
                 Timeout of the splash screen in milliseconds.

See Also