The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

NAME

SDL - Simple DirectMedia Layer for Perl

CATEGORY

Core

SYNOPSIS

  use SDL;

DESCRIPTION

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.

The SDL Perl 2009 Development Team

Documentation

        Nick: magnet

Perl Development

        Nick: Garu
        Name: Breno G. de Oliveira
        
        Nick: Dngor
        Name: Rocco Caputo

        Nick: nferraz
        Name: Nelson Ferraz

        Nick: acme
        Name: Leon Brocard
        
        Nick: FROGGS
        Name: Tobias Leich

Maintainance

        Nick: kthakore
        Name: Kartik Thakore

MacOSX Experimental Usage

Please get libsdl packages from Fink

        perl Build.PL
        perl Build test
        perl Build bundle
        perl Build install

Running SDL Perl Scripts in MacOSX

First set the PERL5LIB environment variable to the dependencies of your script

        %export PERL5LIB=$PERL5LIB:./lib

Use the SDLPerl executable made in the bundle and call your scripts

        %SDLPerl.app/Contents/MacOS/SDLPerl yourScript.pl

Functions exported by SDL.pm

init(flags)

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 following constants:

  • INIT_AUDIO

  • INIT_VIDEO

  • INIT_CDROM

  • INIT_EVERYTHING

  • INIT_NOPARACHUTE

  • INIT_JOYSTICK

  • INIT_TIMER

SDL::Init returns 0 on success, or -1 on error.

init_subsystem(flags)

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.

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 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.

quit

Shuts down all SDL subsystems, unloads the dynamically linked library and frees the allocated resources. This should always be called before you exit.

SDL::quit doesn't returns any value.

was_init(flags)

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).

get_error()

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.

set_error_real(error, @values)

SDL::get_error sets the SDL error to a printf style formatted string. it doesn't returns any values.

error(code) * need to be coded

Sets the SDL error message to one of several predefined strings specified by code.

code can be :

SDL_errorcode

The corresponding error string

SDL_ENOMEM

Out of memory

SDL_EFREAD

Error reading from datastream

SDL_EFWRITE

Error writing to datastream

SDL_EFSEEK

Error seeking in datastream

SDL_UNSUPPORTED

Unknown SDL error

SDL_LASTERROR

Unknown SDL error

any other value

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.

clear_error()

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.

load_object()

Need to be coded.

load_function()

Need to be coded.

unload_object()

Need to be coded.

VERSION()

Need to be coded.

version()

Need to be coded.

linked_version

Need to be coded.

get_error()

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.

delay(ms)

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.

AUTHORS

magnet, kthakore