SplashFast(3pm) | User Contributed Perl Documentation | SplashFast(3pm) |
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.
2023-02-14 | perl v5.36.0 |