X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=pages%2FSDL.html-inc;h=ee6419fef1e8245f42e0b75e022cda29bf20b99b;hb=807ae0cdf3bf7e415bbb01449976c9ab91209cbb;hp=15eab1c5f4516059697a7e6d11ae64698de975cd;hpb=a17227e6775e4912e2fa2c7ed8a2a9fad0688479;p=sdlgit%2FSDL-Site.git diff --git a/pages/SDL.html-inc b/pages/SDL.html-inc index 15eab1c..ee6419f 100644 --- a/pages/SDL.html-inc +++ b/pages/SDL.html-inc @@ -2,33 +2,27 @@
SDL - Simple DirectMedia Layer for Perl
-Core
use SDL ':all'; +use SDL;
SDL_perl is a package of perl modules that provides both functional and object orient -interfaces to the Simple DirectMedia Layer for Perl 5. This package does take some -liberties with the SDL API, and attempts to adhere to the spirit of both the SDL -and Perl. This document describes the low-level functional SDL_perl API. For the -object oriented programming interface please see the documentation provided on a -per class basis.
- -SDL_perl is a package of Perl modules that provide both functional and object oriented interfaces to the Simple DirectMedia Layer for Perl 5. +This package takes some liberties with the SDL API, and attempts to adhere to the spirit of both the SDL and Perl. +This document describes the low-level functional SDL Perl API. +For the object oriented programming interface please see the documentation provided on a per-class basis.
As with the C language API, SDL_perl initializes the SDL environment through
-the SDL::init
subroutine. This routine takes a mode flag constructed through
-the bitwise OR product of the SDL_INIT_* constants.
The constants are not exported by default. You can export them into your namespace by doing:
+The constants are not exported by default. You can export them by doing:
use SDL ':all';@@ -77,177 +62,159 @@ the bitwise OR product of the SDL_INIT_* constants.
SDL::SDL_INIT_AUDIO;-
SDL::Init
returns 0 on success, or -1 on error.
or by choosing the export tags below:
+Export tag: ':init'
+SDL_INIT_AUDIO + SDL_INIT_VIDEO + SDL_INIT_CDROM + SDL_INIT_EVERYTHING + SDL_INIT_NOPARACHUTE + SDL_INIT_JOYSTICK + SDL_INIT_TIMER + ++ +
SDL::init( $flags ); + ++
As with the C language API, SDL Perl initializes the SDL environment with the SDL::init
subroutine.
+This routine takes a mode flag constructed through the bitwise OR product of the SDL_INIT_*
constants.
+The $flags
tell SDL::init
which subsystems to initialize.
SDL::init(SDL_INIT_AUDIO | SDL_INIT_JOYSTICK); + ++
SDL::init
returns 0
on success, or -1
on error.
After SDL has been initialized with SDL::init you may initialize uninitialized subsystems with SDL::init_subsystem. -The flags parameter is the same as that used in SDL::init.
-SDL::init_subsystem returns 0 on success, or -1 on error.
+SDL::init_subsystem( $flags ); + ++
After SDL has been initialized with SDL::init
you may initialize any uninitialized subsystems with SDL::init_subsystem
.
+The $flags
tell SDL::init_subsystem
which subsystems to initialize, and are taken in the same way as SDL::init
.
SDL::init_subsystem
returns 0
on success, or -1
on error.
SDL::quit_subsystem allows you to shut down a subsystem that has been previously initialized by SDL::init or SDL::init_subsystem. -The flags tells SDL::quit_subSystem which subsystems to shut down, it uses the same values that are passed to SDL::init.
-SDL::quit_subsystem doesn't returns any value.
+SDL::quit_subsystem( $flags ); + ++
SDL::quit_subsystem
allows you to shut down a subsystem that has been previously initialized by SDL::init
or SDL::init_subsystem
.
+The $flags
tell SDL::quit_subsystem
which subsystems to shut down, and are taken in the same way as SDL::init
.
SDL::quit_subsystem
doesn't return any values.
Shuts down all SDL subsystems, unloads the dynamically linked library and frees the allocated resources.
-Note: This will be called automatically when perl exits. You don't need to call this, except you want to initialize SDL after this again.
-SDL::quit doesn't returns any value.
+SDL::quit; -
SDL::was_init allows you to see which SDL subsytems have been initialized. -flags is a bitwise OR'd combination of the subsystems you wish to check (see SDL::init for a list of subsystem flags). -If 'flags' is 0 or SDL_INIT_EVERYTHING, it returns a mask of all initialized subsystems (this does not include SDL_INIT_EVENTTHREAD or SDL_INIT_NOPARACHUTE).
+ +SDL::quit
Shuts down all SDL subsystems, unloads the dynamically linked library and frees the allocated resources.
Note: This will be called automatically when Perl exits. You don't need to call this, except if you want to initialize SDL again after this.
+SDL::quit
doesn't return any values.
my $flags = SDL::was_init( $flags ); ++
SDL::was_init
allows you to see which SDL subsytems have been initialized.
+The $flags
tell SDL::was_init
which subsystems to check, and are taken in the same way as SDL::init
.
SDL::was_init
returns a mask of the initialized subsystems it checks.
+If $flags
is 0
or SDL_INIT_EVERYTHING
, a mask of all initialized subsystems will be returned (this does not include SDL_INIT_EVENTTHREAD
or SDL_INIT_NOPARACHUTE
).
use SDL ':all'; + my $mask = SDL::was_init(SDL_INIT_AUDIO | SDL_INIT_JOYSTICK); + if($mask & SDL_INIT_AUDIO and $mask & SDL_INIT_JOYSTICK) { + # Both subsystems are initialized! + } +
The last error message set by the SDL library can be retrieved using the subroutine
-SDL::get_error
, which returns a scalar containing the text of the message if any.
SDL::get_error sets the SDL error to a printf style formatted string. -it doesn't returns any values.
- -Sets the SDL error message to one of several predefined strings specified by code.
-code can be :
-The corresponding error string
-Out of memory
-Error reading from datastream
-Error writing to datastream
-Error seeking in datastream
-Unknown SDL error
-Unknown SDL error
-Unknown SDL error
-Note 1: SDL_LASTERROR marks the highest numbered predefined error. -Note 2: SDL also defines SDL_OutOfMemory() and SDL_Unsupported() for internal use -which are equivalent to SDL_Error(SDL_ENOMEM) and SDL_Error(SDL_UNSUPPORTED) respectively.
-SDL::Error doesn't returns any value.
- - - - - -SDL::clear_error deletes all information about the last internal SDL error. Useful if the error has been handled by the program. -it doesn't returns any value.
+my $error = SDL::get_error; -
Need to be coded.
+ +Returns a scalar value containing the last error message set by the SDL library (if any).
Need to be coded.
+SDL::set_error_real( $printf_format, @values ) -
Need to be coded.
+ +SDL::set_error_real
sets the SDL error to a printf
style formatted string.
SDL::set_error_real
doesn't return any values.
Need to be coded.
+SDL::clear_error; + ++
SDL::clear_error
deletes all information about the last SDL error.
+This is useful if the error has been handled by the program.
SDL::clear_error
doesn't return any values.
Need to be coded.
+my $version = SDL::version; + ++
Returns an SDL::Version
object of the SDL library at compile-time.
use SDL; + use SDL::Version; + + my $v = SDL::version; + printf("got version: %d.%d.%d\n", $v->major, $v->minor, $v->patch); + +
Need to be coded.
- -The last error message set by the SDL library can be retrieved using the subroutine
-SDL::get_error
, which returns a scalar containing the text of the message if any.
SDL::linked_version
works in the same way as SDL::version
, but returns an SDL::Version
object of the SDL library at link-time.
This subroutine allows an application to delay further operations for atleast a -number of milliseconds provided as the argument. The actual delay may be longer -than the specified depending on the underlying OS.
- - - +my $ticks = SDL::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
magnet, kthakore
- +SDL::delay( $ms ); ++
SDL::delay
waits the specified number of milliseconds before returning.
+The actual delay may be longer than specified depending on the underlying OS.
SDL::delay
doesn't return anything.
# Delay for half a second + SDL::delay(500); ++
magnet, kthakore, Blaizer