updated old docs
Tobias Leich [Tue, 6 Apr 2010 20:16:59 +0000 (22:16 +0200)]
pages/SDL-Cookbook-PDL.html-inc
pages/SDL-Cookbook.html-inc
pages/SDL-Tutorial-Animation.html-inc
pages/SDL-Tutorial-LunarLander.html-inc
pages/SDL-Tutorial.html-inc
pages/documentation.html-inc

index b0bd609..5d4c847 100644 (file)
@@ -6,7 +6,6 @@
 <ul><li><a href="#CATEGORY">CATEGORY</a></li>
 </ul>
 </li>
-<li><a href="#Old_SDL_interface">Old SDL interface</a></li>
 <li><a href="#Perl_s_SDL_in_a_nutshell">Perl's SDL in a nutshell</a></li>
 <li><a href="#SDL_power_through_simplicity">SDL - power through simplicity</a></li>
 <li><a href="#Example_1_Model_of_a_2_D_Noninteract">Example 1: Model of a 2-D Noninteracting Gas</a>
@@ -49,11 +48,6 @@ Some of the particles can drift off the screen.  This is no good. What's causing
 <p>Cookbook</p>
 
 </div>
-<h1 id="Old_SDL_interface">Old SDL interface</h1><p><a href="#TOP" class="toplink">Top</a></p>
-<div id="Old_SDL_interface_CONTENT">
-<p>Please be aware that much of the code in this example uses SDL Perl v 2.2.4.  The SDL Perl developers are hard at work rewriting SDL, to be released as SDL 3.0 soon.  The new version of SDL is not backwards compatible.  Check back with this page after SDL 3.0 has been released to get the updated commands.</p>
-
-</div>
 <h1 id="Perl_s_SDL_in_a_nutshell">Perl's SDL in a nutshell</h1><p><a href="#TOP" class="toplink">Top</a></p>
 <div id="Perl_s_SDL_in_a_nutshell_CONTENT">
 <p>SDL stands for Simple DirectMedia Layer.  It's a cross-platform library written in C that's meant to handle all of the low-level graphics and sound stuff.  You can read more about SDL here: http://www.libsdl.org/.  Because SDL is focused on game programming, it has a raw but clean feel to it.  We will focus for now on using SDL to handle images for us.  Handling sound may some day be the focus of another chapter.</p>
@@ -73,6 +67,7 @@ Some of the particles can drift off the screen.  This is no good. What's causing
        use SDL::App;
        use SDL::Rect;
        use SDL::Color;
+       use SDL::Video;
 
        # User defined pen-nib size.
        my $nib_size = 3;
@@ -87,18 +82,19 @@ Some of the particles can drift off the screen.  This is no good. What's causing
 
        # our nib will be white
        my $nib_color = SDL::Color-&gt;new(
-                       -r =&gt; 0xff,
-                       -g =&gt; 0xff,
-                       -b =&gt; 0xff,
+                       0xff, #r
+                       0xff, #b
+                       0xff, #g
                );
 
        # and our nib will be represented by a rectangle
        # (Alternatively, you could use an image, which would allow
        # for pretty anti-aliasing if you created it in GIMP with
        # antialiasing)
-       my $nib = SDL::Rect-&gt;new(
-               -height =&gt; $nib_size,
-               -width  =&gt; $nib_size,
+       my $nib = SDL::Rect-&gt;new( 
+           0 , 0, #x, y
+       $nib_size, #w
+               $nib_size, #h
        );
 
        # now draw a sine wave (wthout covering up previously drawn rectangles)
@@ -108,12 +104,12 @@ Some of the particles can drift off the screen.  This is no good. What's causing
                $nib-&gt;x( $t * 8 );
                $nib-&gt;y( sin($t) * 80 + 240 );
 
-               $app-&gt;fill( $nib, $nib_color );
+               SDL::Video::fill_rect($app, $nib, $nib_color );
        }
 
        # Generally use the update command, but if you want to update the whole
        # surface, use flip
-       $app-&gt;flip()
+       SDL::Video::fill_rect($app,)
 
        sleep 5;
 
@@ -162,18 +158,19 @@ Some of the particles can drift off the screen.  This is no good. What's causing
        use SDL::App;
        use SDL::Rect;
        use SDL::Color;
