From: Tobias Leich Date: Mon, 23 Nov 2009 12:17:23 +0000 (+0100) Subject: docs X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=commitdiff_plain;h=a9a9aa21353bebf509e63620aac4346ba5d9b030;p=sdlgit%2FSDL-Site.git docs --- diff --git a/pages/SDL-Cdrom.html-inc b/pages/SDL-Cdrom.html-inc index 0421cec..304c392 100644 --- a/pages/SDL-Cdrom.html-inc +++ b/pages/SDL-Cdrom.html-inc @@ -3,19 +3,149 @@

Index


NAME

Top

-

SDL::CDROM -- SDL Bindings for the CDROM device

+

SDL::Cdrom - a SDL perl extension for managing CD-ROM drives

+ +
+

SYNOPSIS

Top

+
+
	use SDL::Cdrom;
+	$cdrom = SDL::Cdrom->new(0);
+	$cdrom->play();
+
+
+ +
+

EXPORTS

Top

+
+ + + +
+

DESCRIPTION

Top

+
+

Create a new SDL::Cdrom object. The passed $id is the number of the drive, +whereas 0 is the first drive etc.

+
	use SDL::Cdrom;
+	my $drive => SDL::Cdrom->new($id);
+
+
+ +
+

METHODS

Top

+
+ +
+

cd_num_drives()

+
+

Returns the number of CD-ROM drives present.

+ +
+

name(cd)

+
+

Returns the system dependent name of the CD-ROM device. +It takes a SDL::Cdrom as first parameter.

+ +
+

status(cd)

+
+

Return the status of the drive. +It takes a SDL::Cdrom as first parameter.

+ +
+

play(cd,start,length,fs,fl)

+
+

Play a track from the SDL::Cdrom given as first parameter, second parameter is the frame to start, the third is the lenght to play. +It returns 1 on succés 0 on error.

+ +
+

pause(cd)

+
+

Pause the playing of the SDL::Cdrom given as first parameter. +It returns 1 on succés 0 on error.

+ +
+

resume(cd)

+
+

Resume the playing of the SDL::Cdrom given as first parameter. +It returns 1 on succés 0 on error.

+ +
+

stop(cd)

+
+

Stop the playing of the SDL::Cdrom given as first parameter. +It returns 1 on succés 0 on error.

+ +
+

eject(cd)

+
+

Eject the medium in the SDL::Cdrom given as first parameter. +It returns 1 on succés 0 on error.

+ +
+

id(cd)

+
+

Return the ID of the drive given as first parameter.

+ +
+

num_tracks(cd)

+
+

Return the number of tracks on the SDL::Cdrom given as first parameter.

+ +
+

track(cd,number)

+
+

Returns the track description of the track given as second parameter. +the first parameter is a SDL:Cdrom.

+ +
+

current(cd)

+
+

Return the current played track number given as first parameter.

+ +
+

current_frame(cd)

+
+

Return the current frame given as first parameter.

+ +
+

AUTHORS

Top

+
+

David J. Goehrig +Documentation by Tels <http://bloodgate.com/>.

-

CATEGORY

Top

-
-

TODO, Core, CDROM

+

SEE ALSO

Top

+
+

perl SDL::Mixer SDL::App.

\ No newline at end of file diff --git a/pages/SDL-Joystick.html-inc b/pages/SDL-Joystick.html-inc index a6a7a66..bf306f3 100644 --- a/pages/SDL-Joystick.html-inc +++ b/pages/SDL-Joystick.html-inc @@ -3,7 +3,26 @@

Index


@@ -15,7 +34,241 @@

CATEGORY

Top

-

TODO, Core, Joystick

+

Core, Joystick

+ +
+

SYNOPSIS

Top

+
+
 use SDL;
+ use SDL::Joystick;
+
+ SDL::init_sub_system(SDL_INIT_JOYSTICK);
+
+ die('no joystick found') unless(SDL::Joystick::num_joysticks());
+
+ my $joystick = SDL::Joystick->new(0);
+
+
+ +
+

METHODS

Top

+
+ +
+

num_joysticks

+
+
 int SDL::Joystick::num_joysticks( void );
+
+
+

Counts and returns available joysticks.

+ +
+

name

+
+
 string SDL::Joystick::name( index );
+
+
+

Get the implementation dependent name of joystick. The index parameter refers to the N'th joystick on the system.

+
 my $num_joysticks = SDL::Joystick::num_joysticks();
