--- /dev/null
+#############################################################################
+## Name: ext/pperl/splashfast/SplashFast.pm
+## Purpose: Wx::Perl::SplashFast -> Show a splash before loading Wx.
+## Author: Graciliano M. P.
+## Modified by:
+## Created: 30/06/2002
+## RCS-ID: $Id: SplashFast.pm 2723 2009-12-25 17:35:15Z mbarbon $
+## Copyright: (c) 2002-2006, 2009 Graciliano M. P.
+## Licence: This program is free software; you can redistribute it and/or
+## modify it under the same terms as Perl itself
+#############################################################################
+
+use strict;
+
+package Wx::Perl::SplashFast ;
+use vars qw($VERSION) ;
+
+$VERSION = '0.02'; # for wxPerl 0.15+
+
+sub import {
+ Wx::Perl::SplashFast::new(@_) if @_ > 1;
+}
+
+sub new {
+ my $class = shift;
+
+ Wx::Perl::SplashFast::App->new() ;
+ Wx::InitAllImageHandlers() ;
+
+ my $dummy;
+ my $any = Wx::constant( 'wxBITMAP_TYPE_ANY', 0, $dummy );
+ my $spl_c = Wx::constant( 'wxSPLASH_CENTRE_ON_SCREEN', 0, $dummy );
+ my $spl_ti = Wx::constant( 'wxSPLASH_TIMEOUT', 0, $dummy );
+ my $bitmap = Wx::Bitmap->new( $_[0], $any );
+
+ my $splash = Wx::SplashScreen->new( $bitmap , $spl_c|$spl_ti ,
+ $_[1] || 1000 , undef , -1 );
+
+ return $splash ;
+}
+
+###################
+# SPLASHFAST::APP #
+###################
+
+# Ghost package for your APP.
+use Wx::App;
+package Wx::Perl::SplashFast::App ;
+use vars qw(@ISA) ;
+@ISA = qw(Wx::App) ;
+
+sub OnInit { return 1 }
+
+###############################################################################
+## WX BASICS: #################################################################
+###############################################################################
+
+use Wx::Mini;
+
+Wx::_start();
+
+#######
+# END #
+#######
+
+1;
+
+__END__
+
+=head1 NAME
+
+Wx::Perl::SplashFast - Fast splash screen for the Wx module.
+
+=head1 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();
+
+
+=head1 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.
+
+=head1 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 ;
+ ...
+
+=head2 import ( IMG_FILE, SPLASH_TIMEOUT )
+
+=over 10
+
+=item IMG_FILE
+
+Path of the image file to show.
+
+=item SPLASH_TIMEOUT
+
+Timeout of the splash screen in milliseconds.
+
+=back
+
+If you C<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 );
+ }
+
+=head2 new ( IMG_FILE , SPLASH_TIMEOUT )
+
+Show the splash screen.
+
+=over 10
+
+=item IMG_FILE
+
+Path of the image file to show.
+
+=item SPLASH_TIMEOUT
+
+Timeout of the splash screen in milliseconds.
+
+=back
+
+=head1 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();
+
+=head1 SEE ALSO
+
+L<Wx>, L<Wx:SplashScreen>
+
+=head1 AUTHOR
+
+Graciliano M. P. <gm@virtuasites.com.br>
+Thanks to wxWidgets people and Mattia Barbon for wxPerl! :P
+
+=head1 COPYRIGHT
+
+This program is free software; you can redistribute it and/or
+modify it under the same terms as Perl itself.
+
+=cut
+
+# Local variables: #
+# mode: cperl #
+# End: #