+       use SDL::Video;
 
        # Create the SDL App
        my $app = SDL::App-&gt;new( -width  =&gt; $side_length, -height =&gt; $side_length, 
                                        -title  =&gt; &quot;Simple Simulation!&quot;, -depth  =&gt; 16, );
 
        # white particles on a black background
-       my $particle_color = SDL::Color-&gt;new( -r =&gt; 0xff, -g =&gt; 0xff, -b =&gt; 0xff, );
-       my $bg_color = SDL::Color-&gt;new( -r =&gt; 0x00, -g =&gt; 0x00, -b =&gt; 0x00, );
+       my $particle_color = SDL::Color-&gt;new( 0xff, 0xff, 0xff, );
+       my $bg_color = SDL::Color-&gt;new( 0x00, 0x00, 0x00 );
 
        # rectangles for the particles and the background
-       my $particle = SDL::Rect-&gt;new( -height =&gt; 5, -width  =&gt; 5, );
-       my $bg = SDL::Rect-&gt;new( -height =&gt; $side_length, -width =&gt; $side_length, );
+       my $particle = SDL::Rect-&gt;new( 0,0, 5, 5);
+       my $bg = SDL::Rect-&gt;new( 0,0,$side_length, $side_length, );
 
 </pre>
 <p>Hopefully this is straightforward code.  We pull in our library dependencies and then create a few objects with the necessary properties.  Finally, we get to the actual application loop:</p>
@@ -183,13 +180,13 @@ Some of the particles can drift off the screen.  This is no good. What's causing
                compute();
 
                # Clean the canvas
-               $app-&gt;fill( $bg, $bg_color);
+               SDL::Video::fill_rect($app, $bg, $bg_color);
                for(my $i = 0; $i &lt; $numb_of_atoms; $i++) {
                        $particle-&gt;x( $positions-&gt;at(0,$i) );
                        $particle-&gt;y( $positions-&gt;at(1,$i) );
-                       $app-&gt;fill( $particle, $particle_color );
+                       SDL::Video::fill_rect($app, $particle, $particle_color );
                }
-               $app-&gt;flip();
+               SDL::Video::flip($app);
                $app-&gt;delay(10);
        }
 
@@ -246,9 +243,9 @@ Some of the particles can drift off the screen.  This is no good. What's causing
 <pre>  for(my $i = 0; $i &lt; $numb_of_atoms; $i++) {
                $particle-&gt;x( $positions-&gt;at(0,$i) );
                $particle-&gt;y( $positions-&gt;at(1,$i) );
-               $particle-&gt;height( $particle_size );
-               $particle-&gt;width( $particle_size );
-               $app-&gt;fill( $particle, $particle_color );
+               $particle-&gt;h( $particle_size );
+               $particle-&gt;w( $particle_size );
+               SDL::Video::fill_rect($app, $particle, $particle_color );
        }
 
 </pre>
@@ -386,31 +383,32 @@ Some of the particles can drift off the screen.  This is no good. What's causing
        use SDL::App;
        use SDL::Rect;
        use SDL::Color;
+       use SDL::Video;
 
        # Create the SDL App
        my $app = SDL::App-&gt;new( -width  =&gt; $side_length, -height =&gt; $side_length, 
                                -title  =&gt; &quot;Simple Simulation!&quot;, -depth  =&gt; 16, );
 
        # white particles on a black background
-       my $particle_color = SDL::Color-&gt;new( -r =&gt; 0xff, -g =&gt; 0xff, -b =&gt; 0xff, );
-       my $bg_color = SDL::Color-&gt;new( -r =&gt; 0x00, -g =&gt; 0x00, -b =&gt; 0x00, );
+       my $particle_color = SDL::Color-&gt;new( 0xff, 0xff, 0xff, );
+       my $bg_color = SDL::Color-&gt;new( 0x00, 0x00, 0x00 );
 
        # rectangles for the particles and the background