+
+ printf("%d joysticks found\n", $num_joysticks);
+
+ for($i = 0; i < $num_joysticks; $i++)
+ {
+     printf("%s\n", SDL::Joystick::name($i));
+ }
+
+
+ +
+

open

+
+
 object SDL::Joystick::open( index );
+
+
+

Opens a joystick for use within SDL. The index refers to the N'th joystick in the system. +A joystick must be opened before it can be used.

+
 # Initialize the joystick subsystem
+ SDL::init_sub_system(SDL_INIT_JOYSTICK);
+
+ # Check for joystick
+ if(SDL::Joystick::num_joysticks() > 0)
+ {
+     # Open joystick
+     my $joystick = SDL::Joystick::open(0);
+
+     if($joystick)
+     {
+         printf("Opened Joystick 0\n");
+         printf("Name: %s\n",              SDL::Joystick::name(0));
+         printf("Number of Axes: %d\n",    SDL::Joystick::num_axes($joystick));
+         printf("Number of Buttons: %d\n", SDL::Joystick::num_buttons($joystick));
+         printf("Number of Balls: %d\n",   SDL::Joystick::num_balls($joystick));
+     }
+     else
+     {
+         printf("Couldn't open Joystick 0\n");
+     }
+
+     # Close if opened
+     SDL::Joystick::close($joystick) if SDL::Joystick::opened(0);
+ }
+
+
+ +
+

opened

+
+
 int SDL::Joystick::opened( index );
+
+
+

Determines whether a joystick has already been opened within the application. index refers to the N'th joystick on the system.

+

Returns 1 if the joystick has been opened, or 0 if it has not.

+ +
+

index

+
+
 int SDL::Joystick::index( object );
+
+
+

Returns the index of a given SDL_Joystick structure. See SDL::Joystick::open

+ +
+

num_axes

+
+
 int SDL::Joystick::num_axes( object );
+
+
+

Return the number of axes available from a previously opened joystick. See SDL::Joystick::open

+ +
+

num_balls

+
+
 int SDL::Joystick::num_balls( object );
+
+
+

Return the number of trackballs available from a previously opened joystick. See SDL::Joystick::open

+ +
+

num_hats

+
+
 int SDL::Joystick::num_hats( object );
+
+
+

Gets the number of joystick hats from a previously opened joystick. See SDL::Joystick::open

+ +
+

num_buttons

+
+
 int SDL::Joystick::num_buttons( object );
+
+
+

Gets the number of joystick buttons from a previously opened joystick. See SDL::Joystick::open

+ +
+

update

+
+
 void SDL::Joystick::update();
+
+
+

Updates the state(position, buttons, etc.) of all open joysticks. If joystick events have been enabled +with SDL::Joystick::event_state then this is called automatically in the event loop.

+ +
+

get_axis

+
+

get_axis returns the current state of the given axis on the given joystick.

+

On most modern joysticks the X axis is usually represented by axis 0 and the Y axis by axis 1. +The value returned by get_axis is a signed integer (-32768 to 32767) representing the current position of the axis, +it may be necessary to impose certain tolerances on these values to account for jitter.

+

Note: Some joysticks use axes 2 and 3 for extra buttons.

+

Returns a 16-bit signed integer representing the current position of the axis.

+
 my $joystick = SDL::Joystick::open(0);
+
+ my $x_move   = SDL::Joystick::get_axis($joystick, 0);
+ my $y_move   = SDL::Joystick::get_axis($joystick, 1);
+
+
+ +
+

get_hat

+
+
 int SDL::Joystick::get_hat( object, int );
+
+
+

get_hat returns the current state of the given hat on the given joystick.

+

The current state is returned which is an OR'd combination of one or more of the following:

+ + +
 my $joystick = SDL::Joystick::open(0);
+
+ my $position = SDL::Joystick::get_hat($joystick, 0);
+
+ print("hat is in position UP\n") if $position & SDL_HAT_UP;
+
+
+ +
+

get_button

+
+
 int SDL::Joystick::get_button( object, int );
+
+
+

get_button returns the current state of the given button on the given joystick.

+

Returns 1 if the button is pressed. Otherwise, 0.

+
 my $joystick    = SDL::Joystick::open(0);
+
+ my $num_buttons = SDL::Joystick::num_buttons($joystick);
+
+ for(my $i = 0; $i < $num_buttons; $i++)
+ {
+     printf("button %d is %s\n", $i, SDL::Joystick::get_button($joystick, $i) ? 'pressed' : 'not pressed');
+ }
+
+ SDL::Joystick::close($joystick) if SDL::Joystick::opened(0);
+
+
+ +
+

