SDL_perl
SDL(L)         User Contributed Perl Documentation         SDL(L)



NAME
       SDL_perl - Simple DirectMedia Layer Perl

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 documenta-
       tion provided on a per class basis.

       Init(t)

       As with the C language API, SDL_perl initializes the SDL
       environment through the "SDL::Init" subroutine.  This rou-
       tine takes a mode flag constructed through the bitwise OR
       product of the following functions:

       o INIT_VIDEO()
       o INIT_CDROM()
       o INIT_EVERYTHING()
       o INIT_NOPARACHUTE()
       o INIT_JOYSTICK()

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

       GetError()

       The last error message set by the SDL library can be
       retrieved using the subroutine "SDL::GetError", which
       returns a scalar containing the text of the message if
       any.

       Delay(y)

       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.

       GetTicks()

       An application may retrieve the number of milliseconds
       expired since the initilization of the application through
       this subroutine.  This value resets rougly ever 49 days.

       AddTimer(interval,callback,param)

       "AddTimer" will register a SDL_NewTimerCallback function
       to be executed after "interval" milliseconds, with parame-
       ter "param".  SDL_NewTimerCallback objects can be con-
       structed with the "NewTimer" subroutine.   "SDL::Perl-
       TimerCallback" will return a valid callback for executing
       a perl subroutine or closure.  This subroutine returns a
       SDL_TimerID for the newly registered callback, or NULL on
       error.

       NewTimer(interval,subroutine)

       The "NewTimer" takes an interval in milliseconds and a
       reference to a subroutine to call at that interval.  The
       subroutine will be invoked in a void context and accepts
       no parameters.  The callback used is that returned by
       "SDL::PerlTimerCallback".  "NewTimer" returns the
       SDL_TimerID for the new timer or NULL on error.

       RemoveTimer(r)

       This subroutine taks a SDL_TimerID and removes it from the
       list of active callbacks.  RemoveTimer returns false on
       failure.

       SetTimer

       This subroutine is depreciated, please use "NewTimer" or
       "AddTimer" instead.

       CDNumDrives()

       "SDL::CDNumDrives" returns the number of available CD-ROM
       drives in the system.

       CDName(e)

       The subroutine "SDL::CDName" returns the system specific
       human readable device name for the given CD-ROM drive.

       CDOpen(n)

       This subroutine opens a CD-ROM drive for access, returning
       NULL if the drive is busy or otherwise unavailable.  On
       success this subroutine returns a handle to the CD-ROM
       drive.

       CDTrackListing(g)

       "SDL::CDTrackListing" returns a human readable description
       of a CD-ROM.  For each track one line will be produced
       with the following format:

               Track index: %d, id %d, %2d.%2d

       This is provided to ease the creation of human readable
       descriptions and debugging.

       CDTrackId(d)

       "CDTrackId" returns the id field of the given SDL_CDtrack
       structure.

       CDTrackType(e)

       "CDTrackType" returns the type field of the given
       SDL_CDtrack structure.

       CDTrackLength(h)

       "CDTrackLength" returns the length field of the given
       SDL_CDtrack structure.




       CDTrackOffset(t)

       "CDTrackOffset" returns the offset field of the given
       SDL_CDtrack structure.

       CDStatus(s)

       The function "CDStatus" returns the current status of the
       given SDL_CDrom.  "CDStatus"'s return values are:

       o CD_TRAYEMPTY
       o CD_PLAYING
       o CD_STOPPED
       o CD_PAUSED
       o CD_ERROR

       CDPlayTracks(cd,track,tracks,frame,frames)

       To start playing from an arbitrary portion of a CD, one
       can provide "SDL::CDPlayTracks" with a CD, a starting
       track, the number of tracks, a starting frame, and the
       number of frames to be played.

       CDPlay(cd,track,length)

       "SDL::CDPlay" plays the next "length" tracks starting from
       "track"

       CDPause(e)

       This function will pause CD playback until resume is
       called.

       CDResume(e)

       This function will resume CD playback if paused.

       CDStop(p)

       "SDL::CDStop" will stop CD playback if playing.

       CDEject(t)

       This function will eject the CD

       CDClose(e)

       This function will release an opened CD.

       CDNumTracks


       CDCurTrack


       CDCurFrame


       CDTrack


       PumpEvents




       NewEvent


       FreeEvent


       PollEvent


       WaitEvent


       EventState


       IGNORE


       ENABLE


       QUERY


       ACTIVEEVENT


       KEYDOWN


       KEYUP


       MOUSEMOTION


       MOUSEBUTTONDOWN


       MOUSEBUTTONUP


       QUIT


       SYSWMEVENT


       EventType


       ActiveEventGain


       ActiveEventState


       APPMOUSEFOCUS


       APPINPUTFOCUS





       APPACTIVE


       KeyEventState


       SDLK_BACKSPACE


       SDLK_TAB


       SDLK_CLEAR


       SDLK_RETURN


       SDLK_PAUSE


       SDLK_ESCAPE


       SDLK_SPACE


       SDLK_EXCLAIM


       SDLK_QUOTEDBL


       SDLK_HASH


       SDLK_DOLLAR


       SDLK_AMPERSAND


       SDLK_QUOTE


       SDLK_LEFTPAREN


       SDLK_RIGHTPAREN


       SDLK_ASTERISK


       SDLK_PLUS


       SDLK_COMMA


       SDLK_MINUS





       SDLK_PERIOD


       SDLK_SLASH


       SDLK_0


       SDLK_1


       SDLK_2


       SDLK_3


       SDLK_4


       SDLK_5


       SDLK_6


       SDLK_7


       SDLK_8


       SDLK_9


       SDLK_COLON


       SDLK_SEMICOLON


       SDLK_LESS


       SDLK_EQUALS


       SDLK_GREATER


       SDLK_QUESTION


       SDLK_AT


       SDLK_LEFTBRACKET


       SDLK_BACKSLASH





       SDLK_RIGHTBRACKET


       SDLK_CARET


       SDLK_UNDERSCORE


       SDLK_BACKQUOTE


       SDLK_a


       SDLK_b


       SDLK_c


       SDLK_d


       SDLK_e


       SDLK_f


       SDLK_g


       SDLK_h


       SDLK_i


       SDLK_j


       SDLK_k


       SDLK_l


       SDLK_m


       SDLK_n


       SDLK_o


       SDLK_p


       SDLK_q





       SDLK_r


       SDLK_s


       SDLK_t


       SDLK_u


       SDLK_v


       SDLK_w


       SDLK_x


       SDLK_y


       SDLK_z


       SDLK_DELETE


       SDLK_KP0


       SDLK_KP1


       SDLK_KP2


       SDLK_KP3


       SDLK_KP4


       SDLK_KP5


       SDLK_KP6


       SDLK_KP7


       SDLK_KP8


       SDLK_KP9


       SDLK_KP_PERIOD





       SDLK_KP_DIVIDE


       SDLK_KP_MULTIPLY


       SDLK_KP_MINUS


       SDLK_KP_PLUS


       SDLK_KP_ENTER


       SDLK_KP_EQUALS


       SDLK_UP


       SDLK_DOWN


       SDLK_RIGHT


       SDLK_LEFT


       SDLK_INSERT


       SDLK_HOME


       SDLK_END


       SDLK_PAGEUP


       SDLK_PAGEDOWN


       SDLK_F1


       SDLK_F2


       SDLK_F3


       SDLK_F4


       SDLK_F5


       SDLK_F6





       SDLK_F7


       SDLK_F8


       SDLK_F9


       SDLK_F10


       SDLK_F11


       SDLK_F12


       SDLK_F13


       SDLK_F14


       SDLK_F15


       SDLK_NUMLOCK


       SDLK_CAPSLOCK


       SDLK_SCROLLOCK


       SDLK_RSHIFT


       SDLK_LSHIFT


       SDLK_RCTRL


       SDLK_LCTRL


       SDLK_RALT


       SDLK_LALT


       SDLK_RMETA


       SDLK_LMETA


       SDLK_LSUPER





       SDLK_RSUPER


       SDLK_MODE


       SDLK_HELP


       SDLK_PRINT


       SDLK_SYSREQ


       SDLK_BREAK


       SDLK_MENU


       SDLK_POWER


       SDLK_EURO


       KMOD_NONE


       KMOD_NUM


       KMOD_CAPS


       KMOD_LCTRL


       KMOD_RCTRL


       KMOD_RSHIFT


       KMOD_LSHIFT


       KMOD_RALT


       KMOD_LALT


       KMOD_CTRL


       KMOD_SHIFT


       KMOD_ALT





       KeyEventSym


       KeyEventMod


       KeyEventUnicode


       KeyEventScanCode


       MouseMotionState


       MouseMotionX


       MouseMotionY


       MouseMotionXrel


       MouseMotionYrel


       MouseButtonState


       MouseButton


       MouseButtonX


       MouseButtonY


       SysWMEventMsg


       EnableUnicode


       EnableKeyRepeat


       GetKeyName


       PRESSED


       RELEASED


       CreateRGBSurface


       CreateRGBSurfaceFrom





       IMG_Load


       FreeSurface


       SurfacePalette


       SurfaceBitsPerPixel


       SurfaceBytesPerPixel


       SurfaceRshift


       SurfaceGshift


       SurfaceBshift


       SurfaceAshift


       SurfaceRmask


       SurfaceGmask


       SurfaceBmask


       SurfaceAmask


       SurfaceColorKey


       SurfaceAlpha


       SurfaceW


       SurfaceH


       SurfacePitch


       SurfacePixels


       SurfacePixel


       MUSTLOCK





       SurfaceLock


       SurfaceUnlock


       GetVideoSurface


       VideoInfo


       NewRect


       FreeRect


       RectX


       RectY


       RectW


       RectH


       NewColor


       ColorR


       ColorG


       CologB


       FreeColor


       NewPalette


       PaletteNColors


       PaletteColors


       SWSURFACE


       HWSURFACE


       ANYFORMAT





       HWPALETTE


       DOUBLEBUF


       FULLSCREEN


       ASYNCBLIT


       OPENGL


       HWACCEL


       VideoModeOK


       SetVideoMode


       UpdateRects


       Flip


       SetColors


       MapRGB (surface,r,g,b)

       "SDL::MapRGB" translates the composite red (r), green (g),
       blue (b) colors according to the given surface to a
       interger color value.  This integer can be used in func-
       tions like "SDL::FillRect", and is not the same as the
       format independent Color object returned by "SDL::New-
       Color".

       MapRGBA (surface,r,g,b,a)

       "SDL::MapRGBA" works as "SDL::MapRGB" but takes an addi-
       tional alpha (a) component for semi-transperant colors.

       GetRGB


       GetRGBA


       SaveBMP


       SetColorKey


       SRCCOLORKEY






       RLEACCEL


       SRCALPHA


       SetAlpha


       DisplayFormat


       BlitSurface


       FillRect(surface,rect,color)

       "SDL::FillRect" draws a solid rectangle of color on the
       given surface.  If the rectangle is NULL, the entire sur-
       face will be painted.

       WMSetCaption


       WMGetCaption


       WMSetIcon


       WarpMouse


       NewCursor


       FreeCursor


       SetCursor


       GetCursor


       ShowCursor


       NewAudioSpec


       FreeAudioSpec


       AUDIO_U8


       AUDIO_S8


       AUDIO_U16





       AUDIO_S16


       AUDIO_U16MSB


       AUDIO_S16MSB


       NewAudioCVT


       FreeAudioCVT


       ConvertAudioData


       OpenAudio


       PauseAudio


       UnlockAudio


       CloseAudio


       FreeWAV


       LoadWAV


       MixAudio


       MIX_MAX_VOLUME


       MIX_DEFAULT_FREQUENCY


       MIX_DEFAULT_FORMAT


       MIX_DEFAULT_CHANNELS


       MIX_NO_FADING


       MIX_FADING_OUT


       MIX_FADING_IN


       MixOpenAudio





       MixAllocateChannels


       MixQuerySpec


       MixLoadWAV


       MixLoadMusic


       MixQuickLoadWAV


       MixFreeChunk


       MixFreeMusic


       MixSetPostMixCallback


       MixSetMusicHook


       MixSetMusicFinishedHook


       MixGetMusicHookData


       MixReverseChannels


       MixGroupChannel


       MixGroupChannels


       MixGroupAvailable


       MixGroupCount


       MixGroupOldest


       MixGroupNewer


       MixPlayChannel


       MixPlayChannelTimed


       MixPlayMusic





       MixFadeInChannel


       MixFadeInChannelTimed


       MixFadeInMusic


       MixVolume


       MixVolumeChunk


       MixVolumeMusic


       MixHaltChannel


       MixHaltGroup


       MixHaltMusic


       MixExpireChannel


       MixFadeOutChannel


       MixFadeOutGroup


       MixFadeOutMusic


       MixFadingMusic


       MixFadingChannel


       MixPause


       MixResume


       MixPaused


       MixPauseMusic


       MixResumeMusic


       MixRewindMusic





       MixPausedMusic


       MixPlaying


       MixPlayingMusic


       MixCloseAudio


       NewFont


       UseFont


       PutString


       TextWidth


       GL_RED_SIZE


       GL_GREEN_SIZE


       GL_BLUE_SIZE


       GL_ALPHA_SIZE


       GL_ACCUM_RED_SIZE


       GL_ACCUM_GREEN_SIZE


       GL_ACCUM_BLUE_SIZE


       GL_ACCUM_ALPHA_SIZE


       GL_BUFFER_SIZE


       GL_DEPTH_SIZE


       GL_STENCIL_SIZE


       GL_DOUBLEBUFFER


       GL_SetAttribute





       GL_GetAttribute


       GL_SwapBuffers


       BigEndian


       NumJoysticks


       JoystickName


       JoystickOpen


       JoystickOpened


       JoystickIndex


       JoystickNumAxes


       JoystickNumBalls


       JoystickNumHats


       JoystickNumButtons


       JoystickUpdate


       JoystickGetAxis


       JoystickGetHat


       JoystickGetButton


       JoystickGetBall


       JoystickClose


AUTHOR
       David J. Goehrig

CONTRIBUTORS
       David J. Goehrig, Wayne Keenan, Guillaume Cottenceau

SEE ALSO
               perl(l) SDL::App(p) SDL::Surface(e) SDL::Event(t) SDL::Rect(t)
               SDL::Palette(e) SDL::Mixer(r) SDL::Cdrom(m)




perl v5.6.1                 2002-04-05                     SDL(L)