-       my $particle = SDL::Rect-&gt;new( -height =&gt; 5, -width  =&gt; 5, );
-       my $bg = SDL::Rect-&gt;new( -height =&gt; $side_length, -width =&gt; $side_length, );
+       my $particle = SDL::Rect-&gt;new( 0,0, 5, 5);
+       my $bg = SDL::Rect-&gt;new( 0,0,$side_length, $side_length, );
 
        # Run the simulation
        for(my $t = 0; $t &lt; 20; $t += $d_t) {
                MyCompute::compute();
 
                # Clean the canvas
-               $app-&gt;fill( $bg, $bg_color);
+               SDL::Video::fill_rect($app, $bg, $bg_color);
                for(my $i = 0; $i &lt; $numb_of_atoms; $i++) {
                        $particle-&gt;x( $positions-&gt;at(0,$i) );
                        $particle-&gt;y( $positions-&gt;at(1,$i) );
-                       $app-&gt;fill( $particle, $particle_color );
+                       SDL::Video::fill_rect($app, $particle, $particle_color );
                }
-               $app-&gt;flip();
+               SDL::Video::flip($app);
                $app-&gt;delay(10);
        }
 
@@ -421,7 +419,8 @@ Some of the particles can drift off the screen.  This is no good. What's causing
 <h2 id="Listening_to_Events">Listening to Events</h2>
 <div id="Listening_to_Events_CONTENT">
 <p>To respond to user interactions, we have to listen to user events using an SDL::Event object.  So first, add this line with our other use statements:</p>
-<pre> use SDL::Event;
+<pre> use SDL::Event; 
+       use SDL::Events; 
 
 </pre>
 <p>and then be sure to create an event object amongst the animation initialization code:</p>
@@ -434,14 +433,14 @@ Some of the particles can drift off the screen.  This is no good. What's causing
                MyCompute::compute();
 
                # Clean the canvas
