<li><a href="#DESCRIPTION">DESCRIPTION</a></li>
<li><a href="#METHODS">METHODS</a>
<ul><li><a href="#new">new</a></li>
-<li><a href="#title">title</a></li>
-<li><a href="#delay">delay</a></li>
+<li><a href="#title">title()</a></li>
+<li><a href="#title_new_title">title( $new_title )</a></li>
+<li><a href="#title_window_title_icon_title">title( $window_title, $icon_title )</a></li>
+<li><a href="#delay_ms">delay( $ms )</a></li>
<li><a href="#ticks">ticks</a></li>
<li><a href="#error">error</a></li>
-<li><a href="#resize">resize</a></li>
+<li><a href="#resize_width_height">resize( $width, $height )</a></li>
<li><a href="#fullscreen">fullscreen</a></li>
<li><a href="#iconify">iconify</a></li>
-<li><a href="#grab_input">grab_input</a></li>
-<li><a href="#loop">loop</a></li>
+<li><a href="#grab_input_CONSTANT">grab_input( $CONSTANT )</a></li>
+<li><a href="#loop_actions">loop( \%actions )</a></li>
<li><a href="#sync">sync</a></li>
-<li><a href="#attribute_attr_value">attribute ( attr, [value] )</a></li>
+<li><a href="#attribute_attr">attribute( $attr )</a></li>
+<li><a href="#attribute_attr_value">attribute( $attr, $value )</a></li>
</ul>
</li>
<li><a href="#AUTHOR">AUTHOR</a></li>
);
</pre>
-<p>This is the manual way of doing things </p>
+<p>This is the manual way of doing things</p>
<pre> my $event = SDL::Event->new; # create a new event
SDL::Events::pump_events();
}
</pre>
-<p>An alternative to the manual Event processing is the <a href="http://search.cpan.org/perldoc?SDLx::App::loop">SDLx::App::loop</a> .</p>
+<p>An alternative to the manual Event processing is the <a href="http://search.cpan.org/perldoc?SDLx::App::loop">SDLx::App::loop</a>.</p>
</div>
<h1 id="DESCRIPTION">DESCRIPTION</h1><p><a href="#TOP" class="toplink">Top</a></p>
<p><code>SDLx::App::new</code> initializes the SDL, creates a new screen,
and initializes some of the window manager properties.
<code>SDLx::App::new</code> takes a series of named parameters:</p>
-<ul>
- <li>title </li>
- <li>icon_title </li>
- <li>icon </li>
- <li>width </li>
- <li>height </li>
- <li>depth </li>
- <li>flags </li>
- <li>resizeable</li>
-</ul>
+<dl>
+ <dt>* title</dt>
+ <dt>* icon_title</dt>
+ <dt>* icon</dt>
+ <dt>* width</dt>
+ <dt>* height</dt>
+ <dt>* depth</dt>
+ <dt>* flags</dt>
+ <dt>* resizeable</dt>
+</dl>
+
+
+
</div>
-<h2 id="title">title</h2>
+<h2 id="title">title()</h2>
<div id="title_CONTENT">
-<p><code>SDLx::App::title</code> takes 0, 1, or 2 arguments. It returns the current
-application window title. If one parameter is passed, both the window
-title and icon title will be set to its value. If two parameters are
-passed the window title will be set to the first, and the icon title
-to the second.</p>
</div>
-<h2 id="delay">delay</h2>
-<div id="delay_CONTENT">
+<h2 id="title_new_title">title( $new_title )</h2>
+<div id="title_new_title_CONTENT">
+
+</div>
+<h2 id="title_window_title_icon_title">title( $window_title, $icon_title )</h2>
+<div id="title_window_title_icon_title_CONTEN">
+<p><code>SDLx::App::title</code> takes 0, 1, or 2 arguments. If no parameter is given,
+it returns the current application window title. If one parameter is
+passed, both the window title and icon title will be set to its value.
+If two parameters are passed the window title will be set to the first,
+and the icon title to the second.</p>
+
+</div>
+<h2 id="delay_ms">delay( $ms )</h2>
+<div id="delay_ms_CONTENT">
<p><code>SDLx::App::delay</code> takes 1 argument, and will sleep the application for
that many ms.</p>
<p><code>SDLx::App::error</code> returns the last error message set by the SDL.</p>
</div>
-<h2 id="resize">resize</h2>
-<div id="resize_CONTENT">
-<p><code>SDLx::App::resize</code> takes a new height and width of the application
-if the application was originally created with the resizable option.</p>
+<h2 id="resize_width_height">resize( $width, $height )</h2>
+<div id="resize_width_height_CONTENT">
+<p><code>SDLx::App::resize</code> takes a new width and height of the application. Only
+works if the application was originally created with the resizable option.</p>
</div>
<h2 id="fullscreen">fullscreen</h2>
</div>
<h2 id="iconify">iconify</h2>
<div id="iconify_CONTENT">
-<p><code>SDLx::App::iconify</code> iconifies the applicaiton window.</p>
+<p><code>SDLx::App::iconify</code> iconifies the application window.</p>
</div>
-<h2 id="grab_input">grab_input</h2>
-<div id="grab_input_CONTENT">
+<h2 id="grab_input_CONSTANT">grab_input( $CONSTANT )</h2>
+<div id="grab_input_CONSTANT_CONTENT">
<p><code>SDLx::App::grab_input</code> can be used to change the input focus behavior of
-the application. It takes one argument, which should be one of the following:</p>
+the application. It takes one argument, which should be one of the following:</p>
<dl>
- <dt>*
-SDL_GRAB_QUERY</dt>
- <dt>*
-SDL_GRAB_ON</dt>
- <dt>*
-SDL_GRAB_OFF</dt>
+ <dt>* SDL_GRAB_QUERY</dt>
+ <dt>* SDL_GRAB_ON</dt>
+ <dt>* SDL_GRAB_OFF</dt>
</dl>
</div>
-<h2 id="loop">loop</h2>
-<div id="loop_CONTENT">
+<h2 id="loop_actions">loop( \%actions )</h2>
+<div id="loop_actions_CONTENT">
<p><code>SDLx::App::loop</code> is a simple event loop method which takes a reference to a hash
-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>
+of event handler subroutines. The keys of the hash must be SDL event types such
+as SDL_QUIT(), SDL_KEYDOWN(), and the like. When called, the event method recieves
+as its parameter the event object used in the loop.</p>
<p>Example:</p>
<pre> my $app = SDLx::App->new(
title => "test.app",
<h2 id="sync">sync</h2>
<div id="sync_CONTENT">
<p><code>SDLx::App::sync</code> encapsulates the various methods of syncronizing the screen with the
-current video buffer. <code>SDLx::App::sync</code> will do a fullscreen update, using the double buffer
-or OpenGL buffer if applicable. This is prefered to calling flip on the application window.</p>
+current video buffer. <code>SDLx::App::sync</code> will do a fullscreen update, using the double buffer
+or OpenGL buffer if applicable. This is prefered to calling flip on the application window.</p>
+
+</div>
+<h2 id="attribute_attr">attribute( $attr )</h2>
+<div id="attribute_attr_CONTENT">
</div>
-<h2 id="attribute_attr_value">attribute ( attr, [value] )</h2>
+<h2 id="attribute_attr_value">attribute( $attr, $value )</h2>
<div id="attribute_attr_value_CONTENT">
-<p><code>SDLx::App::attribute</code> allows one to set and get GL attributes. By passing a value
-in addition to the attribute selector, the value will be set. <code>SDL:::App::attribute</code>
+<p><code>SDLx::App::attribute</code> allows one to get and set GL attributes. By passing a value
+in addition to the attribute selector, the value will be set. <code>SDL:::App::attribute</code>
always returns the current value of the given attribute, or croaks on failure.</p>
</div>
--- /dev/null
+<div class="pod">
+<!-- INDEX START -->
+<h3 id="TOP">Index</h3>
+
+<ul><li><a href="#NAME">NAME</a></li>
+<li><a href="#CATEGORY">CATEGORY </a></li>
+<li><a href="#SYNOPSIS">SYNOPSIS</a></li>
+<li><a href="#DESCRIPTION">DESCRIPTION</a></li>
+<li><a href="#METHODS">METHODS</a>
+<ul><li><a href="#new">new</a></li>
+<li><a href="#index">index</a></li>
+<li><a href="#x">x</a></li>
+<li><a href="#y">y</a></li>
+<li><a href="#w">w</a></li>
+<li><a href="#h">h</a></li>
+<li><a href="#surface">surface</a></li>
+<li><a href="#clip">clip</a></li>
+<li><a href="#pos">pos</a></li>
+<li><a href="#data">data</a></li>
+<li><a href="#ahead">ahead</a></li>
+<li><a href="#behind">behind</a></li>
+<li><a href="#attach">attach</a></li>
+<li><a href="#detach_xy">detach_xy</a></li>
+<li><a href="#foreground">foreground</a></li>
+</ul>
+</li>
+<li><a href="#BUGS">BUGS</a></li>
+<li><a href="#SUPPORT">SUPPORT</a></li>
+<li><a href="#AUTHOR">AUTHOR</a></li>
+<li><a href="#COPYRIGHT">COPYRIGHT</a></li>
+<li><a href="#SEE_ALSO">SEE ALSO</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>SDLx::Layer - Extension ...</p>
+
+</div>
+<h1 id="CATEGORY">CATEGORY </h1><p><a href="#TOP" class="toplink">Top</a></p>
+<div id="CATEGORY_CONTENT">
+<p>Extension</p>
+
+</div>
+<h1 id="SYNOPSIS">SYNOPSIS</h1><p><a href="#TOP" class="toplink">Top</a></p>
+<div id="SYNOPSIS_CONTENT">
+<pre> use SDLx::Layer;
+ use SDLx::LayerManager;
+
+</pre>
+
+</div>
+<h1 id="DESCRIPTION">DESCRIPTION</h1><p><a href="#TOP" class="toplink">Top</a></p>
+<div id="DESCRIPTION_CONTENT">
+
+
+
+
+
+</div>
+<h1 id="METHODS">METHODS</h1><p><a href="#TOP" class="toplink">Top</a></p>
+<div id="METHODS_CONTENT">
+
+</div>
+<h2 id="new">new</h2>
+<div id="new_CONTENT">
+
+</div>
+<h2 id="index">index</h2>
+<div id="index_CONTENT">
+
+</div>
+<h2 id="x">x</h2>
+<div id="x_CONTENT">
+
+</div>
+<h2 id="y">y</h2>
+<div id="y_CONTENT">
+
+</div>
+<h2 id="w">w</h2>
+<div id="w_CONTENT">
+
+</div>
+<h2 id="h">h</h2>
+<div id="h_CONTENT">
+
+</div>
+<h2 id="surface">surface</h2>
+<div id="surface_CONTENT">
+
+</div>
+<h2 id="clip">clip</h2>
+<div id="clip_CONTENT">
+
+</div>
+<h2 id="pos">pos</h2>
+<div id="pos_CONTENT">
+
+</div>
+<h2 id="data">data</h2>
+<div id="data_CONTENT">
+
+</div>
+<h2 id="ahead">ahead</h2>
+<div id="ahead_CONTENT">
+
+</div>
+<h2 id="behind">behind</h2>
+<div id="behind_CONTENT">
+
+</div>
+<h2 id="attach">attach</h2>
+<div id="attach_CONTENT">
+
+</div>
+<h2 id="detach_xy">detach_xy</h2>
+<div id="detach_xy_CONTENT">
+
+</div>
+<h2 id="foreground">foreground</h2>
+<div id="foreground_CONTENT">
+
+</div>
+<h1 id="BUGS">BUGS</h1><p><a href="#TOP" class="toplink">Top</a></p>
+<div id="BUGS_CONTENT">
+<p>Report at sdlperl.ath.cx</p>
+
+</div>
+<h1 id="SUPPORT">SUPPORT</h1><p><a href="#TOP" class="toplink">Top</a></p>
+<div id="SUPPORT_CONTENT">
+<p>#sdl irc.perl.org</p>
+
+</div>
+<h1 id="AUTHOR">AUTHOR</h1><p><a href="#TOP" class="toplink">Top</a></p>
+<div id="AUTHOR_CONTENT">
+<pre> Tobias Leich
+ CPAN ID: FROGGS
+ ---
+ froggs@cpan.org
+ http://sdl.perl.org
+
+</pre>
+
+</div>
+<h1 id="COPYRIGHT">COPYRIGHT</h1><p><a href="#TOP" class="toplink">Top</a></p>
+<div id="COPYRIGHT_CONTENT">
+<p>This program is free software; you can redistribute
+it and/or modify it under the same terms as Perl itself.</p>
+<p>The full text of the license can be found in the
+LICENSE file included with this module.</p>
+
+
+
+
+
+</div>
+<h1 id="SEE_ALSO">SEE ALSO</h1><p><a href="#TOP" class="toplink">Top</a></p>
+<div id="SEE_ALSO_CONTENT">
+<p>perl(1), SDL(2).</p>
+
+</div>
+</div>
\ No newline at end of file
--- /dev/null
+<div class="pod">
+<!-- INDEX START -->
+<h3 id="TOP">Index</h3>
+
+<ul><li><a href="#NAME">NAME</a></li>
+<li><a href="#CATEGORY">CATEGORY </a></li>
+<li><a href="#SYNOPSIS">SYNOPSIS</a></li>
+<li><a href="#DESCRIPTION">DESCRIPTION</a></li>
+<li><a href="#METHODS">METHODS</a>
+<ul><li><a href="#new">new</a></li>
+<li><a href="#add">add</a></li>
+<li><a href="#layers">layers</a></li>
+<li><a href="#layer">layer</a></li>
+<li><a href="#length">length</a></li>
+<li><a href="#blit">blit</a></li>
+<li><a href="#by_position">by_position</a></li>
+<li><a href="#ahead">ahead</a></li>
+<li><a href="#behind">behind</a></li>
+<li><a href="#attach">attach</a></li>
+<li><a href="#detach_xy">detach_xy</a></li>
+<li><a href="#detach_back">detach_back</a></li>
+<li><a href="#foreground">foreground</a></li>
+</ul>
+</li>
+<li><a href="#BUGS">BUGS</a></li>
+<li><a href="#SUPPORT">SUPPORT</a></li>
+<li><a href="#AUTHOR">AUTHOR</a></li>
+<li><a href="#COPYRIGHT">COPYRIGHT</a></li>
+<li><a href="#SEE_ALSO">SEE ALSO</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>SDLx::LayerManager - Extension for managing layers in a 2D world</p>
+
+</div>
+<h1 id="CATEGORY">CATEGORY </h1><p><a href="#TOP" class="toplink">Top</a></p>
+<div id="CATEGORY_CONTENT">
+<p>Extension</p>
+
+</div>
+<h1 id="SYNOPSIS">SYNOPSIS</h1><p><a href="#TOP" class="toplink">Top</a></p>
+<div id="SYNOPSIS_CONTENT">
+<pre> use SDLx::Layer;
+ use SDLx::LayerManager;
+
+ use SDL::Image;
+ use SDL::Surface;
+ use SDL::Video;
+
+ # creating layers
+ my $layer1 = SDLx::Layer->new( SDL::Image::load('image1.png'), {userdata => '7'} );
+ my $layer2 = SDLx::Layer->new( SDL::Image::load('image2.png'), 100, 200, {userdata => '42'} );
+
+ # creating the manager that holds the layers
+ my $layermanager = SDLx::LayerManager->new();
+ $layermanager->add( $layer1 );
+ $layermanager->add( $layer2 );
+
+ my $display = # create your video surface here
+
+ $layermanager->blit( $display );
+
+ # accessing the layer at point(x,y)
+ print( $layermanager->by_position( 150, 200 )->data->{userdata} ); # should print '42'
+
+</pre>
+
+</div>
+<h1 id="DESCRIPTION">DESCRIPTION</h1><p><a href="#TOP" class="toplink">Top</a></p>
+<div id="DESCRIPTION_CONTENT">
+<p>The LayerManager ...</p>
+
+</div>
+<h1 id="METHODS">METHODS</h1><p><a href="#TOP" class="toplink">Top</a></p>
+<div id="METHODS_CONTENT">
+
+</div>
+<h2 id="new">new</h2>
+<div id="new_CONTENT">
+
+</div>
+<h2 id="add">add</h2>
+<div id="add_CONTENT">
+
+</div>
+<h2 id="layers">layers</h2>
+<div id="layers_CONTENT">
+
+</div>
+<h2 id="layer">layer</h2>
+<div id="layer_CONTENT">
+
+</div>
+<h2 id="length">length</h2>
+<div id="length_CONTENT">
+
+</div>
+<h2 id="blit">blit</h2>
+<div id="blit_CONTENT">
+
+</div>
+<h2 id="by_position">by_position</h2>
+<div id="by_position_CONTENT">
+<pre> my $layer = $layermanager->by_position( $x, $y );
+
+</pre>
+
+</div>
+<h2 id="ahead">ahead</h2>
+<div id="ahead_CONTENT">
+
+</div>
+<h2 id="behind">behind</h2>
+<div id="behind_CONTENT">
+
+</div>
+<h2 id="attach">attach</h2>
+<div id="attach_CONTENT">
+
+</div>
+<h2 id="detach_xy">detach_xy</h2>
+<div id="detach_xy_CONTENT">
+
+</div>
+<h2 id="detach_back">detach_back</h2>
+<div id="detach_back_CONTENT">
+
+</div>
+<h2 id="foreground">foreground</h2>
+<div id="foreground_CONTENT">
+
+</div>
+<h1 id="BUGS">BUGS</h1><p><a href="#TOP" class="toplink">Top</a></p>
+<div id="BUGS_CONTENT">
+<p>Report at sdlperl.ath.cx</p>
+
+</div>
+<h1 id="SUPPORT">SUPPORT</h1><p><a href="#TOP" class="toplink">Top</a></p>
+<div id="SUPPORT_CONTENT">
+<p>#sdl irc.perl.org</p>
+
+</div>
+<h1 id="AUTHOR">AUTHOR</h1><p><a href="#TOP" class="toplink">Top</a></p>
+<div id="AUTHOR_CONTENT">
+<pre> Tobias Leich
+ CPAN ID: FROGGS
+ ---
+ froggs@cpan.org
+ http://sdl.perl.org
+
+</pre>
+
+</div>
+<h1 id="COPYRIGHT">COPYRIGHT</h1><p><a href="#TOP" class="toplink">Top</a></p>
+<div id="COPYRIGHT_CONTENT">
+<p>This program is free software; you can redistribute
+it and/or modify it under the same terms as Perl itself.</p>
+<p>The full text of the license can be found in the
+LICENSE file included with this module.</p>
+
+
+
+
+
+</div>
+<h1 id="SEE_ALSO">SEE ALSO</h1><p><a href="#TOP" class="toplink">Top</a></p>
+<div id="SEE_ALSO_CONTENT">
+<p>perl(1), SDL(2).</p>
+
+</div>
+</div>
\ No newline at end of file
--- /dev/null
+<div class="pod">
+<!-- INDEX START -->
+<h3 id="TOP">Index</h3>
+
+<ul><li><a href="#NAME">NAME</a></li>
+<li><a href="#VERSION">VERSION</a></li>
+<li><a href="#SYNOPSIS">SYNOPSIS</a></li>
+<li><a href="#DESCRIPTION">DESCRIPTION</a></li>
+<li><a href="#METHODS">METHODS</a>
+<ul><li><a href="#new">new</a></li>
+<li><a href="#load">load</a></li>
+<li><a href="#play">play</a></li>
+<li><a href="#loud">loud</a></li>
+<li><a href="#stop">stop</a></li>
+</ul>
+</li>
+<li><a href="#AUTHOR">AUTHOR</a></li>
+<li><a href="#BUGS">BUGS</a></li>
+<li><a href="#SUPPORT">SUPPORT</a></li>
+<li><a href="#ACKNOWLEDGEMENTS">ACKNOWLEDGEMENTS</a></li>
+<li><a href="#LICENSE_AND_COPYRIGHT">LICENSE AND COPYRIGHT</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>SDLx::Sound</p>
+
+</div>
+<h1 id="VERSION">VERSION</h1><p><a href="#TOP" class="toplink">Top</a></p>
+<div id="VERSION_CONTENT">
+<p>Version 0.01_01</p>
+
+
+
+
+
+</div>
+<h1 id="SYNOPSIS">SYNOPSIS</h1><p><a href="#TOP" class="toplink">Top</a></p>
+<div id="SYNOPSIS_CONTENT">
+<pre> use SDLx::Sound;
+
+ my $snd = SDLx::Sound->new();
+
+ # loads and plays a single sound now
+ $snd->play('myfile.wav');
+
+ # load a single file
+ $snd->load('theSound.aif');
+
+ # plays it or all loaded files
+ $snd->play();
+
+ # more sounds
+ my %files = (
+ chanell_01 => "/my_sound1.wav",
+ chanell_02 => "/my_sound2.ogg"
+ );
+
+ # times sounds bangs
+ my %times = (
+ chanell_01 => 0, # start
+ chanell_01 => 1256, # miliseconds
+ chanell_02 => 2345
+ );
+
+ # Load files in channels for realtime play
+ $snd->load(%files);
+
+ # sets sound channel_01 loudness
+ $snd->loud('channel_01', 80); # loud at 80%
+ $snd->play(%times); # play loaded files at times
+ $snd->play; # play again
+
+ # plays sound channel_01 at 578 miliseconds from now
+ $snd->play('channel_01', 578);
+
+ # fades sound
+ $snd->fade('channel_02', 2345, 3456, -20);
+
+ # in a single act do the wole Sound
+ my $snd = SDLx::Sound->new(
+ files => (
+ chanell_01 => "/my_sound1.wav",
+ chanell_02 => "/my_sound2.ogg"
+
+ ),
+ loud => (
+ channel_01 => 80,
+ channel_02 => 75
+ ),
+ times => (
+ chanell_01 => 0, # start
+ chanell_01 => 1256, # miliseconds
+ chanell_02 => 2345
+ ),
+ fade => (
+ chanell_02 => [2345, 3456, -20]
+ )
+ )->play();
+
+</pre>
+
+</div>
+<h1 id="DESCRIPTION">DESCRIPTION</h1><p><a href="#TOP" class="toplink">Top</a></p>
+<div id="DESCRIPTION_CONTENT">
+
+
+
+
+<p>You can think about the SDLx::Sound at 2 aproaches. </p>
+<dl>
+ <dt>* A simple sound or </dt>
+ <dt>* The sound of your game or app. </dt>
+</dl>
+<p>Your application will say what the best aproach.</p>
+<p>In a taste that resembles to perl and to SDL, our SDLx:Sound hooks at SDL::Audio and SDL::Mixer with a gracefull and simple interface that can offer to monks a modern perlish way to manage sounds.</p>
+<p>An SDLx::Sound object can load sounds from filesystem, play it, adjust this loudness level or stops the sound. </p>
+<p>Each sound will play in the next available channel, so it can be handled isolately.</p>
+
+</div>
+<h1 id="METHODS">METHODS</h1><p><a href="#TOP" class="toplink">Top</a></p>
+<div id="METHODS_CONTENT">
+
+</div>
+<h2 id="new">new</h2>
+<div id="new_CONTENT">
+<p>Returns a new instance of SDLx::Sound</p>
+
+</div>
+<h2 id="load">load</h2>
+<div id="load_CONTENT">
+
+</div>
+<h2 id="play">play</h2>
+<div id="play_CONTENT">
+
+</div>
+<h2 id="loud">loud</h2>
+<div id="loud_CONTENT">
+
+</div>
+<h2 id="stop">stop</h2>
+<div id="stop_CONTENT">
+
+</div>
+<h1 id="AUTHOR">AUTHOR</h1><p><a href="#TOP" class="toplink">Top</a></p>
+<div id="AUTHOR_CONTENT">
+<p>Monsenhor, <code><ricardo.filipo at mitologica.com.br></code></p>
+
+</div>
+<h1 id="BUGS">BUGS</h1><p><a href="#TOP" class="toplink">Top</a></p>
+<div id="BUGS_CONTENT">
+<p>Please report any bugs or feature requests to <code>bug-sdlx-sound at rt.cpan.org</code>, or through
+the web interface at <a href="http://rt.cpan.org/NoAuth/ReportBug.html?Queue=SDLx-Sound">http://rt.cpan.org/NoAuth/ReportBug.html?Queue=SDLx-Sound</a>. I will be notified, and then you'll
+automatically be notified of progress on your bug as I make changes.</p>
+
+
+
+
+
+
+
+
+
+
+
+</div>
+<h1 id="SUPPORT">SUPPORT</h1><p><a href="#TOP" class="toplink">Top</a></p>
+<div id="SUPPORT_CONTENT">
+<p>You can find documentation for this module with the perldoc command.</p>
+<pre> perldoc SDLx::Sound
+
+
+
+
+</pre>
+<p>You can also look for information at:</p>
+<dl>
+ <dt>* RT: CPAN's request tracker</dt>
+ <dd>
+ <p><a href="http://rt.cpan.org/NoAuth/Bugs.html?Dist=SDLx-Sound">http://rt.cpan.org/NoAuth/Bugs.html?Dist=SDLx-Sound</a></p>
+ </dd>
+ <dt>* AnnoCPAN: Annotated CPAN documentation</dt>
+ <dd>
+ <p><a href="http://annocpan.org/dist/SDLx-Sound">http://annocpan.org/dist/SDLx-Sound</a></p>
+ </dd>
+ <dt>* CPAN Ratings</dt>
+ <dd>
+ <p><a href="http://cpanratings.perl.org/d/SDLx-Sound">http://cpanratings.perl.org/d/SDLx-Sound</a></p>
+ </dd>
+ <dt>* Search CPAN</dt>
+ <dd>
+ <p><a href="http://search.cpan.org/dist/SDLx-Sound/">http://search.cpan.org/dist/SDLx-Sound/</a></p>
+ </dd>
+</dl>
+
+
+
+
+
+</div>
+<h1 id="ACKNOWLEDGEMENTS">ACKNOWLEDGEMENTS</h1><p><a href="#TOP" class="toplink">Top</a></p>
+<div id="ACKNOWLEDGEMENTS_CONTENT">
+
+
+
+
+
+</div>
+<h1 id="LICENSE_AND_COPYRIGHT">LICENSE AND COPYRIGHT</h1><p><a href="#TOP" class="toplink">Top</a></p>
+<div id="LICENSE_AND_COPYRIGHT_CONTENT">
+<p>Copyright 2010 Monsenhor.</p>
+<p>This program is free software; you can redistribute it and/or modify it
+under the terms of either: the GNU General Public License as published
+by the Free Software Foundation; or the Artistic License.</p>
+<p>See http://dev.perl.org/licenses/ for more information.</p>
+
+
+
+
+
+</div>
+</div>
\ No newline at end of file
<li><a href="#ticks_per_frame_integer">ticks_per_frame( $integer )</a></li>
<li><a href="#type">type()</a></li>
<li><a href="#type_string">type( $string )</a></li>
+<li><a href="#set_sequences_string_gt_x1_y1_x2_y2">set_sequences( $string => [ [ $x1, $y1 ], [ $x2, $y2 ], ... ], ... )</a></li>
+<li><a href="#sequence_string">sequence( $string )</a></li>
<li><a href="#next">next()</a></li>
<li><a href="#previous">previous()</a></li>
<li><a href="#reset">reset()</a></li>
frame in the strip. See the type() method below for information on
available looping types.</p>
</dd>
+ <dt>* sequences => { $string => [ [ $x1, $y1 ], [ $x2, $y2 ], ... ], ... }</dt>
+ <dd>
+ <p>Uses the supplied hashref to define named sequences of frames.</p>
+ </dd>
+ <dt>* sequence => $string</dt>
+ <dd>
+ <p>Uses $string to set the current sequence.</p>
+ </dd>
</dl>
</div>
<p>Default value is 'circular'.</p>
</div>
+<h2 id="set_sequences_string_gt_x1_y1_x2_y2">set_sequences( $string => [ [ $x1, $y1 ], [ $x2, $y2 ], ... ], ... )</h2>
+<div id="set_sequences_string_gt_x1_y1_x2_y2_">
+<p>Uses the supplied hashref to define named sequences of frames. Replaces any
+previously defined sequences.</p>
+
+</div>
+<h2 id="sequence_string">sequence( $string )</h2>
+<div id="sequence_string_CONTENT">
+<p>Uses $string to set the current sequence. Goes to the first frame in the
+sequence and resets the loop counter.</p>
+
+</div>
<h2 id="next">next()</h2>
<div id="next_CONTENT">
<p>Goes to the next frame in the strip. Calling this method will also reset
<li><a href="#update">update</a></li>
<li><a href="#draw_rect">draw_rect</a></li>
<li><a href="#draw_line">draw_line</a></li>
+<li><a href="#draw_gfx_text">draw_gfx_text</a></li>
</ul>
</li>
<li><a href="#AUTHOR">AUTHOR</a>
<p>Returns $self</p>
</div>
+<h2 id="draw_gfx_text">draw_gfx_text</h2>
+<div id="draw_gfx_text_CONTENT">
+<p>Draw text using gfx (not pretty but fast) at give vector, color.</p>
+<pre> $surf->draw_gfx_text( [0,0], 0xffffffff, "fooo");
+ $surf->draw_gfx_text( [10,10], [20,20,20,20], "fooo");
+
+</pre>
+<p>You can also set the gfx font but passing a hash reference as shown below.</p>
+<pre> my $f = '';
+ open( my $FH, '<', 'test/data/5x7.fnt');
+ binmode ($FH);
+ read($FH, $f, 4096);
+ close ($FH);
+
+ my $font = {data=>$f, cw => 5, ch => 7};
+ $surf->draw_gfx_text( [0,0], 0xffffffff, "fooo", $font );
+
+</pre>
+<p>Returns $self</p>
+
+</div>
<h1 id="AUTHOR">AUTHOR</h1><p><a href="#TOP" class="toplink">Top</a></p>
<div id="AUTHOR_CONTENT">
<pre> kthakore
<div class="pod">
-<h1>Documentation (latest development branch)</h1></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-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-4-mini.png" alt="thumb" /></td><td><a href="SDL-Deprecated.html">SDL::Deprecated</a></td><td>- Log of Deprecated items per release</td></tr><tr><td><img src="assets/bubble-4-mini.png" alt="thumb" /></td><td><a href="SDL-Time.html">SDL::Time</a></td><td>- An 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-7-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-4-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-5-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-6-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-4-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-5-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-7-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-5-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-6-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-5-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-7-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-2-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-6-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-1-mini.png" alt="thumb" /></td><td><a href="SDL-Cookbook.html">SDL::Cookbook</a></td><td></td></tr><tr><td><img src="assets/bubble-7-mini.png" alt="thumb" /></td><td><a href="SDL-Cookbook-OpenGL.html">SDL::Cookbook::OpenGL</a></td><td>- Using SDL with OpenGL</td></tr><tr><td><img src="assets/bubble-6-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-7-mini.png" alt="thumb" /></td><td><a href="SDLx-App.html">SDLx::App</a></td><td>- a SDL perl extension</td></tr><tr><td><img src="assets/bubble-6-mini.png" alt="thumb" /></td><td><a href="SDLx-Layer.html">SDLx::Layer</a></td><td>- Extension ...</td></tr><tr><td><img src="assets/bubble-4-mini.png" alt="thumb" /></td><td><a href="SDLx-LayerManager.html">SDLx::LayerManager</a></td><td>- Extension for managing layers in a 2D world</td></tr><tr><td><img src="assets/bubble-5-mini.png" alt="thumb" /></td><td><a href="SDLx-Rect.html">SDLx::Rect</a></td><td>- SDL extension for storing and manipulating rectangular coordinates</td></tr><tr><td><img src="assets/bubble-2-mini.png" alt="thumb" /></td><td><a href="SDLx-SFont.html">SDLx::SFont</a></td><td>- Extension making fonts out of images and printing them</td></tr><tr><td><img src="assets/bubble-5-mini.png" alt="thumb" /></td><td><a href="SDLx-Sprite.html">SDLx::Sprite</a></td><td>- interact with images quick and easily in SDL</td></tr><tr><td><img src="assets/bubble-7-mini.png" alt="thumb" /></td><td><a href="SDLx-Sprite-Animated.html">SDLx::Sprite::Animated</a></td><td>- create animated SDL sprites easily!</td></tr><tr><td><img src="assets/bubble-5-mini.png" alt="thumb" /></td><td><a href="SDLx-Surface.html">SDLx::Surface</a></td><td>- Graphic surface matrix 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-6-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-6-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-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-6-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-7-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-5-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-2-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-1-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-7-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-2-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-4-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-4-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><br /><table style="margin-left: 0px; margin-top: 5px"><tr><td colspan="3"><strong style="font-size: 14px">TODO</strong></td></tr><tr><td><img src="assets/bubble-6-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-6-mini.png" alt="thumb" /></td><td><a href="SDL-SMPEG.html">SDL::SMPEG</a></td><td>- a SDL perl extension</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-5-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-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-1-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-2-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-6-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-7-mini.png" alt="thumb" /></td><td><a href="SDLx-Controller.html">SDLx::Controller</a></td><td>- Handles the loops for event, movement and rendering</td></tr><tr><td><img src="assets/bubble-5-mini.png" alt="thumb" /></td><td><a href="SDLx-Sound.html">SDLx::Sound</a></td><td></td></tr></table></div>