Wx::Perl::SplashFast - Fast splash screen for the Wx module. |
Wx::Perl::SplashFast - Fast splash screen for the Wx module.
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();
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.
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 ; ...
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 ); }
Show the splash screen.
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();
Wx, Wx:SplashScreen
Graciliano M. P. <gm@virtuasites.com.br> Thanks to wxWidgets people and Mattia Barbon for wxPerl! :P
This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.
Wx::Perl::SplashFast - Fast splash screen for the Wx module. |