</div>
<h1 id="SYNOPSIS">SYNOPSIS</h1><p><a href="#TOP" class="toplink">Top</a></p>
<div id="SYNOPSIS_CONTENT">
-<pre> use SDL;
- use SDL::Event;
- use SDL::App;
-
- my $app = new SDL::App (
- -title => 'Application Title',
- -width => 640,
- -height => 480,
- -depth => 32 );
+<pre> use SDL;
+ use SDL::App;
+ use SDL::Event;
+ use SDL::Events;
+
+ my $app = SDL::App->new(
+ -title => 'Application Title',
+ -width => 640,
+ -height => 480,
+ -depth => 32
+ );
</pre>
<p>This is the manual way of doing things </p>
-<pre> my $event = new SDL::Event; # create a new event
+<pre> my $event = SDL::Event->new; # create a new event
- $event->pump();
- $event->poll();
+ SDL::Events::pump_events();
- while ($event->wait()) {
- my $type = $event->type(); # get event type
- print $type;
- exit if $type == SDL_QUIT;
- }
-An alternative to the manual Event processing is the L<SDL::App::loop> .
+ while ( SDL::Events::poll_event($event) ) {
+ my $type = $event->type(); # get event type
+ print $type;
+ exit if $type == SDL_QUIT;
+ }
</pre>
+<p>An alternative to the manual Event processing is the <a href="/SDL-App.html#loop">SDL::App::loop</a> .</p>
</div>
<h1 id="DESCRIPTION">DESCRIPTION</h1><p><a href="#TOP" class="toplink">Top</a></p>
of event handler subroutines. The keys of the hash must be SDL event types such
as SDL_QUIT(), SDL_KEYDOWN(), and the like. The event method recieves as its parameter
the event object used in the loop.</p>
-<pre> Example:
-
- my $app = new SDL::App -title => "test.app",
- -width => 800,
- -height => 600,
- -depth => 32;
-
- my %actions = (
- SDL_QUIT() => sub { exit(0); },
- SDL_KEYDOWN() => sub { print "Key Pressed" },
- );
-
- $app->loop(\%actions);
+<p>Example:</p>
+<pre> my $app = SDL::App->new(
+ -title => "test.app",
+ -width => 800,
+ -height => 600,
+ -depth => 32
+ );
+
+ my %actions = (
+ SDL_QUIT() => sub { exit(0); },
+ SDL_KEYDOWN() => sub { print "Key Pressed" },
+ );
+
+ $app->loop( \%actions );
</pre>
</pre>
<p>and then be sure to create an event object amongst the animation initialization code:</p>
-<pre> my $event = new SDL::Event;
+<pre> my $event = SDL::Event->new;
</pre>
<p>Finally, we need to update the application loop so that it examines and responds to events. Replace the current application loop with this code:</p>
my $bg = SDL::Rect->new( 0,0,$side_length, $side_length, );
# event listener
- my $event = new SDL::Event->new();
+ my $event = SDL::Event->new();
# event dispatch table
my $keyname_dispatch_table = {
<!-- INDEX START -->
<h3 id="TOP">Index</h3>
-<ul><li><a href="#The_SDL_Perl_2010_Development_Team">The SDL Perl 2010 Development Team</a>
+<ul><li><a href="#NAME">NAME</a></li>
+<li><a href="#The_SDL_Perl_2010_Development_Team">The SDL Perl 2010 Development Team</a>
<ul><li><a href="#Core_Developers">Core Developers</a></li>
<li><a href="#Maintainance">Maintainance </a>
</li>
</ul><hr />
<!-- INDEX END -->
+<h1 id="NAME">NAME</h1><p><a href="#TOP" class="toplink">Top</a></p>
+<div id="NAME_CONTENT">
+<p>SDL::Credits - Authors and contributors of the SDL Perl project</p>
+
+</div>
<h1 id="The_SDL_Perl_2010_Development_Team">The SDL Perl 2010 Development Team</h1><p><a href="#TOP" class="toplink">Top</a></p>
<div id="The_SDL_Perl_2010_Development_Team_C">
<h2 id="Core_Developers">Core Developers</h2>
<div id="Core_Developers_CONTENT">
<p>See the <a href="http://github.com/kthakore/SDL_perl/graphs/impact">impact graph</a> on our github repository.</p>
-<p>Also see our CONTRIBUTERS file.</p>
+<p>Also see our CONTRIBUTORS file.</p>
</div>
<h2 id="Maintainance">Maintainance </h2>
</pre>
<p>They can be reached on the SDL-devel\@perl.org mailing list and the #sdl channel on the irc.perl.org network.</p>
-
-
-
-
</div>
</div>
\ No newline at end of file
</div>
<h1 id="SYNOPSIS">SYNOPSIS</h1><p><a href="#TOP" class="toplink">Top</a></p>
<div id="SYNOPSIS_CONTENT">
-<pre> $info = new SDL::MPEG -from => $mpeg;
+<pre> $info = SDL::MPEG->new( -from => $mpeg );
</pre>
<p>Jumps to position seconds from the current position in the stream.
So you may want to call <a href="/SDL-Mixer-Music.html#rewind_music">SDL::Mixer::Music::rewind_music</a> before this.
Does not go in reverse... negative values do nothing. </p>
- <p>Returns: <code>0</code> on success, or <code>-1</code> if the codec doesn't support this function. </p>
+ </dd>
+</dl>
+<p>Returns: <code>0</code> on success, or <code>-1</code> if the codec doesn't support this function. </p>
</div>
<h2 id="paused_music">paused_music</h2>
<pre> my $paused = SDL::Mixer::Music::paused_music();
</pre>
- <p>Returns <code>1</code> if the music is paused, otherwise <code>0</code>.</p>
+<p>Returns <code>1</code> if the music is paused, otherwise <code>0</code>.</p>
</div>
<h2 id="playing_music">playing_music</h2>
<pre> my $playing_music = SDL::Mixer::Music::playing_music();
</pre>
- <p>Returns <code>1</code> if the music is playing sound, otherwise <code>0</code>. It does'nt check if the music is paused.</p>
+<p>Returns <code>1</code> if the music is playing sound, otherwise <code>0</code>. It does'nt check if the music is paused.</p>
</div>
<h1 id="AUTHOR">AUTHOR</h1><p><a href="#TOP" class="toplink">Top</a></p>
<div id="AUTHOR_CONTENT">
- <p>Tobias Leich [FROGGS]</p>
+<p>Tobias Leich [FROGGS]</p>
</div>
</div>
\ No newline at end of file
<p><a href="SDL-Music.html">SDL::Music</a> is used to load music files for use with <a href="SDL-Mixer.html">SDL::Mixer</a>.
To load a music file one simply creates a new object passing the filename
to the constructor:</p>
-<pre> my $music = new SDL::Music 'my_song.ogg';
+<pre> my $music = SDL::Music->new( 'my_song.ogg' );
</div>
<h2 id="new">new</h2>
<div id="new_CONTENT">
-<pre> my $context = new SDL::Pango::Context;
+<pre> my $context = SDL::Pango::Context->new;
</pre>
<p>Creates a new SDL::Pango context object. See <a href="SDL-Pango.html">SDL::Pango</a>.</p>
SDL::Pango::init();
- my $context = new SDL::Pango::Context;
+ my $context = SDL::Pango::Context->new;
SDL::Pango::set_default_color($context, 0xA7C344FF, 0);
SDL::Pango::set_markup($context, 'Hallo <b>W<span foreground="red">o</span><i>r</i><u>l</u>d</b>!', -1);
</div>
<h1 id="SYNOPSIS">SYNOPSIS</h1><p><a href="#TOP" class="toplink">Top</a></p>
<div id="SYNOPSIS_CONTENT">
-<pre> $video = new SDL::SMPEG ( -name => 'pr0n.mpg' );
+<pre> $video = SDL::SMPEG->new( -name => 'pr0n.mpg' );
</pre>
<p><a href="SDL-Sound.html">SDL::Sound</a> is a module for loading WAV files for sound effects.
The file can be loaded by creating a new <a href="SDL-Sound.html">SDL::Sound</a> object by
passing the filename to the constructor;</p>
-<pre> my $sound = new SDL::Sound 'my_sfx.wav';
+<pre> my $sound = SDL::Sound->new( 'my_sfx.wav' );
</pre>
</ul>
</li>
<li><a href="#Direct_Write_to_Surface_Pixel">Direct Write to Surface Pixel</a>
-<ul><li><a href="#get_pixels">get_pixels</a></li>
+<ul><li><a href="#get_pixel">get_pixel</a></li>
<li><a href="#set_pixels">set_pixels</a>
<ul><li><a href="#Usage">Usage</a></li>
</ul>
<p>Disclaimer: This can be very slow, it is suitable for creating surfaces one time and not for animations</p>
</div>
-<h2 id="get_pixels">get_pixels</h2>
-<div id="get_pixels_CONTENT">
-<pre> $surface->get_pixels( $offset )
+<h2 id="get_pixel">get_pixel</h2>
+<div id="get_pixel_CONTENT">
+<pre> my $pixel = $surface->get_pixel( $offset )
</pre>
-<p>Returns the current integer value at (surface->pixels)[offset] </p>
+<p>Returns the pixel value for the given <code>$offset</code>. The pixel value depends on current pixel format.</p>
+<p><strong>Note</strong>: For surfaces with a palette (1 byte per pixel) the palette index is returned instead of color values.</p>
</div>
<h2 id="set_pixels">set_pixels</h2>
<pre> $surface->set_pixels( $offset, $value );
</pre>
-<p>Sets the current integer to $value at (surface->pixels)[offset]</p>
+<p>Sets the current pixel <code>$value</code> to the given <code>$offset</code>. The pixel value must fit the pixel format of the surface.</p>
+<p><strong>Note</strong>: For surfaces with a palette (1 byte per pixel) the palette index must be passed instead of color values.</p>
</div>
<h3 id="Usage">Usage</h3>
<div id="Usage_CONTENT">
-<pre> sub putpixel
- {
- my($x, $y, $color) = @_;
- my $lineoffset = $y * ($screen->pitch / $depth_in_bytes);
- $screen->set_pixels( $lineoffset+ $x, $color);
- }
+<pre> sub putpixel
+ {
+ my($x, $y, $color) = @_;
+ $screen->set_pixels( $x + $y * $screen->w, $color);
+ }
</pre>
-<p>Note: $depth_in_bytes for 32 is 4, 16 is 2, 8 is 1;</p>
<p>See also examples/sols/ch02.pl</p>
</div>
<div class="pod">
-<h1>Documentation (latest development branch)</h1><table style="margin-left: 0px; margin-top: 5px"><tr><td colspan="3"><strong style="font-size: 14px">Core</strong></td></tr><tr><td><img src="assets/SDL_thumb.png" alt="thumb" /></td><td><a href="SDL.html">SDL</a></td><td>- Simple DirectMedia Layer for Perl</td></tr><tr><td><img src="assets/bubble-2-mini.png" alt="thumb" /></td><td><a href="SDL-Time.html">SDL::Time</a></td><td>- a SDL perl extension for managing timers.</td></tr></table><table style="margin-left: 30px; margin-top: 5px"><tr><td colspan="3"><strong style="font-size: 14px">Audio</strong></td></tr><tr><td><img src="assets/bubble-6-mini.png" alt="thumb" /></td><td><a href="SDL-Audio.html">SDL::Audio</a></td><td>- SDL Bindings for Audio</td></tr></table><table style="margin-left: 60px; margin-top: 5px"><tr><td colspan="3"><strong style="font-size: 14px">Structure</strong></td></tr><tr><td><img src="assets/bubble-1-mini.png" alt="thumb" /></td><td><a href="SDL-AudioCVT.html">SDL::AudioCVT</a></td><td>- Audio Conversion Structure</td></tr><tr><td><img src="assets/bubble-1-mini.png" alt="thumb" /></td><td><a href="SDL-AudioSpec.html">SDL::AudioSpec</a></td><td>- SDL Bindings for structure SDL::AudioSpec</td></tr></table><table style="margin-left: 30px; margin-top: 5px"><tr><td colspan="3"><strong style="font-size: 14px">CDROM</strong></td></tr><tr><td><img src="assets/bubble-3-mini.png" alt="thumb" /></td><td><a href="SDL-CDROM.html">SDL::CDROM</a></td><td>- SDL Bindings for the CDROM device</td></tr></table><table style="margin-left: 60px; margin-top: 5px"><tr><td colspan="3"><strong style="font-size: 14px">Structure</strong></td></tr><tr><td><img src="assets/bubble-3-mini.png" alt="thumb" /></td><td><a href="SDL-CD.html">SDL::CD</a></td><td>- SDL Bindings for structure SDL_CD</td></tr><tr><td><img src="assets/bubble-3-mini.png" alt="thumb" /></td><td><a href="SDL-CDTrack.html">SDL::CDTrack</a></td><td>- SDL Bindings for structure SDL_CDTrack</td></tr></table><table style="margin-left: 30px; margin-top: 5px"><tr><td colspan="3"><strong style="font-size: 14px">Events</strong></td></tr><tr><td><img src="assets/bubble-5-mini.png" alt="thumb" /></td><td><a href="SDL-Events.html">SDL::Events</a></td><td>- Bindings to the Events Category in SDL API</td></tr></table><table style="margin-left: 60px; margin-top: 5px"><tr><td colspan="3"><strong style="font-size: 14px">Structure</strong></td></tr><tr><td><img src="assets/bubble-3-mini.png" alt="thumb" /></td><td><a href="SDL-Event.html">SDL::Event</a></td><td>- General event structure</td></tr></table><table style="margin-left: 30px; margin-top: 5px"><tr><td colspan="3"><strong style="font-size: 14px">Joystick</strong></td></tr><tr><td><img src="assets/bubble-4-mini.png" alt="thumb" /></td><td><a href="SDL-Joystick.html">SDL::Joystick</a></td><td>- SDL Bindings for the Joystick device</td></tr></table><table style="margin-left: 30px; margin-top: 5px"><tr><td colspan="3"><strong style="font-size: 14px">Mouse</strong></td></tr><tr><td><img src="assets/bubble-3-mini.png" alt="thumb" /></td><td><a href="SDL-Mouse.html">SDL::Mouse</a></td><td>- SDL Bindings for the Mouse device</td></tr></table><table style="margin-left: 60px; margin-top: 5px"><tr><td colspan="3"><strong style="font-size: 14px">Structure</strong></td></tr><tr><td><img src="assets/bubble-1-mini.png" alt="thumb" /></td><td><a href="SDL-Cursor.html">SDL::Cursor</a></td><td>- Mouse cursor structure</td></tr></table><table style="margin-left: 30px; margin-top: 5px"><tr><td colspan="3"><strong style="font-size: 14px">Structure</strong></td></tr><tr><td><img src="assets/bubble-4-mini.png" alt="thumb" /></td><td><a href="SDL-Version.html">SDL::Version</a></td><td>- SDL Bindings for structure SDL_Version</td></tr></table><table style="margin-left: 30px; margin-top: 5px"><tr><td colspan="3"><strong style="font-size: 14px">Video</strong></td></tr><tr><td><img src="assets/Video_thumb.png" alt="thumb" /></td><td><a href="SDL-Video.html">SDL::Video</a></td><td>- Bindings to the video category in SDL API</td></tr></table><table style="margin-left: 60px; margin-top: 5px"><tr><td colspan="3"><strong style="font-size: 14px">Structure</strong></td></tr><tr><td><img src="assets/bubble-4-mini.png" alt="thumb" /></td><td><a href="SDL-Color.html">SDL::Color</a></td><td>- Format independent color description</td></tr><tr><td><img src="assets/bubble-3-mini.png" alt="thumb" /></td><td><a href="SDL-Overlay.html">SDL::Overlay</a></td><td>- YUV Video overlay</td></tr><tr><td><img src="assets/bubble-6-mini.png" alt="thumb" /></td><td><a href="SDL-Palette.html">SDL::Palette</a></td><td>- Color palette for 8-bit pixel formats </td></tr><tr><td><img src="assets/bubble-7-mini.png" alt="thumb" /></td><td><a href="SDL-PixelFormat.html">SDL::PixelFormat</a></td><td>- Stores surface format information</td></tr><tr><td><img src="assets/bubble-3-mini.png" alt="thumb" /></td><td><a href="SDL-Rect.html">SDL::Rect</a></td><td>- Defines a rectangular area</td></tr><tr><td><img src="assets/bubble-2-mini.png" alt="thumb" /></td><td><a href="SDL-Surface.html">SDL::Surface</a></td><td>- Graphic surface structure.</td></tr><tr><td><img src="assets/bubble-7-mini.png" alt="thumb" /></td><td><a href="SDL-VideoInfo.html">SDL::VideoInfo</a></td><td>- Video Target Information </td></tr></table><br /><table style="margin-left: 0px; margin-top: 5px"><tr><td colspan="3"><strong style="font-size: 14px">Cookbook</strong></td></tr><tr><td><img src="assets/bubble-6-mini.png" alt="thumb" /></td><td><a href="SDL-Cookbook.html">SDL::Cookbook</a></td><td></td></tr><tr><td><img src="assets/bubble-3-mini.png" alt="thumb" /></td><td><a href="SDL-Cookbook-PDL.html">SDL::Cookbook::PDL</a></td><td></td></tr></table><br /><table style="margin-left: 0px; margin-top: 5px"><tr><td colspan="3"><strong style="font-size: 14px">Extension</strong></td></tr><tr><td><img src="assets/bubble-1-mini.png" alt="thumb" /></td><td><a href="SDL-App.html">SDL::App</a></td><td>- a SDL perl extension</td></tr></table><br /><table style="margin-left: 0px; margin-top: 5px"><tr><td colspan="3"><strong style="font-size: 14px">GFX</strong></td></tr><tr><td><img src="assets/bubble-3-mini.png" alt="thumb" /></td><td><a href="SDL-GFX-Framerate.html">SDL::GFX::Framerate</a></td><td>- framerate calculating functions</td></tr><tr><td><img src="assets/bubble-7-mini.png" alt="thumb" /></td><td><a href="SDL-GFX-Primitives.html">SDL::GFX::Primitives</a></td><td>- basic drawing functions</td></tr></table><table style="margin-left: 30px; margin-top: 5px"><tr><td colspan="3"><strong style="font-size: 14px">Structure</strong></td></tr><tr><td><img src="assets/bubble-2-mini.png" alt="thumb" /></td><td><a href="SDL-GFX-FPSManager.html">SDL::GFX::FPSManager</a></td><td>- data structure used by SDL::GFX::Framerate</td></tr></table><br /><table style="margin-left: 0px; margin-top: 5px"><tr><td colspan="3"><strong style="font-size: 14px">Image</strong></td></tr><tr><td><img src="assets/bubble-2-mini.png" alt="thumb" /></td><td><a href="SDL-Image.html">SDL::Image</a></td><td>- Bindings for the SDL_Image library</td></tr></table><br /><table style="margin-left: 0px; margin-top: 5px"><tr><td colspan="3"><strong style="font-size: 14px">Mixer</strong></td></tr><tr><td><img src="assets/bubble-1-mini.png" alt="thumb" /></td><td><a href="SDL-Mixer.html">SDL::Mixer</a></td><td>- Sound and music functions</td></tr><tr><td><img src="assets/bubble-6-mini.png" alt="thumb" /></td><td><a href="SDL-Mixer-Channels.html">SDL::Mixer::Channels</a></td><td>- SDL::Mixer channel functions and bindings</td></tr><tr><td><img src="assets/bubble-7-mini.png" alt="thumb" /></td><td><a href="SDL-Mixer-Effects.html">SDL::Mixer::Effects</a></td><td>- sound effect functions</td></tr><tr><td><img src="assets/bubble-3-mini.png" alt="thumb" /></td><td><a href="SDL-Mixer-Groups.html">SDL::Mixer::Groups</a></td><td>- Audio channel group functions</td></tr><tr><td><img src="assets/bubble-4-mini.png" alt="thumb" /></td><td><a href="SDL-Mixer-Music.html">SDL::Mixer::Music</a></td><td>- functions for music</td></tr><tr><td><img src="assets/bubble-2-mini.png" alt="thumb" /></td><td><a href="SDL-Mixer-Samples.html">SDL::Mixer::Samples</a></td><td>- functions for loading sound samples</td></tr></table><table style="margin-left: 30px; margin-top: 5px"><tr><td colspan="3"><strong style="font-size: 14px">Structure</strong></td></tr><tr><td><img src="assets/bubble-1-mini.png" alt="thumb" /></td><td><a href="SDL-Mixer-MixChunk.html">SDL::Mixer::MixChunk</a></td><td>- SDL Bindings for structure SDL_MixChunk</td></tr><tr><td><img src="assets/bubble-5-mini.png" alt="thumb" /></td><td><a href="SDL-Mixer-MixMusic.html">SDL::Mixer::MixMusic</a></td><td>- SDL Bindings for structure SDL_MixMusic</td></tr></table><br /><table style="margin-left: 0px; margin-top: 5px"><tr><td colspan="3"><strong style="font-size: 14px">Pango</strong></td></tr><tr><td><img src="assets/bubble-1-mini.png" alt="thumb" /></td><td><a href="SDL-Pango.html">SDL::Pango</a></td><td>- Text rendering engine</td></tr></table><table style="margin-left: 30px; margin-top: 5px"><tr><td colspan="3"><strong style="font-size: 14px">Structure</strong></td></tr><tr><td><img src="assets/bubble-5-mini.png" alt="thumb" /></td><td><a href="SDL-Pango-Context.html">SDL::Pango::Context</a></td><td>- Context object for SDL::Pango</td></tr><table style="margin-left: 0px; margin-top: 5px"><tr><td colspan="3"><strong style="font-size: 14px">TODO</strong></td></tr><table style="margin-left: 30px; margin-top: 5px"><tr><td colspan="3"><strong style="font-size: 14px">Core</strong></td></tr></table><table style="margin-left: 60px; margin-top: 5px"><tr><td colspan="3"><strong style="font-size: 14px">MultiThread</strong></td></tr><tr><td><img src="assets/bubble-2-mini.png" alt="thumb" /></td><td><a href="SDL-MultiThread.html">SDL::MultiThread</a></td><td>- Bindings to the MultiThread category in SDL API</td></tr></table><table style="margin-left: 60px; margin-top: 5px"><tr><td colspan="3"><strong style="font-size: 14px">Structure</strong></td></tr><tr><td><img src="assets/bubble-4-mini.png" alt="thumb" /></td><td><a href="SDL-RWOps.html">SDL::RWOps</a></td><td>- SDL Bindings to SDL_RWOPs</td></tr></table><table style="margin-left: 30px; margin-top: 5px"><tr><td colspan="3"><strong style="font-size: 14px">GFX</strong></td></tr><tr><td><img src="assets/bubble-5-mini.png" alt="thumb" /></td><td><a href="SDL-GFX-BlitFunc.html">SDL::GFX::BlitFunc</a></td><td>- blitting functions</td></tr><tr><td><img src="assets/bubble-6-mini.png" alt="thumb" /></td><td><a href="SDL-GFX-ImageFilter.html">SDL::GFX::ImageFilter</a></td><td>- image filtering functions</td></tr><tr><td><img src="assets/bubble-4-mini.png" alt="thumb" /></td><td><a href="SDL-GFX-Rotozoom.html">SDL::GFX::Rotozoom</a></td><td>- rotation and zooming functions for surfaces</td></tr></table><br /><table style="margin-left: 0px; margin-top: 5px"><tr><td colspan="3"><strong style="font-size: 14px">TTF</strong></td></tr><tr><td><img src="assets/bubble-5-mini.png" alt="thumb" /></td><td><a href="SDL-TTF.html">SDL::TTF</a></td><td>- True Type Font functions (libfreetype)</td></tr></table><table style="margin-left: 30px; margin-top: 5px"><tr><td colspan="3"><strong style="font-size: 14px">Structure</strong></td></tr><tr><td><img src="assets/bubble-4-mini.png" alt="thumb" /></td><td><a href="SDL-TTF-Font.html">SDL::TTF::Font</a></td><td>- Font object type for SDL_ttf</td></tr></table><br /><table style="margin-left: 0px; margin-top: 5px"><tr><td colspan="3"><strong style="font-size: 14px">Tutorials</strong></td></tr><tr><td><img src="assets/bubble-7-mini.png" alt="thumb" /></td><td><a href="SDL-Tutorial.html">SDL::Tutorial</a></td><td>- introduction to Perl SDL</td></tr><tr><td><img src="assets/bubble-4-mini.png" alt="thumb" /></td><td><a href="SDL-Tutorial-Animation.html">SDL::Tutorial::Animation</a></td><td></td></tr><tr><td><img src="assets/bubble-5-mini.png" alt="thumb" /></td><td><a href="SDL-Tutorial-LunarLander.html">SDL::Tutorial::LunarLander</a></td><td>- a small tutorial on Perl SDL</td></tr><tr><td><img src="assets/bubble-7-mini.png" alt="thumb" /></td><td><a href="SDL-Tutorial-Tetris.html">SDL::Tutorial::Tetris</a></td><td>- Let's Make Tetris</td></tr></table><br /><table style="margin-left: 0px; margin-top: 5px"><tr><td colspan="3"><strong style="font-size: 14px">UNCATEGORIZED</strong></td></tr><tr><td><img src="assets/bubble-3-mini.png" alt="thumb" /></td><td><a href="SDL-Credits.html">SDL::Credits</a></td><td></td></tr><tr><td><img src="assets/bubble-1-mini.png" alt="thumb" /></td><td><a href="SDL-Game-Palette.html">SDL::Game::Palette</a></td><td>- a perl extension</td></tr><tr><td><img src="assets/bubble-4-mini.png" alt="thumb" /></td><td><a href="SDL-MPEG.html">SDL::MPEG</a></td><td>- a SDL perl extension</td></tr><tr><td><img src="assets/bubble-7-mini.png" alt="thumb" /></td><td><a href="SDL-Music.html">SDL::Music</a></td><td>- a perl extension</td></tr><tr><td><img src="assets/bubble-1-mini.png" alt="thumb" /></td><td><a href="SDL-OpenGL.html">SDL::OpenGL</a></td><td>- a perl extension</td></tr><tr><td><img src="assets/bubble-1-mini.png" alt="thumb" /></td><td><a href="SDL-SMPEG.html">SDL::SMPEG</a></td><td>- a SDL perl extension</td></tr><tr><td><img src="assets/bubble-2-mini.png" alt="thumb" /></td><td><a href="SDL-Sound.html">SDL::Sound</a></td><td>- a perl extension</td></tr><tr><td><img src="assets/bubble-6-mini.png" alt="thumb" /></td><td><a href="SDL-Tool-Font.html">SDL::Tool::Font</a></td><td>- a perl extension</td></tr><tr><td><img src="assets/bubble-4-mini.png" alt="thumb" /></td><td><a href="SDL-Tool-Graphic.html">SDL::Tool::Graphic</a></td><td></td></tr></table></div>
+<h1>Documentation (latest development branch)</h1><table style="margin-left: 0px; margin-top: 5px"><tr><td colspan="3"><strong style="font-size: 14px">Core</strong></td></tr><tr><td><img src="assets/SDL_thumb.png" alt="thumb" /></td><td><a href="SDL.html">SDL</a></td><td>- Simple DirectMedia Layer for Perl</td></tr><tr><td><img src="assets/bubble-1-mini.png" alt="thumb" /></td><td><a href="SDL-Time.html">SDL::Time</a></td><td>- a SDL perl extension for managing timers.</td></tr></table><table style="margin-left: 30px; margin-top: 5px"><tr><td colspan="3"><strong style="font-size: 14px">Audio</strong></td></tr><tr><td><img src="assets/bubble-6-mini.png" alt="thumb" /></td><td><a href="SDL-Audio.html">SDL::Audio</a></td><td>- SDL Bindings for Audio</td></tr></table><table style="margin-left: 60px; margin-top: 5px"><tr><td colspan="3"><strong style="font-size: 14px">Structure</strong></td></tr><tr><td><img src="assets/bubble-7-mini.png" alt="thumb" /></td><td><a href="SDL-AudioCVT.html">SDL::AudioCVT</a></td><td>- Audio Conversion Structure</td></tr><tr><td><img src="assets/bubble-3-mini.png" alt="thumb" /></td><td><a href="SDL-AudioSpec.html">SDL::AudioSpec</a></td><td>- SDL Bindings for structure SDL::AudioSpec</td></tr></table><table style="margin-left: 30px; margin-top: 5px"><tr><td colspan="3"><strong style="font-size: 14px">CDROM</strong></td></tr><tr><td><img src="assets/bubble-5-mini.png" alt="thumb" /></td><td><a href="SDL-CDROM.html">SDL::CDROM</a></td><td>- SDL Bindings for the CDROM device</td></tr></table><table style="margin-left: 60px; margin-top: 5px"><tr><td colspan="3"><strong style="font-size: 14px">Structure</strong></td></tr><tr><td><img src="assets/bubble-7-mini.png" alt="thumb" /></td><td><a href="SDL-CD.html">SDL::CD</a></td><td>- SDL Bindings for structure SDL_CD</td></tr><tr><td><img src="assets/bubble-2-mini.png" alt="thumb" /></td><td><a href="SDL-CDTrack.html">SDL::CDTrack</a></td><td>- SDL Bindings for structure SDL_CDTrack</td></tr></table><table style="margin-left: 30px; margin-top: 5px"><tr><td colspan="3"><strong style="font-size: 14px">Events</strong></td></tr><tr><td><img src="assets/bubble-6-mini.png" alt="thumb" /></td><td><a href="SDL-Events.html">SDL::Events</a></td><td>- Bindings to the Events Category in SDL API</td></tr></table><table style="margin-left: 60px; margin-top: 5px"><tr><td colspan="3"><strong style="font-size: 14px">Structure</strong></td></tr><tr><td><img src="assets/bubble-3-mini.png" alt="thumb" /></td><td><a href="SDL-Event.html">SDL::Event</a></td><td>- General event structure</td></tr></table><table style="margin-left: 30px; margin-top: 5px"><tr><td colspan="3"><strong style="font-size: 14px">Joystick</strong></td></tr><tr><td><img src="assets/bubble-5-mini.png" alt="thumb" /></td><td><a href="SDL-Joystick.html">SDL::Joystick</a></td><td>- SDL Bindings for the Joystick device</td></tr></table><table style="margin-left: 30px; margin-top: 5px"><tr><td colspan="3"><strong style="font-size: 14px">Mouse</strong></td></tr><tr><td><img src="assets/bubble-4-mini.png" alt="thumb" /></td><td><a href="SDL-Mouse.html">SDL::Mouse</a></td><td>- SDL Bindings for the Mouse device</td></tr></table><table style="margin-left: 60px; margin-top: 5px"><tr><td colspan="3"><strong style="font-size: 14px">Structure</strong></td></tr><tr><td><img src="assets/bubble-7-mini.png" alt="thumb" /></td><td><a href="SDL-Cursor.html">SDL::Cursor</a></td><td>- Mouse cursor structure</td></tr></table><table style="margin-left: 30px; margin-top: 5px"><tr><td colspan="3"><strong style="font-size: 14px">Structure</strong></td></tr><tr><td><img src="assets/bubble-1-mini.png" alt="thumb" /></td><td><a href="SDL-Version.html">SDL::Version</a></td><td>- SDL Bindings for structure SDL_Version</td></tr></table><table style="margin-left: 30px; margin-top: 5px"><tr><td colspan="3"><strong style="font-size: 14px">Video</strong></td></tr><tr><td><img src="assets/Video_thumb.png" alt="thumb" /></td><td><a href="SDL-Video.html">SDL::Video</a></td><td>- Bindings to the video category in SDL API</td></tr></table><table style="margin-left: 60px; margin-top: 5px"><tr><td colspan="3"><strong style="font-size: 14px">Structure</strong></td></tr><tr><td><img src="assets/bubble-4-mini.png" alt="thumb" /></td><td><a href="SDL-Color.html">SDL::Color</a></td><td>- Format independent color description</td></tr><tr><td><img src="assets/bubble-5-mini.png" alt="thumb" /></td><td><a href="SDL-Overlay.html">SDL::Overlay</a></td><td>- YUV Video overlay</td></tr><tr><td><img src="assets/bubble-1-mini.png" alt="thumb" /></td><td><a href="SDL-Palette.html">SDL::Palette</a></td><td>- Color palette for 8-bit pixel formats </td></tr><tr><td><img src="assets/bubble-5-mini.png" alt="thumb" /></td><td><a href="SDL-PixelFormat.html">SDL::PixelFormat</a></td><td>- Stores surface format information</td></tr><tr><td><img src="assets/bubble-1-mini.png" alt="thumb" /></td><td><a href="SDL-Rect.html">SDL::Rect</a></td><td>- Defines a rectangular area</td></tr><tr><td><img src="assets/bubble-2-mini.png" alt="thumb" /></td><td><a href="SDL-Surface.html">SDL::Surface</a></td><td>- Graphic surface structure.</td></tr><tr><td><img src="assets/bubble-5-mini.png" alt="thumb" /></td><td><a href="SDL-VideoInfo.html">SDL::VideoInfo</a></td><td>- Video Target Information </td></tr></table><br /><table style="margin-left: 0px; margin-top: 5px"><tr><td colspan="3"><strong style="font-size: 14px">Cookbook</strong></td></tr><tr><td><img src="assets/bubble-3-mini.png" alt="thumb" /></td><td><a href="SDL-Cookbook.html">SDL::Cookbook</a></td><td></td></tr><tr><td><img src="assets/bubble-3-mini.png" alt="thumb" /></td><td><a href="SDL-Cookbook-PDL.html">SDL::Cookbook::PDL</a></td><td></td></tr></table><br /><table style="margin-left: 0px; margin-top: 5px"><tr><td colspan="3"><strong style="font-size: 14px">Extension</strong></td></tr><tr><td><img src="assets/bubble-2-mini.png" alt="thumb" /></td><td><a href="SDL-App.html">SDL::App</a></td><td>- a SDL perl extension</td></tr></table><br /><table style="margin-left: 0px; margin-top: 5px"><tr><td colspan="3"><strong style="font-size: 14px">GFX</strong></td></tr><tr><td><img src="assets/bubble-3-mini.png" alt="thumb" /></td><td><a href="SDL-GFX-Framerate.html">SDL::GFX::Framerate</a></td><td>- framerate calculating functions</td></tr><tr><td><img src="assets/bubble-5-mini.png" alt="thumb" /></td><td><a href="SDL-GFX-Primitives.html">SDL::GFX::Primitives</a></td><td>- basic drawing functions</td></tr></table><table style="margin-left: 30px; margin-top: 5px"><tr><td colspan="3"><strong style="font-size: 14px">Structure</strong></td></tr><tr><td><img src="assets/bubble-1-mini.png" alt="thumb" /></td><td><a href="SDL-GFX-FPSManager.html">SDL::GFX::FPSManager</a></td><td>- data structure used by SDL::GFX::Framerate</td></tr></table><br /><table style="margin-left: 0px; margin-top: 5px"><tr><td colspan="3"><strong style="font-size: 14px">Image</strong></td></tr><tr><td><img src="assets/bubble-6-mini.png" alt="thumb" /></td><td><a href="SDL-Image.html">SDL::Image</a></td><td>- Bindings for the SDL_Image library</td></tr></table><br /><table style="margin-left: 0px; margin-top: 5px"><tr><td colspan="3"><strong style="font-size: 14px">Mixer</strong></td></tr><tr><td><img src="assets/bubble-4-mini.png" alt="thumb" /></td><td><a href="SDL-Mixer.html">SDL::Mixer</a></td><td>- Sound and music functions</td></tr><tr><td><img src="assets/bubble-2-mini.png" alt="thumb" /></td><td><a href="SDL-Mixer-Channels.html">SDL::Mixer::Channels</a></td><td>- SDL::Mixer channel functions and bindings</td></tr><tr><td><img src="assets/bubble-4-mini.png" alt="thumb" /></td><td><a href="SDL-Mixer-Effects.html">SDL::Mixer::Effects</a></td><td>- sound effect functions</td></tr><tr><td><img src="assets/bubble-5-mini.png" alt="thumb" /></td><td><a href="SDL-Mixer-Groups.html">SDL::Mixer::Groups</a></td><td>- Audio channel group functions</td></tr><tr><td><img src="assets/bubble-3-mini.png" alt="thumb" /></td><td><a href="SDL-Mixer-Music.html">SDL::Mixer::Music</a></td><td>- functions for music</td></tr><tr><td><img src="assets/bubble-5-mini.png" alt="thumb" /></td><td><a href="SDL-Mixer-Samples.html">SDL::Mixer::Samples</a></td><td>- functions for loading sound samples</td></tr></table><table style="margin-left: 30px; margin-top: 5px"><tr><td colspan="3"><strong style="font-size: 14px">Structure</strong></td></tr><tr><td><img src="assets/bubble-7-mini.png" alt="thumb" /></td><td><a href="SDL-Mixer-MixChunk.html">SDL::Mixer::MixChunk</a></td><td>- SDL Bindings for structure SDL_MixChunk</td></tr><tr><td><img src="assets/bubble-5-mini.png" alt="thumb" /></td><td><a href="SDL-Mixer-MixMusic.html">SDL::Mixer::MixMusic</a></td><td>- SDL Bindings for structure SDL_MixMusic</td></tr></table><br /><table style="margin-left: 0px; margin-top: 5px"><tr><td colspan="3"><strong style="font-size: 14px">Pango</strong></td></tr><tr><td><img src="assets/bubble-5-mini.png" alt="thumb" /></td><td><a href="SDL-Pango.html">SDL::Pango</a></td><td>- Text rendering engine</td></tr></table><table style="margin-left: 30px; margin-top: 5px"><tr><td colspan="3"><strong style="font-size: 14px">Structure</strong></td></tr><tr><td><img src="assets/bubble-7-mini.png" alt="thumb" /></td><td><a href="SDL-Pango-Context.html">SDL::Pango::Context</a></td><td>- Context object for SDL::Pango</td></tr><table style="margin-left: 0px; margin-top: 5px"><tr><td colspan="3"><strong style="font-size: 14px">TODO</strong></td></tr><table style="margin-left: 30px; margin-top: 5px"><tr><td colspan="3"><strong style="font-size: 14px">Core</strong></td></tr></table><table style="margin-left: 60px; margin-top: 5px"><tr><td colspan="3"><strong style="font-size: 14px">MultiThread</strong></td></tr><tr><td><img src="assets/bubble-5-mini.png" alt="thumb" /></td><td><a href="SDL-MultiThread.html">SDL::MultiThread</a></td><td>- Bindings to the MultiThread category in SDL API</td></tr></table><table style="margin-left: 60px; margin-top: 5px"><tr><td colspan="3"><strong style="font-size: 14px">Structure</strong></td></tr><tr><td><img src="assets/bubble-2-mini.png" alt="thumb" /></td><td><a href="SDL-RWOps.html">SDL::RWOps</a></td><td>- SDL Bindings to SDL_RWOPs</td></tr></table><table style="margin-left: 30px; margin-top: 5px"><tr><td colspan="3"><strong style="font-size: 14px">GFX</strong></td></tr><tr><td><img src="assets/bubble-7-mini.png" alt="thumb" /></td><td><a href="SDL-GFX-BlitFunc.html">SDL::GFX::BlitFunc</a></td><td>- blitting functions</td></tr><tr><td><img src="assets/bubble-5-mini.png" alt="thumb" /></td><td><a href="SDL-GFX-ImageFilter.html">SDL::GFX::ImageFilter</a></td><td>- image filtering functions</td></tr><tr><td><img src="assets/bubble-3-mini.png" alt="thumb" /></td><td><a href="SDL-GFX-Rotozoom.html">SDL::GFX::Rotozoom</a></td><td>- rotation and zooming functions for surfaces</td></tr></table><br /><table style="margin-left: 0px; margin-top: 5px"><tr><td colspan="3"><strong style="font-size: 14px">TTF</strong></td></tr><tr><td><img src="assets/bubble-6-mini.png" alt="thumb" /></td><td><a href="SDL-TTF.html">SDL::TTF</a></td><td>- True Type Font functions (libfreetype)</td></tr></table><table style="margin-left: 30px; margin-top: 5px"><tr><td colspan="3"><strong style="font-size: 14px">Structure</strong></td></tr><tr><td><img src="assets/bubble-4-mini.png" alt="thumb" /></td><td><a href="SDL-TTF-Font.html">SDL::TTF::Font</a></td><td>- Font object type for SDL_ttf</td></tr></table><br /><table style="margin-left: 0px; margin-top: 5px"><tr><td colspan="3"><strong style="font-size: 14px">Tutorials</strong></td></tr><tr><td><img src="assets/bubble-5-mini.png" alt="thumb" /></td><td><a href="SDL-Tutorial.html">SDL::Tutorial</a></td><td>- introduction to Perl SDL</td></tr><tr><td><img src="assets/bubble-5-mini.png" alt="thumb" /></td><td><a href="SDL-Tutorial-Animation.html">SDL::Tutorial::Animation</a></td><td></td></tr><tr><td><img src="assets/bubble-7-mini.png" alt="thumb" /></td><td><a href="SDL-Tutorial-LunarLander.html">SDL::Tutorial::LunarLander</a></td><td>- a small tutorial on Perl SDL</td></tr></table><br /><table style="margin-left: 0px; margin-top: 5px"><tr><td colspan="3"><strong style="font-size: 14px">UNCATEGORIZED</strong></td></tr><tr><td><img src="assets/bubble-5-mini.png" alt="thumb" /></td><td><a href="SDL-Credits.html">SDL::Credits</a></td><td>- Authors and contributors of the SDL Perl project</td></tr><tr><td><img src="assets/bubble-5-mini.png" alt="thumb" /></td><td><a href="SDL-Game-Palette.html">SDL::Game::Palette</a></td><td>- a perl extension</td></tr><tr><td><img src="assets/bubble-4-mini.png" alt="thumb" /></td><td><a href="SDL-MPEG.html">SDL::MPEG</a></td><td>- a SDL perl extension</td></tr><tr><td><img src="assets/bubble-2-mini.png" alt="thumb" /></td><td><a href="SDL-Music.html">SDL::Music</a></td><td>- a perl extension</td></tr><tr><td><img src="assets/bubble-3-mini.png" alt="thumb" /></td><td><a href="SDL-OpenGL.html">SDL::OpenGL</a></td><td>- a perl extension</td></tr><tr><td><img src="assets/bubble-6-mini.png" alt="thumb" /></td><td><a href="SDL-SMPEG.html">SDL::SMPEG</a></td><td>- a SDL perl extension</td></tr><tr><td><img src="assets/bubble-7-mini.png" alt="thumb" /></td><td><a href="SDL-Sound.html">SDL::Sound</a></td><td>- a perl extension</td></tr><tr><td><img src="assets/bubble-5-mini.png" alt="thumb" /></td><td><a href="SDL-Tool-Font.html">SDL::Tool::Font</a></td><td>- a perl extension</td></tr><tr><td><img src="assets/bubble-1-mini.png" alt="thumb" /></td><td><a href="SDL-Tool-Graphic.html">SDL::Tool::Graphic</a></td><td></td></tr></table></div>
use File::Copy;
use File::Spec::Functions qw(rel2abs splitpath splitdir catpath catdir catfile canonpath);
-my $input_path = 'C:/SDL_perl/lib/pods';
+my $input_path = 'D:/dev/SDL_perl/lib/pods';
$input_path = $ARGV[0] if $ARGV[0];
my ($volume, $dirs) = splitpath(rel2abs(__FILE__));