-               $app-&gt;fill( $bg, $bg_color);
+               SDL::Video::fill_rect($app, $bg, $bg_color);
                for(my $i = 0; $i &lt; $numb_of_atoms; $i++) {
                        $particle-&gt;x( $positions-&gt;at(0,$i) );
                        $particle-&gt;y( $positions-&gt;at(1,$i) );
-                       $app-&gt;fill( $particle, $particle_col10);
+                       SDL::Video::fill_rect($app, $particle, $particle_col10);
 
-               while($event-&gt;poll()) {
-                       if($event-&gt;type() =head1  SDL_QUIT) {
+               while(SDL::Events::poll_event($event) ) {
+                       if($event-&gt;type() ==  SDL_QUIT) {
                                exit;
                        }
                }
@@ -467,14 +466,14 @@ Some of the particles can drift off the screen.  This is no good. What's causing
 
        sub incr_particle_size {
                $particle_size++;
-               $particle-&gt;height($particle_size);
-               $particle-&gt;width($particle_size);
+               $particle-&gt;h($particle_size);
+               $particle-&gt;w($particle_size);
        }
 
        sub decr_particle_size {
                $particle_size-- if $particle_size &gt; 1;
-               $particle-&gt;height($particle_size);
-               $particle-&gt;width($particle_size);
+               $particle-&gt;h($particle_size);
+               $particle-&gt;w($particle_size);
        }
 
 
@@ -485,21 +484,21 @@ Some of the particles can drift off the screen.  This is no good. What's causing
                MyCompute::compute();
 
                # Clean the canvas
-               $app-&gt;fill( $bg, $bg_color);
+               SDL::Video::fill_rect($app, $bg, $bg_color);
                for(my $i = 0; $i &lt; $numb_of_atoms; $i++) {
                        $particle-&gt;x( $positions-&gt;at(0,$i) );
                        $particle-&gt;y( $positions-&gt;at(1,$i) );
-                       $app-&gt;fill( $particle, $particle_color );
+                       SDL::Video::fill_rect($app, $particle, $particle_color );
                }
-               $app-&gt;flip();
+               SDL::Video::flip($app);
                $app-&gt;delay(10);
 
-               while($event-&gt;poll()) {
-                       if($event-&gt;type() =head1  SDL_QUIT) {
+               while(SDL::Events::poll_event($event) ) {
+                       if($event-&gt;type() ==  SDL_QUIT) {
                                exit;
-                       } elsif($event-&gt;type() =head1  SDL_KEYDOWN) {
-                               if(exists $keyname_dispatch_table-&gt;{$event-&gt;key_name()}) {
-                                       $keyname_dispatch_table-&gt;{$event-&gt;key_name()}-&gt;();
+                       } elsif($event-&gt;type() ==  SDL_QUIT) {
+                               if(exists $keyname_dispatch_table-&gt;{$event-&gt;keysym_name()}) {
+                                       $keyname_dispatch_table-&gt;{$event-&gt;keysym_name()}-&gt;();
                                }
                        }
                }
@@ -563,22 +562,24 @@ Some of the particles can drift off the screen.  This is no good. What's causing
        use SDL::App;
        use SDL::Rect;
        use SDL::Color;
-       use SDL::Event;
+       use SDL::Video;
+       use SDL::Event;  
+       use SDL::Events; 
 
        # Create the SDL App
        my $app = SDL::App-&gt;new( -width  =&gt; $side_length, -height =&gt; $side_length, 
                                -title  =&gt; &quot;Simple Simulation!&quot;, -depth  =&gt; 16, );
 
        # white particles on a black background
-       my $particle_color = SDL::Color-&gt;new( -r =&gt; 0xff, -g =&gt; 0xff, -b =&gt; 0xff, );
-       my $bg_color = SDL::Color-&gt;new( -r =&gt; 0x00, -g =&gt; 0x00, -b =&gt; 0x00, );
+       my $particle_color = SDL::Color-&gt;new( 0xff, 0xff, 0xff, );
+       my $bg_color = SDL::Color-&gt;new( 0x00, 0x00, 0x00 );
 
        # rectangles for the particles and the background
-       my $particle = SDL::Rect-&gt;new( -height =&gt; 5, -width  =&gt; 5, );
-       my $bg = SDL::Rect-&gt;new( -height =&gt; $side_length, -width =&gt; $side_length, );
+       my $particle = SDL::Rect-&gt;new( 0,0, 5, 5);
+       my $bg = SDL::Rect-&gt;new( 0,0,$side_length, $side_length, );
 
        # event listener
-       my $event = new SDL::Event;
+       my $event = new SDL::Event-&gt;new();
 
        # event dispatch table
        my $keyname_dispatch_table = {
@@ -592,14 +593,14 @@ Some of the particles can drift off the screen.  This is no good. What's causing
 
        sub incr_particle_size {
                $particle_size++;
-               $particle-&gt;height($particle_size);
-               $particle-&gt;width($particle_size);
+               $particle-&gt;h($particle_size);
+               $particle-&gt;w($particle_size);
        }
 
        sub decr_particle_size {
                $particle_size-- if $particle_size &gt; 1;
-               $particle-&gt;height($particle_size);
-               $particle-&gt;width($particle_size);
+               $particle-&gt;h($particle_size);
+               $particle-&gt;w($particle_size);
        }
 
 
@@ -610,21 +611,21 @@ Some of the particles can drift off the screen.  This is no good. What's causing
                MyCompute::compute();
 
                # Clean the canvas
-               $app-&gt;fill( $bg, $bg_color);
+               SDL::Video::fill_rect($app, $bg, $bg_color);
                for(my $i = 0; $i &lt; $numb_of_atoms; $i++) {
                        $particle-&gt;x( $positions-&gt;at(0,$i) );
                        $particle-&gt;y( $positions-&gt;at(1,$i) );
-                       $app-&gt;fill( $particle, $particle_color );
+                       SDL::Video::fill_rect($app, $particle, $particle_color );
                }
-               $app-&gt;flip();
+               SDL::Video::flip($app);
                $app-&gt;delay(10);
 
-               while($event-&gt;poll()) {
-                       if($event-&gt;type() =head1  SDL_QUIT) {
+               while(SDL::Events::poll_event($event) ) {
+                       if($event-&gt;type() ==  SDL_QUIT) {
                                exit;
-                       } elsif($event-&gt;type() =head1  SDL_KEYDOWN) {
-                               if(exists $keyname_dispatch_table-&gt;{$event-&gt;key_name()}) {
-                                       $keyname_dispatch_table-&gt;{$event-&gt;key_name()}-&gt;();
+                       } elsif($event-&gt;type() ==  SDL_QUIT) {
+                               if(exists $keyname_dispatch_table-&gt;{$event-&gt;keysym_name()}) {
+                                       $keyname_dispatch_table-&gt;{$event-&gt;keysym_name()}-&gt;();
                                }
                        }
                }
index 0c17238..409930d 100644 (file)
@@ -5,35 +5,6 @@
 <ul><li><a href="#NAME">NAME</a>
 <ul><li><a href="#CATEGORY">CATEGORY</a></li>
 <li><a href="#First_Steps">First Steps</a>
-<ul><li><a href="#Overview">Overview</a></li>
-<li><a href="#Installation">Installation</a></li>
-<li><a href="#Tutorial">Tutorial</a></li>
-</ul>
-</li>
-<li><a href="#Core_SDL_Layer">Core SDL Layer</a>
-<ul><li><a href="#Video">Video</a></li>
-<li><a href="#Events">Events</a></li>
-</ul>
-</li>
-<li><a href="#Audio">Audio </a>
-<ul><li><a href="#Mixer">Mixer</a></li>
-</ul>
-</li>
-<li><a href="#Images">Images </a>
-<ul><li><a href="#BMP">BMP</a></li>
-<li><a href="#Image_extensions">Image extensions</a></li>
-</ul>
-</li>
-<li><a href="#Text">Text</a>
-<ul><li><a href="#TTF">TTF</a></li>
-<li><a href="#Pango">Pango</a></li>
-</ul>
-</li>
-<li><a href="#Extras">Extras</a>
-<ul><li><a href="#GFX">GFX</a></li>
-<li><a href="#OpenGL">OpenGL</a>
-</li>
-</ul>
 </li>
 </ul>
 </li>
 </div>
 <h2 id="First_Steps">First Steps</h2>
 <div id="First_Steps_CONTENT">
-
-</div>
-<h3 id="Overview">Overview</h3>
-<div id="Overview_CONTENT">
-
-</div>
-<h3 id="Installation">Installation</h3>
-<div id="Installation_CONTENT">
-
-</div>
-<h3 id="Tutorial">Tutorial</h3>
-<div id="Tutorial_CONTENT">
-
-</div>
-<h2 id="Core_SDL_Layer">Core SDL Layer</h2>
-<div id="Core_SDL_Layer_CONTENT">
-
-</div>
-<h3 id="Video">Video</h3>
-<div id="Video_CONTENT">
-
-</div>
-<h3 id="Events">Events</h3>
-<div id="Events_CONTENT">
-
-</div>
-<h2 id="Audio">Audio </h2>
-<div id="Audio_CONTENT">
-
-</div>
-<h3 id="Mixer">Mixer</h3>
-<div id="Mixer_CONTENT">
-
-</div>
-<h2 id="Images">Images </h2>
-<div id="Images_CONTENT">
-
-</div>
-<h3 id="BMP">BMP</h3>
-<div id="BMP_CONTENT">
-
-</div>
-<h3 id="Image_extensions">Image extensions</h3>
-<div id="Image_extensions_CONTENT">
-
-</div>
-<h2 id="Text">Text</h2>
-<div id="Text_CONTENT">
-
-</div>
-<h3 id="TTF">TTF</h3>
-<div id="TTF_CONTENT">
-
-</div>
-<h3 id="Pango">Pango</h3>
-<div id="Pango_CONTENT">
-
-</div>
-<h2 id="Extras">Extras</h2>
-<div id="Extras_CONTENT">
-
-</div>
-<h3 id="GFX">GFX</h3>
-<div id="GFX_CONTENT">
-
-</div>
-<h3 id="OpenGL">OpenGL</h3>
-<div id="OpenGL_CONTENT">
-
-
-
-
-
-
-
-
-
-
-
-
-
+<p>see <a href="SDL-Tutorial.html">SDL::Tutorial</a>
+</p>
 
 </div>
 </div>
\ No newline at end of file
index a9da727..de815d6 100644 (file)
@@ -69,9 +69,9 @@ representing the whole of the background surface and a new SDL::Color
        {
                my ($app, %args) = @_;
 
-               $app-&gt;fill( $args{ bg }, $args{ bg_color } );
-               $app-&gt;fill( $args{rect}, $args{rect_color} );
-               $app-&gt;update( $args{bg} );
+               SDL::Video::fill_rect($app,  $args{bg},   $args{bg_color}   );
+               SDL::Video::fill_rect($app, $args{rect}, $args{rect_color} );
+               SDL::Video::update_rects($app, $args{bg} );
        }
 
 </pre>
@@ -118,9 +118,10 @@ figure out the rectangle of the correct size to <code>update()</code>.  No thank
        {
                my ($app, %args) = @_;
 
-               $app-&gt;fill(   $args{old_rect}, $args{bg_color}   );
-               $app-&gt;fill(   $args{rect],     $args{rect_color} );
-               $app-&gt;update( $args{old_rect}, $args{rect}       );
+               SDL::Video::fill_rect($app, $args{old_rect}, $args{bg_color}   );
+               SDL::Video::fill_rect($app,  $args{rect},     $args{rect_color} );
+               SDL::Video::update_rects($app, $args{old_rect} );
+               SDL::Video::update_rects($app, $args{rect} );
        }
 
 </pre>
@@ -169,6 +170,7 @@ them soon.</p>
 <h1 id="AUTHOR">AUTHOR</h1><p><a href="#TOP" class="toplink">Top</a></p>
 <div id="AUTHOR_CONTENT">
 <p>chromatic, &lt;chromatic@wgz.org&gt;</p>
+<p>updated by kthakore, &lt;kthakore@cpan.org&gt;</p>
 <p>Written for and maintained by the Perl SDL project, <a href="http://sdl.perl.org/">http://sdl.perl.org/</a>.</p>
 
 </div>
index a20a1fd..3d8d77e 100644 (file)
@@ -214,10 +214,12 @@ this tutorial; Save these images in a subdirectory called &quot;images&quot;:
 <div id="USING_SDL_CONTENT">
 <p>First step: use the required libraries:</p>
 <p>&nbsp;</p>
-<pre>    use SDL; #needed to get all constants
-    use SDL::App;
-    use SDL::Surface;
-    use SDL::Rect;
+<pre>  use SDL; #needed to get all constants
+       use SDL::Video;
+       use SDL::App;
+       use SDL::Surface;
+       use SDL::Rect;
+       use SDL::Image;
 
 </pre>
 <p>&nbsp;</p>
@@ -234,44 +236,41 @@ this tutorial; Save these images in a subdirectory called &quot;images&quot;:
 <p>&nbsp;</p>
 <p>Third step: load the images and create the necessary &quot;rectangles&quot;:</p>
 <p>&nbsp;</p>
-<pre>    my $background = SDL::Surface-&gt;new( -name =&gt; 'images/background.jpg', );
-    my $ship       = SDL::Surface-&gt;new( -name =&gt; 'images/ship.png', );
+<pre>  my $background = SDL::Image::load('images/background.jpg');
+       my $ship       = SDL::Image::load('images/ship.jpg');
 
-    my $background_rect = SDL::Rect-&gt;new(
-        -height =&gt; $background-&gt;height(),
-        -width  =&gt; $background-&gt;width(),
-    );
+       my $background_rect = SDL::Rect-&gt;new(0,0,
+           $background-&gt;w,
+           $background-&gt;h,
+       );
 
-    my $ship_rect = SDL::Rect-&gt;new(
-        -height =&gt; $ship-&gt;height(),
-        -width  =&gt; $ship-&gt;width(),
-    );
+       my $ship_rect = SDL::Rect-&gt;new(0,0,
+           $ship-&gt;w,
+           $ship-&gt;h,
+       );
 
 </pre>
 <p>&nbsp;</p>
 <p>Fourth step: create a sub to draw the spaceship and background:</p>
 <p>&nbsp;</p>
-<pre>    sub draw {
-        my ( $x, $y ) = @_; # spaceship position
+<pre>  sub draw {
+           my ( $x, $y ) = @_; # spaceship position
 
-        # fix $y for screen resolution
-        $y = 450 * ( 1000 - $y ) / 1000;
+           # fix $y for screen resolution
+           $y = 450 * ( 1000 - $y ) / 1000;
 
-        # background
-        $background-&gt;blit( $background_rect, $app, $background_rect );
+           # background
+           SDL::Video::blit_surface($background, $background_rect, $app, $background_rect );
 
-        # ship
-        my $ship_dest_rect = SDL::Rect-&gt;new(
-            -height =&gt; $ship-&gt;height(),
-            -width  =&gt; $ship-&gt;width(),
-            -x      =&gt; $x,
-            -y      =&gt; $y,
-        );
+           # ship
+           my $ship_dest_rect = SDL::Rect-&gt;new(
+               $x, $y, $ship-&gt;w, $ship-&gt;h,
+           );
 
-        $ship-&gt;blit( $ship_rect, $app, $ship_dest_rect );
+           SDL::Video::blit_surface($ship, $ship_rect, $app, $ship_dest_rect );
 
-        $app-&gt;update($background_rect);
-    }
+           SDL::Video::update_rects($app, $background_rect);
+       }
 
 </pre>
 <p>&nbsp;</p>
index a5b8dcf..d996720 100644 (file)
@@ -106,30 +106,28 @@ them there, then <code>update</code> the <code>$app</code>.</p>
 <h1 id="SEE_ALSO">SEE ALSO</h1><p><a href="#TOP" class="toplink">Top</a></p>
 <div id="SEE_ALSO_CONTENT">
 <dl>
-       <dt><a href="SDL-Tutorial-Drawing.html">SDL::Tutorial::Drawing</a></dt>
+       <dt><a href="SDL-Animation.html">SDL::Animation</a></dt>
        <dd>
-               <p>basic drawing with rectangles</p>
+               <p>basic rectangle drawing and animation</p>
        </dd>
-       <dt><a href="SDL-Tutorial-Animation.html">SDL::Tutorial::Animation</a></dt>
+       <dt><a href="SDL-Tutorial-LunarLander.html">SDL::Tutorial::LunarLander</a></dt>
        <dd>
-               <p>basic rectangle animation</p>
-       </dd>
-       <dt><a href="SDL-Tutorial-Images.html">SDL::Tutorial::Images</a></dt>
-       <dd>
-               <p>image loading and animation</p>
+               <p>basic image loading and animation</p>
        </dd>
 </dl>
 
 </div>
 <h1 id="AUTHOR">AUTHOR</h1><p><a href="#TOP" class="toplink">Top</a></p>
 <div id="AUTHOR_CONTENT">
-<p>chromatic, &lt;chromatic@wgz.org&gt;.  </p>
+<p>chromatic, &lt;chromatic@wgz.org&gt;. </p>
+<p>nelson ferraz, &lt;nferraz@cpan.org&gt;. </p>
+<p>Updated by kthakore and garu.</p>
 <p>Written for and maintained by the Perl SDL project, <a href="http://sdl.perl.org/">http://sdl.perl.org/</a>.</p>
 
 </div>
 <h1 id="COPYRIGHT">COPYRIGHT</h1><p><a href="#TOP" class="toplink">Top</a></p>
 <div id="COPYRIGHT_CONTENT">
-<p>Copyright (c) 2003 - 2004, chromatic.  All rights reserved.  This module is
+<p>Copyright (c) 2003 - 2004, chromatic. 2009 - 2010, kthakore.  All rights reserved.  This module is
 distributed under the same terms as Perl itself, in the hope that it is useful
 but certainly under no guarantee.
 </p>
index 092f910..4892dde 100644 (file)
@@ -1,2 +1,2 @@
 <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-6-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-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-4-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-2-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-5-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-4-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-7-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-2-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-6-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-4-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-1-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-5-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-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-2-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-7-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-7-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-2-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-7-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-5-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-5-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-3-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-7-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-2-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-1-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-7-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-2-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-6-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-3-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-7-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-6-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-1-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-6-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-3-mini.png" alt="thumb" /></td><td><a href="SDL-Tutorial-Images.html">SDL::Tutorial::Images</a></td><td></td></tr><tr><td><img src="assets/bubble-2-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-4-mini.png" alt="thumb" /></td><td><a href="SDL-Tutorial-Pong.html">SDL::Tutorial::Pong</a></td><td>- Get started pong</td></tr><tr><td><img src="assets/bubble-6-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-4-mini.png" alt="thumb" /></td><td><a href="SDL-Credits.html">SDL::Credits</a></td><td></td></tr><tr><td><img src="assets/bubble-4-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-1-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-6-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-1-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>
+<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-5-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-4-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-2-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-5-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-4-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-1-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-6-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-5-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-3-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-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-3-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-3-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-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-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-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-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-4-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-5-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-7-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-5-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-1-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-6-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-4-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-6-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-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-1-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-1-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-2-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-4-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-3-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-3-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-1-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-7-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-2-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-5-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-7-mini.png" alt="thumb" /></td><td><a href="SDL-Credits.html">SDL::Credits</a></td><td></td></tr><tr><td><img src="assets/bubble-6-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-2-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-Music.html">SDL::Music</a></td><td>- a perl extension</td></tr><tr><td><img src="assets/bubble-6-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-2-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-4-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-5-mini.png" alt="thumb" /></td><td><a href="SDL-Tool-Graphic.html">SDL::Tool::Graphic</a></td><td></td></tr></table></div>