get_ball

+
+
 int SDL::Joystick::get_ball(SDL_Joystick $joystick, int $ball, int $dx, int $dy);
+
+
+

Get the ball axis change.

+

Trackballs can only return relative motion since the last call to SDL::Joystick::get_ball, these motion deltas are placed into dx and dy.

+

Returns 0 on success or -1 on failure

+
 my $delta_x  = 0;
+ my $delta_y  = 0;
+ my $joystick = SDL::Joystick::open(0);
+
+ SDL::Joystick::update();
+
+ printf("TrackBall Read Error!\n") if(SDL::JoystickGetBall($joystick, 0, $delta_x, $delta_y) == -1);
+ printf("Trackball Delta- X:%d, Y:%d\n", delta_x, delta_y);
+
+
+ +
+

close

+
+
 void SDL::Joystick::close( object );
+
+
+

Closes a previously opened joystick. See SDL::Joystick::open

+
 SDL::Joystick::close($joystick) if SDL::Joystick::opened(0);
+
+
\ No newline at end of file diff --git a/pages/SDL-RWOps.html-inc b/pages/SDL-RWOps.html-inc new file mode 100644 index 0000000..b60eec1 --- /dev/null +++ b/pages/SDL-RWOps.html-inc @@ -0,0 +1,211 @@ +
+ +

Index

+ +
+ + +

NAME

Top

+
+

SDL::RWOps -- SDL Bindings to SDL_RWOPs

+ +
+

CATEGORY

Top

+
+

TODO, Core, Structure

+ + + + + +
+

SYNOPSIS

Top

+
+

use SDL::RW;

+ + + + +

SDL::RWOps is an "undocumented" feature of SDL, allowing you to use pointers to memory instead of files (though it can handle files too) for things such as images or samples. The primary advantage of this feature is that many libraries load files from the filesystem themselves, leaving you a bit stuck if you want to implement your own special file access, such as an archive format. Fortunately many libraries, such as SDL_image, provide additional methods designed to read from an SDL_RWops, so that you can provide the data in whatever way you like.

+

An example usage would be to put a bunch of resources in a zip file and use Zziplib to access them easily.

+ + + + + +
+

METHODS

Top

+
+ + + + + +
+

rw_from_file(file,mode)

+
+

rw_from_file creates a new SDL::RWops structure for reading from and/or writing to a named file. +The mode string is treated the same as in a call to the C library's fopen(). +SDL::rw_from_file() returns a SDL::RWops structure on succés or undef on failure.

+
	Mode Strings:
+
+	"r"	Open a file for reading. The file must exist.
+
+	"w"	Create an empty file for writing. If a file with the same name already exists its content is erased and the file is treated as a new empty file.
+
+	"a"	Append to a file. Writing operations append data at the end of the file. The file is created if it does not exist.
+
+	"r+"	Open a file for update both reading and writing. The file must exist.
+
+	"w+"	Create an empty file for both reading and writing. 
+		If a file with the same name already exists its content is erased and the file is treated as a new empty file.
+
+	"a+"	Open a file for reading and appending. All writing operations are performed at the end of the file, protecting the previous content to be overwritten.
+		You can reposition (fseek, rewind) the internal pointer to anywhere in the file for reading, but writing operations will move it back to the end of file.		 The file is created if it does not exist.
+
+
+
+
+
+

NOTE: In order to open a file as a binary file, a "b" character has to be included in the mode string. +This additional "b" character can either be appended at the end of the string (thus making the following compound modes: "rb", "wb", "ab", "r+b", "w+b", "a+b") or be inserted between the letter and the "+" sign for the mixed modes ("rb+", "wb+", "ab+"). Additional characters may follow the sequence, although they should have no effect. For example, "t" is sometimes appended to make explicit the file is a text file.

+ + + + + + + + +
+

rw_from_fp(fp,autoclose)

+
+

SDL::rw_from_fp creates a new SDL::RWops structure from a file pointer, opened with stdio. If autoclose is nonzero, the file will be automatically closed when the SDL::RWops structure is closed. +It returns a SDL::RWops on succés or undef on error.

+

Note: This is not available under Win32, since files opened in an application on that platform cannot be used by a dynamically linked library.

+ + + + + +
+

rw_from_mem(mem,size)

+
+

SDL::rw_from_mem sets up a SDL::RWops struct based on a chunk of memory of a certain size. +It returns a SDL::Rwops on succés or undef on error.

+

Note: If the memory is not writable, use SDL::rw_from_const_mem instead.

+ + + + + +
+

rw_from_const_mem(mem,size)

+
+

rw_from_const_mem sets up a SDL::RWops struct based on a memory area of a certain size. It assumes the memory area is not writable. +It returns a SDL::RWops on succés on undef on error.

+ +
+

alloc_rw()

+
+

alloc_rw allocates an empty, unpopulated SDL::RWops structure. You must fill out the fields yourself. +It returns a SDL::RWops structure on succés or undef on error.

+

Note: You must free any memory allocated with SDL::alloc_rw with SDL::free_rw.

+ + + + + +
+

free_rw(context)

+
+

SDL::free_rw frees an SDL::RWops structure previously allocated by SDL::alloc_rw. Only use it on memory allocated by SDL::alloc_rw. +It doesn't returns anything.

+ + + + + +
+

rw_seek(ctx,offset,whence)

+
+

SDL::rw_seek calls the seek function pointer in an SDL::RWOps structure. It takes the same 3 parameters as the function pointer:

+
	1. A pointer to an SDL::rwops structure
+   	2. An offset in bytes. This can be a negative value.
+   	3.SEEK_SET, SEEK_CUR, or SEEK_END. SEEK_SET seeks from the beginning of the file, SEEK_CUR from the current position, and SEEK_END from the end of the file. 
+
+
+

SDL::rw_seek returns the final offset in the data source.

+ +
+

rw_tell(ctx)

+
+

SDL::rw_tell performs a do-nothing seek to get the current offset in an SDL::RWOps stream ctx. It takes one parameter, a pointer to an SDL::RWOps structure. +It returns the offset in the stream.

+ +
+

rw_read(ctx,ptr,size,n)

+
+

SDL_RWread calls the function pointed to by an SDL::RWOps structure's read member. It takes the same 4 parameters as the function pointer:

+
   1. A pointer to an SDL::RWOps structure
+   2. A pointer to an area of memory to read data into
+   3. The size of each block of memory to read
+   4. The maxinum number of memory blocks to read(it may read less) 
+
+
+

It returns the number of memory blocks read, or -1 if the read failed.

+ + + + + +
+

rw_write(ctx,ptr,size,n)

+
+

SDL_RWwrite calls the write function in an SDL::RWOps structure. It takes the same parameters as the write function given in the SDL::RWOps structure:

+
   1. A pointer to an SDL::RWOps structure
+   2. A pointer to an area in memory to read data from
+   3. The size of the memory blocks to write
+   4. The exact number of memory blocks to write 
+
+
+

0n success, it returns the number of memory blocks you told it to write. +If it couldn't write that exact number of blocks, or the write didn't work at all, it returns -1.

+ + + + + +
+

rw_close(ctx)

+
+

SDL::rw_close calls the close function in an SDL::RWOps structure. It only takes one parameter, an SDL::RWOps structure. +Returns 0 on success, -1 on error.

+ + + + + + + + +
+
\ No newline at end of file diff --git a/pages/SDL-Timer.html-inc b/pages/SDL-Timer.html-inc index aa2b5ad..dcd6f98 100644 --- a/pages/SDL-Timer.html-inc +++ b/pages/SDL-Timer.html-inc @@ -4,46 +4,121 @@
+

NAME

Top

+
+

SDL::Time - a SDL perl extension for managing timers.

-

NAME

Top

-
-

SDL::Timer - a SDL perl extension to handle timers

SYNOPSIS

Top

-
  $timer = new SDL::Timer { print "tick"; 4000; } -delay => 4000;
 
-
+ + + + + + + + + + +
+

METHODS

Top

+
+ + + + + +
+

get_ticks()

+
+

Returns the number of milliseconds since SDL library initialization. This value wraps around if the program runs for more than 49.7 days

+ + + + + +
+

delay(ms)

+
+

This function waits a specified number of milliseconds before returning. It waits at least the specified time, but possible longer due to OS scheduling. The delay granularity is at least 10 ms. Some platforms have shorter clock ticks but this is the most common. +SDL::delay doesn't returns anything.

+ +
+

add_timer(interval,callback,param)

+
+

Adds a callback function to be run after the specified number of milliseconds has elapsed. +The callback function is passed the current timer interval and the user supplied parameter from the SDL::add_timer call and returns the next timer interval. +If the returned value from the callback is the same as the one passed in, the timer continues at the same rate. +If the returned value from the callback is 0, the timer is cancelled.

+

Another way to cancel a currently-running timer is by calling SDL::remove_timer with the timer's ID (which was returned from SDL::add_timer).

+

The timer callback function may run in a different thread than your main program, and so shouldn't call any functions from within itself. +However, you may always call SDL::push_event.

+

SDL::add_timer returns the identifier value of the generated timer or undef on error.

+

Note : If you use this function, you need to pass SDL_INIT_TIMER to SDL::init.

-

DESCRIPTION

Top

-
-

SDL::Timer provides an abstract interface to the SDL::Timer -callback code. SDL::Timer::new requires a subroutine and a delay -at which is the initial interval between the creation of the -timer until the first call to the subroutine. The subroutine -must return a value which is the delay until the it is called again.

+

Parameters

+
+
	interval [in]   The desired interval of the timer, in milliseconds. 
+			The granularity of the timer is platform-dependent, but you should count on it being at least 10 ms as this is the most common number.
+			This means that if you request a 16 ms timer, your callback will run approximately 20 ms later on an unloaded system. 
+			If you wanted to set a flag signaling a frame update at 30 frames per second (every 33 ms), you might set a timer for 30 ms (see example below). 
+
+	callback [in]   The SDL timer callback function which is called when the specified interval elapses. 
+
+	param [in]	The user parameter which is passed to the callback function 
+
+
+
+
+
-

AUTHOR

Top

-
-

David J. Goehrig

+

remove_timer( id )

+
+

Removes a timer callback previously added with SDL::add_timer. +It returns 0 on succés or -1 on error.

-

SEE ALSO

Top

-
-

perl SDL

+

set_timer( interval,callback )

+
+

Set a callback to run after the specified number of milliseconds has elapsed. +The callback function is passed the current timer interval and returns the next timer interval. +If the returned value is the same as the one passed in, the periodic alarm continues, otherwise a new alarm is scheduled.

+

To cancel a currently running timer, call SDL::set_timer(0, NULL);

+

The timer callback function may run in a different thread than your main constant, and so shouldn't call any functions from within itself.

+

The maximum resolution of this timer is 10 ms, which means that if you request a 16 ms timer, your callback will run approximately 20 ms later on an unloaded system. If you wanted to set a flag signaling a frame update at 30 frames per second (every 33 ms), you might set a timer for 30 ms (see example below).

+

If you use this function, you need to pass SDL_INIT_TIMER to SDL::init(). +Note: This function is kept for compatibility but has been superseded by the new timer functions SDL::add_timer and SDL::remove_timer which support multiple timers.

+ + + +
\ No newline at end of file diff --git a/pages/SDL.html-inc b/pages/SDL.html-inc index f3da803..533dad4 100644 --- a/pages/SDL.html-inc +++ b/pages/SDL.html-inc @@ -319,7 +319,7 @@ than the specified depending on the underlying OS.

SDL::Events need to be completed SDL::Cdrom need some examples. SDL::MultiThread to be created( once implemented ). - SDL::Time to be completed. + SDL::Timer need examples. SDL::RW to be created. SDL::Mouse need to be created. SDL::Joystick need to be created. diff --git a/pages/documentation.html-inc b/pages/documentation.html-inc index afda4d3..84bac75 100644 --- a/pages/documentation.html-inc +++ b/pages/documentation.html-inc @@ -1,2 +1,2 @@
-

Documentation (latest development branch)

Core
thumbSDL Simple DirectMedia Layer for Perl
Events
thumbSDL::Events Bindings to the Events Category in SDL API
Structure
thumbSDL::Event General event structure
MultiThread
thumbSDL::MultiThread Bindings to the MultiThread category in SDL API
Video
thumbSDL::Video Bindings to the video category in SDL API
Structure
thumbSDL::Color Format independent color description
thumbSDL::Overlay YUV Video overlay
thumbSDL::PixelFormat Stores surface format information
thumbSDL::Rect Defines a rectangular area
thumbSDL::Surface
thumbSDL::VideoInfo Video Target Information

Cookbook
thumbSDL::Cookbook
thumbSDL::Cookbook::PDL

Extension
thumbSDL::App a SDL perl extension

Mixer
thumbSDL::Mixer a SDL perl extension
TODO
Core
Audio
thumbSDL::Audio- SDL Bindings for Audio
Structure
thumbSDL::AudioSpec- SDL Bindings for structure SDL_AudioSpec
CDROM
thumbSDL::CDROM- SDL Bindings for the CDROM device
Structure
thumbSDL::CD- SDL Bindings for structure SDL_CD
thumbSDL::CDTrack- SDL Bindings for structure SDL_CDTrack
Joystick
thumbSDL::Joystick- SDL Bindings for the Joystick device
Structure
thumbSDL::Mixer::MixChunk- SDL Bindings for structure SDL_MixChunk
thumbSDL::Mixer::MixMusic- SDL Bindings for structure SDL_MixMusic
Mouse
thumbSDL::Mouse- SDL Bindings for the Mouse device
Structure
thumbSDL::Version- SDL Bindings for structure SDL_Version

Tutorials
thumbSDL::Tutorial introduction to Perl SDL
thumbSDL::Tutorial::Animation
thumbSDL::Tutorial::Images
thumbSDL::Tutorial::LunarLander a small tutorial on Perl SDL
thumbSDL::Tutorial::Pong
thumbSDL::Tutorial::Tetris

UNCATEGORIZED
thumbSDL::Cursor a SDL perl extension
thumbSDL::Font a SDL perl extension
thumbSDL::Game::Palette a perl extension
thumbSDL::MPEG a SDL perl extension
thumbSDL::Music a perl extension
thumbSDL::OpenGL a perl extension
thumbSDL::Palette a perl extension
thumbSDL::SFont a perl extension
thumbSDL::SMPEG a SDL perl extension
thumbSDL::Sound a perl extension
thumbSDL::TTFont a SDL perl extension
thumbSDL::Timer a SDL perl extension to handle timers
thumbSDL::Tool::Font a perl extension
thumbSDL::Tool::Graphic
thumbTime a SDL perl extension for managing timers.
+

Documentation (latest development branch)

Core
thumbSDL Simple DirectMedia Layer for Perl
Events
thumbSDL::Events Bindings to the Events Category in SDL API
Structure
thumbSDL::Event General event structure
Joystick
thumbSDL::Joystick- SDL Bindings for the Joystick device
MultiThread
thumbSDL::MultiThread Bindings to the MultiThread category in SDL API
Video
thumbSDL::Video Bindings to the video category in SDL API
Structure
thumbSDL::Color Format independent color description
thumbSDL::Overlay YUV Video overlay
thumbSDL::PixelFormat Stores surface format information
thumbSDL::Rect Defines a rectangular area
thumbSDL::Surface
thumbSDL::VideoInfo Video Target Information

Cookbook
thumbSDL::Cookbook
thumbSDL::Cookbook::PDL

Extension
thumbSDL::App a SDL perl extension

Mixer
thumbSDL::Mixer a SDL perl extension
TODO
Core
Audio
thumbSDL::Audio- SDL Bindings for Audio
Structure
thumbSDL::AudioSpec- SDL Bindings for structure SDL_AudioSpec
Structure
thumbSDL::CD- SDL Bindings for structure SDL_CD
thumbSDL::CDTrack- SDL Bindings for structure SDL_CDTrack
Structure
thumbSDL::Mixer::MixChunk- SDL Bindings for structure SDL_MixChunk
thumbSDL::Mixer::MixMusic- SDL Bindings for structure SDL_MixMusic
Mouse
thumbSDL::Mouse- SDL Bindings for the Mouse device
Structure
thumbSDL::RWOps- SDL Bindings to SDL_RWOPs
thumbSDL::Version- SDL Bindings for structure SDL_Version

Tutorials
thumbSDL::Tutorial introduction to Perl SDL
thumbSDL::Tutorial::Animation
thumbSDL::Tutorial::Images
thumbSDL::Tutorial::LunarLander a small tutorial on Perl SDL
thumbSDL::Tutorial::Pong
thumbSDL::Tutorial::Tetris

UNCATEGORIZED
thumbSDL::Cdrom a SDL perl extension for managing CD-ROM drives
thumbSDL::Cursor a SDL perl extension
thumbSDL::Font a SDL perl extension
thumbSDL::Game::Palette a perl extension
thumbSDL::MPEG a SDL perl extension
thumbSDL::Music a perl extension
thumbSDL::OpenGL a perl extension
thumbSDL::Palette a perl extension
thumbSDL::SFont a perl extension
thumbSDL::SMPEG a SDL perl extension
thumbSDL::Sound a perl extension
thumbSDL::TTFont a SDL perl extension
thumbSDL::Timer a SDL perl extension for managing timers.
thumbSDL::Tool::Font a perl extension
thumbSDL::Tool::Graphic