.\" Automatically generated by Pod::Man v1.37, Pod::Parser v1.32 .\" .\" Standard preamble: .\" ======================================================================== .de Sh \" Subsection heading .br .if t .Sp .ne 5 .PP \fB\\$1\fR .PP .. .de Sp \" Vertical space (when we can't use .PP) .if t .sp .5v .if n .sp .. .de Vb \" Begin verbatim text .ft CW .nf .ne \\$1 .. .de Ve \" End verbatim text .ft R .fi .. .\" Set up some character translations and predefined strings. \*(-- will .\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left .\" double quote, and \*(R" will give a right double quote. | will give a .\" real vertical bar. \*(C+ will give a nicer C++. Capital omega is used to .\" do unbreakable dashes and therefore won't be available. \*(C` and \*(C' .\" expand to `' in nroff, nothing in troff, for use with C<>. .tr \(*W-|\(bv\*(Tr .ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p' .ie n \{\ . ds -- \(*W- . ds PI pi . if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch . if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch . ds L" "" . ds R" "" . ds C` "" . ds C' "" 'br\} .el\{\ . ds -- \|\(em\| . ds PI \(*p . ds L" `` . ds R" '' 'br\} .\" .\" If the F register is turned on, we'll generate index entries on stderr for .\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index .\" entries marked with X<> in POD. Of course, you'll have to process the .\" output yourself in some meaningful fashion. .if \nF \{\ . de IX . tm Index:\\$1\t\\n%\t"\\$2" .. . nr % 0 . rr F .\} .\" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .hy 0 .if n .na .\" .\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2). .\" Fear. Run. Save yourself. No user-serviceable parts. . \" fudge factors for nroff and troff .if n \{\ . ds #H 0 . ds #V .8m . ds #F .3m . ds #[ \f1 . ds #] \fP .\} .if t \{\ . ds #H ((1u-(\\\\n(.fu%2u))*.13m) . ds #V .6m . ds #F 0 . ds #[ \& . ds #] \& .\} . \" simple accents for nroff and troff .if n \{\ . ds ' \& . ds ` \& . ds ^ \& . ds , \& . ds ~ ~ . ds / .\} .if t \{\ . ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u" . ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u' . ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u' . ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u' . ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u' . ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u' .\} . \" troff and (daisy-wheel) nroff accents .ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V' .ds 8 \h'\*(#H'\(*b\h'-\*(#H' .ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#] .ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H' .ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u' .ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#] .ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#] .ds ae a\h'-(\w'a'u*4/10)'e .ds Ae A\h'-(\w'A'u*4/10)'E . \" corrections for vroff .if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u' .if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u' . \" for low resolution devices (crt and lpr) .if \n(.H>23 .if \n(.V>19 \ \{\ . ds : e . ds 8 ss . ds o a . ds d- d\h'-1'\(ga . ds D- D\h'-1'\(hy . ds th \o'bp' . ds Th \o'LP' . ds ae ae . ds Ae AE .\} .rm #[ #] #H #V #F C .\" ======================================================================== .\" .IX Title "SDL 3" .TH SDL 3 "2003-03-21" "perl v5.8.8" "User Contributed Perl Documentation" .SH "NAME" SDL_perl \- Simple DirectMedia Layer Perl .SH "SYNOPSIS" .IX Header "SYNOPSIS" .Vb 1 \& use SDL; .Ve .SH "DESCRIPTION" .IX Header "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 \s-1SDL\s0 \s-1API\s0, and attempts to adhere to the spirit of both the \s-1SDL\s0 and Perl. This document describes the low-level functional SDL_perl \s-1API\s0. For the object oriented programming interface please see the documentation provided on a per class basis. .Sh "Init(flags)" .IX Subsection "Init(flags)" As with the C language \s-1API\s0, SDL_perl initializes the \s-1SDL\s0 environment through the \f(CW\*(C`SDL::Init\*(C'\fR subroutine. This routine takes a mode flag constructed through the bitwise \s-1OR\s0 product of the following functions: .IP "* \s-1\fIINIT_VIDEO\s0()\fR" 4 .IX Item "INIT_VIDEO()" .PD 0 .IP "* \s-1\fIINIT_CDROM\s0()\fR" 4 .IX Item "INIT_CDROM()" .IP "* \s-1\fIINIT_EVERYTHING\s0()\fR" 4 .IX Item "INIT_EVERYTHING()" .IP "* \s-1\fIINIT_NOPARACHUTE\s0()\fR" 4 .IX Item "INIT_NOPARACHUTE()" .IP "* \s-1\fIINIT_JOYSTICK\s0()\fR" 4 .IX Item "INIT_JOYSTICK()" .IP "* \s-1\fIINIT_TIMER\s0()\fR" 4 .IX Item "INIT_TIMER()" .PD .PP \&\f(CW\*(C`SDL::Init\*(C'\fR returns 0 on success, or \-1 on error. .Sh "\fIGetError()\fP" .IX Subsection "GetError()" The last error message set by the \s-1SDL\s0 library can be retrieved using the subroutine \&\f(CW\*(C`SDL::GetError\*(C'\fR, which returns a scalar containing the text of the message if any. .Sh "Delay(ms)" .IX Subsection "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 \s-1OS\s0. .Sh "\fIGetTicks()\fP" .IX Subsection "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. .Sh "AddTimer(interval,callback,param)" .IX Subsection "AddTimer(interval,callback,param)" \&\f(CW\*(C`AddTimer\*(C'\fR will register a SDL_NewTimerCallback function to be executed after \&\f(CW\*(C`interval\*(C'\fR milliseconds, with parameter \f(CW\*(C`param\*(C'\fR. SDL_NewTimerCallback objects can be constructed with the \f(CW\*(C`NewTimer\*(C'\fR subroutine. \f(CW\*(C`SDL::PerlTimerCallback\*(C'\fR will return a valid callback for executing a perl subroutine or closure. This subroutine returns a SDL_TimerID for the newly registered callback, or \s-1NULL\s0 on error. .Sh "NewTimer(interval,subroutine)" .IX Subsection "NewTimer(interval,subroutine)" The \f(CW\*(C`NewTimer\*(C'\fR 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 \f(CW\*(C`SDL::PerlTimerCallback\*(C'\fR. \&\f(CW\*(C`NewTimer\*(C'\fR returns the SDL_TimerID for the new timer or \s-1NULL\s0 on error. .Sh "RemoveTimer(id)" .IX Subsection "RemoveTimer(id)" This subroutine taks a SDL_TimerID and removes it from the list of active callbacks. RemoveTimer returns false on failure. .Sh "SetTimer" .IX Subsection "SetTimer" This subroutine is depreciated, please use \f(CW\*(C`NewTimer\*(C'\fR or \f(CW\*(C`AddTimer\*(C'\fR instead. .Sh "\fICDNumDrives()\fP" .IX Subsection "CDNumDrives()" \&\f(CW\*(C`SDL::CDNumDrives\*(C'\fR returns the number of available CD-ROM drives in the system. .Sh "CDName(drive)" .IX Subsection "CDName(drive)" The subroutine \f(CW\*(C`SDL::CDName\*(C'\fR returns the system specific human readable device name for the given CD-ROM drive. .Sh "CDOpen(drive)" .IX Subsection "CDOpen(drive)" This subroutine opens a CD-ROM drive for access, returning \s-1NULL\s0 if the drive is busy or otherwise unavailable. On success this subroutine returns a handle to the CD-ROM drive. .Sh "CDTrackListing(cd)" .IX Subsection "CDTrackListing(cd)" \&\f(CW\*(C`SDL::CDTrackListing\*(C'\fR returns a human readable description of a \s-1CD\-ROM\s0. For each track one line will be produced with the following format: .PP .Vb 1 \& Track index: %d, id %d, %2d.%2d .Ve .PP This is provided to ease the creation of human readable descriptions and debugging. .Sh "CDTrackId(track)" .IX Subsection "CDTrackId(track)" \&\f(CW\*(C`CDTrackId\*(C'\fR returns the id field of the given SDL_CDtrack structure. .Sh "CDTrackType(track)" .IX Subsection "CDTrackType(track)" \&\f(CW\*(C`CDTrackType\*(C'\fR returns the type field of the given SDL_CDtrack structure. .Sh "CDTrackLength(track)" .IX Subsection "CDTrackLength(track)" \&\f(CW\*(C`CDTrackLength\*(C'\fR returns the length field of the given SDL_CDtrack structure. .Sh "CDTrackOffset(track)" .IX Subsection "CDTrackOffset(track)" \&\f(CW\*(C`CDTrackOffset\*(C'\fR returns the offset field of the given SDL_CDtrack structure. .Sh "CDStatus(cd)" .IX Subsection "CDStatus(cd)" The function \f(CW\*(C`CDStatus\*(C'\fR returns the current status of the given SDL_CDrom. \&\f(CW\*(C`CDStatus\*(C'\fR's return values are: .IP "* \s-1CD_TRAYEMPTY\s0" 4 .IX Item "CD_TRAYEMPTY" .PD 0 .IP "* \s-1CD_PLAYING\s0" 4 .IX Item "CD_PLAYING" .IP "* \s-1CD_STOPPED\s0" 4 .IX Item "CD_STOPPED" .IP "* \s-1CD_PAUSED\s0" 4 .IX Item "CD_PAUSED" .IP "* \s-1CD_ERROR\s0" 4 .IX Item "CD_ERROR" .PD .Sh "CDPlayTracks(cd,track,tracks,frame,frames)" .IX Subsection "CDPlayTracks(cd,track,tracks,frame,frames)" To start playing from an arbitrary portion of a \s-1CD\s0, one can provide \&\f(CW\*(C`SDL::CDPlayTracks\*(C'\fR with a \s-1CD\s0, a starting track, the number of tracks, a starting frame, and the number of frames to be played. .Sh "CDPlay(cd,track,length)" .IX Subsection "CDPlay(cd,track,length)" \&\f(CW\*(C`SDL::CDPlay\*(C'\fR plays the next \f(CW\*(C`length\*(C'\fR tracks starting from \f(CW\*(C`track\*(C'\fR .Sh "CDPause(cd)" .IX Subsection "CDPause(cd)" This function will pause \s-1CD\s0 playback until resume is called. .Sh "CDResume(cd)" .IX Subsection "CDResume(cd)" This function will resume \s-1CD\s0 playback if paused. .Sh "CDStop(cd)" .IX Subsection "CDStop(cd)" \&\f(CW\*(C`SDL::CDStop\*(C'\fR will stop \s-1CD\s0 playback if playing. .Sh "CDEject(cd)" .IX Subsection "CDEject(cd)" This function will eject the \s-1CD\s0 .Sh "CDClose(cd)" .IX Subsection "CDClose(cd)" This function will release an opened \s-1CD\s0. .Sh "CDNumTracks" .IX Subsection "CDNumTracks" .Sh "CDCurTrack" .IX Subsection "CDCurTrack" .Sh "CDCurFrame" .IX Subsection "CDCurFrame" .Sh "CDTrack" .IX Subsection "CDTrack" .Sh "PumpEvents" .IX Subsection "PumpEvents" .Sh "NewEvent" .IX Subsection "NewEvent" .Sh "FreeEvent" .IX Subsection "FreeEvent" .Sh "PollEvent" .IX Subsection "PollEvent" .Sh "WaitEvent" .IX Subsection "WaitEvent" .Sh "EventState" .IX Subsection "EventState" .Sh "\s-1IGNORE\s0" .IX Subsection "IGNORE" .Sh "\s-1ENABLE\s0" .IX Subsection "ENABLE" .Sh "\s-1QUERY\s0" .IX Subsection "QUERY" .Sh "\s-1ACTIVEEVENT\s0" .IX Subsection "ACTIVEEVENT" .Sh "\s-1KEYDOWN\s0" .IX Subsection "KEYDOWN" .Sh "\s-1KEYUP\s0" .IX Subsection "KEYUP" .Sh "\s-1MOUSEMOTION\s0" .IX Subsection "MOUSEMOTION" .Sh "\s-1MOUSEBUTTONDOWN\s0" .IX Subsection "MOUSEBUTTONDOWN" .Sh "\s-1MOUSEBUTTONUP\s0" .IX Subsection "MOUSEBUTTONUP" .Sh "\s-1QUIT\s0" .IX Subsection "QUIT" .Sh "\s-1SYSWMEVENT\s0" .IX Subsection "SYSWMEVENT" .Sh "EventType" .IX Subsection "EventType" .Sh "ActiveEventGain" .IX Subsection "ActiveEventGain" .Sh "ActiveEventState" .IX Subsection "ActiveEventState" .Sh "\s-1APPMOUSEFOCUS\s0" .IX Subsection "APPMOUSEFOCUS" .Sh "\s-1APPINPUTFOCUS\s0" .IX Subsection "APPINPUTFOCUS" .Sh "\s-1APPACTIVE\s0" .IX Subsection "APPACTIVE" .Sh "KeyEventState" .IX Subsection "KeyEventState" .Sh "\s-1SDLK_BACKSPACE\s0" .IX Subsection "SDLK_BACKSPACE" .Sh "\s-1SDLK_TAB\s0" .IX Subsection "SDLK_TAB" .Sh "\s-1SDLK_CLEAR\s0" .IX Subsection "SDLK_CLEAR" .Sh "\s-1SDLK_RETURN\s0" .IX Subsection "SDLK_RETURN" .Sh "\s-1SDLK_PAUSE\s0" .IX Subsection "SDLK_PAUSE" .Sh "\s-1SDLK_ESCAPE\s0" .IX Subsection "SDLK_ESCAPE" .Sh "\s-1SDLK_SPACE\s0" .IX Subsection "SDLK_SPACE" .Sh "\s-1SDLK_EXCLAIM\s0" .IX Subsection "SDLK_EXCLAIM" .Sh "\s-1SDLK_QUOTEDBL\s0" .IX Subsection "SDLK_QUOTEDBL" .Sh "\s-1SDLK_HASH\s0" .IX Subsection "SDLK_HASH" .Sh "\s-1SDLK_DOLLAR\s0" .IX Subsection "SDLK_DOLLAR" .Sh "\s-1SDLK_AMPERSAND\s0" .IX Subsection "SDLK_AMPERSAND" .Sh "\s-1SDLK_QUOTE\s0" .IX Subsection "SDLK_QUOTE" .Sh "\s-1SDLK_LEFTPAREN\s0" .IX Subsection "SDLK_LEFTPAREN" .Sh "\s-1SDLK_RIGHTPAREN\s0" .IX Subsection "SDLK_RIGHTPAREN" .Sh "\s-1SDLK_ASTERISK\s0" .IX Subsection "SDLK_ASTERISK" .Sh "\s-1SDLK_PLUS\s0" .IX Subsection "SDLK_PLUS" .Sh "\s-1SDLK_COMMA\s0" .IX Subsection "SDLK_COMMA" .Sh "\s-1SDLK_MINUS\s0" .IX Subsection "SDLK_MINUS" .Sh "\s-1SDLK_PERIOD\s0" .IX Subsection "SDLK_PERIOD" .Sh "\s-1SDLK_SLASH\s0" .IX Subsection "SDLK_SLASH" .Sh "\s-1SDLK_0\s0" .IX Subsection "SDLK_0" .Sh "\s-1SDLK_1\s0" .IX Subsection "SDLK_1" .Sh "\s-1SDLK_2\s0" .IX Subsection "SDLK_2" .Sh "\s-1SDLK_3\s0" .IX Subsection "SDLK_3" .Sh "\s-1SDLK_4\s0" .IX Subsection "SDLK_4" .Sh "\s-1SDLK_5\s0" .IX Subsection "SDLK_5" .Sh "\s-1SDLK_6\s0" .IX Subsection "SDLK_6" .Sh "\s-1SDLK_7\s0" .IX Subsection "SDLK_7" .Sh "\s-1SDLK_8\s0" .IX Subsection "SDLK_8" .Sh "\s-1SDLK_9\s0" .IX Subsection "SDLK_9" .Sh "\s-1SDLK_COLON\s0" .IX Subsection "SDLK_COLON" .Sh "\s-1SDLK_SEMICOLON\s0" .IX Subsection "SDLK_SEMICOLON" .Sh "\s-1SDLK_LESS\s0" .IX Subsection "SDLK_LESS" .Sh "\s-1SDLK_EQUALS\s0" .IX Subsection "SDLK_EQUALS" .Sh "\s-1SDLK_GREATER\s0" .IX Subsection "SDLK_GREATER" .Sh "\s-1SDLK_QUESTION\s0" .IX Subsection "SDLK_QUESTION" .Sh "\s-1SDLK_AT\s0" .IX Subsection "SDLK_AT" .Sh "\s-1SDLK_LEFTBRACKET\s0" .IX Subsection "SDLK_LEFTBRACKET" .Sh "\s-1SDLK_BACKSLASH\s0" .IX Subsection "SDLK_BACKSLASH" .Sh "\s-1SDLK_RIGHTBRACKET\s0" .IX Subsection "SDLK_RIGHTBRACKET" .Sh "\s-1SDLK_CARET\s0" .IX Subsection "SDLK_CARET" .Sh "\s-1SDLK_UNDERSCORE\s0" .IX Subsection "SDLK_UNDERSCORE" .Sh "\s-1SDLK_BACKQUOTE\s0" .IX Subsection "SDLK_BACKQUOTE" .Sh "SDLK_a" .IX Subsection "SDLK_a" .Sh "SDLK_b" .IX Subsection "SDLK_b" .Sh "SDLK_c" .IX Subsection "SDLK_c" .Sh "SDLK_d" .IX Subsection "SDLK_d" .Sh "SDLK_e" .IX Subsection "SDLK_e" .Sh "SDLK_f" .IX Subsection "SDLK_f" .Sh "SDLK_g" .IX Subsection "SDLK_g" .Sh "SDLK_h" .IX Subsection "SDLK_h" .Sh "SDLK_i" .IX Subsection "SDLK_i" .Sh "SDLK_j" .IX Subsection "SDLK_j" .Sh "SDLK_k" .IX Subsection "SDLK_k" .Sh "SDLK_l" .IX Subsection "SDLK_l" .Sh "SDLK_m" .IX Subsection "SDLK_m" .Sh "SDLK_n" .IX Subsection "SDLK_n" .Sh "SDLK_o" .IX Subsection "SDLK_o" .Sh "SDLK_p" .IX Subsection "SDLK_p" .Sh "SDLK_q" .IX Subsection "SDLK_q" .Sh "SDLK_r" .IX Subsection "SDLK_r" .Sh "SDLK_s" .IX Subsection "SDLK_s" .Sh "SDLK_t" .IX Subsection "SDLK_t" .Sh "SDLK_u" .IX Subsection "SDLK_u" .Sh "SDLK_v" .IX Subsection "SDLK_v" .Sh "SDLK_w" .IX Subsection "SDLK_w" .Sh "SDLK_x" .IX Subsection "SDLK_x" .Sh "SDLK_y" .IX Subsection "SDLK_y" .Sh "SDLK_z" .IX Subsection "SDLK_z" .Sh "\s-1SDLK_DELETE\s0" .IX Subsection "SDLK_DELETE" .Sh "\s-1SDLK_KP0\s0" .IX Subsection "SDLK_KP0" .Sh "\s-1SDLK_KP1\s0" .IX Subsection "SDLK_KP1" .Sh "\s-1SDLK_KP2\s0" .IX Subsection "SDLK_KP2" .Sh "\s-1SDLK_KP3\s0" .IX Subsection "SDLK_KP3" .Sh "\s-1SDLK_KP4\s0" .IX Subsection "SDLK_KP4" .Sh "\s-1SDLK_KP5\s0" .IX Subsection "SDLK_KP5" .Sh "\s-1SDLK_KP6\s0" .IX Subsection "SDLK_KP6" .Sh "\s-1SDLK_KP7\s0" .IX Subsection "SDLK_KP7" .Sh "\s-1SDLK_KP8\s0" .IX Subsection "SDLK_KP8" .Sh "\s-1SDLK_KP9\s0" .IX Subsection "SDLK_KP9" .Sh "\s-1SDLK_KP_PERIOD\s0" .IX Subsection "SDLK_KP_PERIOD" .Sh "\s-1SDLK_KP_DIVIDE\s0" .IX Subsection "SDLK_KP_DIVIDE" .Sh "\s-1SDLK_KP_MULTIPLY\s0" .IX Subsection "SDLK_KP_MULTIPLY" .Sh "\s-1SDLK_KP_MINUS\s0" .IX Subsection "SDLK_KP_MINUS" .Sh "\s-1SDLK_KP_PLUS\s0" .IX Subsection "SDLK_KP_PLUS" .Sh "\s-1SDLK_KP_ENTER\s0" .IX Subsection "SDLK_KP_ENTER" .Sh "\s-1SDLK_KP_EQUALS\s0" .IX Subsection "SDLK_KP_EQUALS" .Sh "\s-1SDLK_UP\s0" .IX Subsection "SDLK_UP" .Sh "\s-1SDLK_DOWN\s0" .IX Subsection "SDLK_DOWN" .Sh "\s-1SDLK_RIGHT\s0" .IX Subsection "SDLK_RIGHT" .Sh "\s-1SDLK_LEFT\s0" .IX Subsection "SDLK_LEFT" .Sh "\s-1SDLK_INSERT\s0" .IX Subsection "SDLK_INSERT" .Sh "\s-1SDLK_HOME\s0" .IX Subsection "SDLK_HOME" .Sh "\s-1SDLK_END\s0" .IX Subsection "SDLK_END" .Sh "\s-1SDLK_PAGEUP\s0" .IX Subsection "SDLK_PAGEUP" .Sh "\s-1SDLK_PAGEDOWN\s0" .IX Subsection "SDLK_PAGEDOWN" .Sh "\s-1SDLK_F1\s0" .IX Subsection "SDLK_F1" .Sh "\s-1SDLK_F2\s0" .IX Subsection "SDLK_F2" .Sh "\s-1SDLK_F3\s0" .IX Subsection "SDLK_F3" .Sh "\s-1SDLK_F4\s0" .IX Subsection "SDLK_F4" .Sh "\s-1SDLK_F5\s0" .IX Subsection "SDLK_F5" .Sh "\s-1SDLK_F6\s0" .IX Subsection "SDLK_F6" .Sh "\s-1SDLK_F7\s0" .IX Subsection "SDLK_F7" .Sh "\s-1SDLK_F8\s0" .IX Subsection "SDLK_F8" .Sh "\s-1SDLK_F9\s0" .IX Subsection "SDLK_F9" .Sh "\s-1SDLK_F10\s0" .IX Subsection "SDLK_F10" .Sh "\s-1SDLK_F11\s0" .IX Subsection "SDLK_F11" .Sh "\s-1SDLK_F12\s0" .IX Subsection "SDLK_F12" .Sh "\s-1SDLK_F13\s0" .IX Subsection "SDLK_F13" .Sh "\s-1SDLK_F14\s0" .IX Subsection "SDLK_F14" .Sh "\s-1SDLK_F15\s0" .IX Subsection "SDLK_F15" .Sh "\s-1SDLK_NUMLOCK\s0" .IX Subsection "SDLK_NUMLOCK" .Sh "\s-1SDLK_CAPSLOCK\s0" .IX Subsection "SDLK_CAPSLOCK" .Sh "\s-1SDLK_SCROLLOCK\s0" .IX Subsection "SDLK_SCROLLOCK" .Sh "\s-1SDLK_RSHIFT\s0" .IX Subsection "SDLK_RSHIFT" .Sh "\s-1SDLK_LSHIFT\s0" .IX Subsection "SDLK_LSHIFT" .Sh "\s-1SDLK_RCTRL\s0" .IX Subsection "SDLK_RCTRL" .Sh "\s-1SDLK_LCTRL\s0" .IX Subsection "SDLK_LCTRL" .Sh "\s-1SDLK_RALT\s0" .IX Subsection "SDLK_RALT" .Sh "\s-1SDLK_LALT\s0" .IX Subsection "SDLK_LALT" .Sh "\s-1SDLK_RMETA\s0" .IX Subsection "SDLK_RMETA" .Sh "\s-1SDLK_LMETA\s0" .IX Subsection "SDLK_LMETA" .Sh "\s-1SDLK_LSUPER\s0" .IX Subsection "SDLK_LSUPER" .Sh "\s-1SDLK_RSUPER\s0" .IX Subsection "SDLK_RSUPER" .Sh "\s-1SDLK_MODE\s0" .IX Subsection "SDLK_MODE" .Sh "\s-1SDLK_HELP\s0" .IX Subsection "SDLK_HELP" .Sh "\s-1SDLK_PRINT\s0" .IX Subsection "SDLK_PRINT" .Sh "\s-1SDLK_SYSREQ\s0" .IX Subsection "SDLK_SYSREQ" .Sh "\s-1SDLK_BREAK\s0" .IX Subsection "SDLK_BREAK" .Sh "\s-1SDLK_MENU\s0" .IX Subsection "SDLK_MENU" .Sh "\s-1SDLK_POWER\s0" .IX Subsection "SDLK_POWER" .Sh "\s-1SDLK_EURO\s0" .IX Subsection "SDLK_EURO" .Sh "\s-1KMOD_NONE\s0" .IX Subsection "KMOD_NONE" .Sh "\s-1KMOD_NUM\s0" .IX Subsection "KMOD_NUM" .Sh "\s-1KMOD_CAPS\s0" .IX Subsection "KMOD_CAPS" .Sh "\s-1KMOD_LCTRL\s0" .IX Subsection "KMOD_LCTRL" .Sh "\s-1KMOD_RCTRL\s0" .IX Subsection "KMOD_RCTRL" .Sh "\s-1KMOD_RSHIFT\s0" .IX Subsection "KMOD_RSHIFT" .Sh "\s-1KMOD_LSHIFT\s0" .IX Subsection "KMOD_LSHIFT" .Sh "\s-1KMOD_RALT\s0" .IX Subsection "KMOD_RALT" .Sh "\s-1KMOD_LALT\s0" .IX Subsection "KMOD_LALT" .Sh "\s-1KMOD_CTRL\s0" .IX Subsection "KMOD_CTRL" .Sh "\s-1KMOD_SHIFT\s0" .IX Subsection "KMOD_SHIFT" .Sh "\s-1KMOD_ALT\s0" .IX Subsection "KMOD_ALT" .Sh "KeyEventSym" .IX Subsection "KeyEventSym" .Sh "KeyEventMod" .IX Subsection "KeyEventMod" .Sh "KeyEventUnicode" .IX Subsection "KeyEventUnicode" .Sh "KeyEventScanCode" .IX Subsection "KeyEventScanCode" .Sh "MouseMotionState" .IX Subsection "MouseMotionState" .Sh "MouseMotionX" .IX Subsection "MouseMotionX" .Sh "MouseMotionY" .IX Subsection "MouseMotionY" .Sh "MouseMotionXrel" .IX Subsection "MouseMotionXrel" .Sh "MouseMotionYrel" .IX Subsection "MouseMotionYrel" .Sh "MouseButtonState" .IX Subsection "MouseButtonState" .Sh "MouseButton" .IX Subsection "MouseButton" .Sh "MouseButtonX" .IX Subsection "MouseButtonX" .Sh "MouseButtonY" .IX Subsection "MouseButtonY" .Sh "SysWMEventMsg" .IX Subsection "SysWMEventMsg" .Sh "EnableUnicode" .IX Subsection "EnableUnicode" .Sh "EnableKeyRepeat" .IX Subsection "EnableKeyRepeat" .Sh "GetKeyName" .IX Subsection "GetKeyName" .Sh "\s-1PRESSED\s0" .IX Subsection "PRESSED" .Sh "\s-1RELEASED\s0" .IX Subsection "RELEASED" .Sh "CreateRGBSurface" .IX Subsection "CreateRGBSurface" .Sh "CreateRGBSurfaceFrom" .IX Subsection "CreateRGBSurfaceFrom" .Sh "IMG_Load" .IX Subsection "IMG_Load" .Sh "FreeSurface" .IX Subsection "FreeSurface" .Sh "SurfacePalette" .IX Subsection "SurfacePalette" .Sh "SurfaceBitsPerPixel" .IX Subsection "SurfaceBitsPerPixel" .Sh "SurfaceBytesPerPixel" .IX Subsection "SurfaceBytesPerPixel" .Sh "SurfaceRshift" .IX Subsection "SurfaceRshift" .Sh "SurfaceGshift" .IX Subsection "SurfaceGshift" .Sh "SurfaceBshift" .IX Subsection "SurfaceBshift" .Sh "SurfaceAshift" .IX Subsection "SurfaceAshift" .Sh "SurfaceRmask" .IX Subsection "SurfaceRmask" .Sh "SurfaceGmask" .IX Subsection "SurfaceGmask" .Sh "SurfaceBmask" .IX Subsection "SurfaceBmask" .Sh "SurfaceAmask" .IX Subsection "SurfaceAmask" .Sh "SurfaceColorKey" .IX Subsection "SurfaceColorKey" .Sh "SurfaceAlpha" .IX Subsection "SurfaceAlpha" .Sh "SurfaceW" .IX Subsection "SurfaceW" .Sh "SurfaceH" .IX Subsection "SurfaceH" .Sh "SurfacePitch" .IX Subsection "SurfacePitch" .Sh "SurfacePixels" .IX Subsection "SurfacePixels" .Sh "SurfacePixel" .IX Subsection "SurfacePixel" .Sh "\s-1MUSTLOCK\s0" .IX Subsection "MUSTLOCK" .Sh "SurfaceLock" .IX Subsection "SurfaceLock" .Sh "SurfaceUnlock" .IX Subsection "SurfaceUnlock" .Sh "GetVideoSurface" .IX Subsection "GetVideoSurface" .Sh "VideoInfo" .IX Subsection "VideoInfo" .Sh "NewRect" .IX Subsection "NewRect" .Sh "FreeRect" .IX Subsection "FreeRect" .Sh "RectX" .IX Subsection "RectX" .Sh "RectY" .IX Subsection "RectY" .Sh "RectW" .IX Subsection "RectW" .Sh "RectH" .IX Subsection "RectH" .Sh "NewColor" .IX Subsection "NewColor" .Sh "ColorR" .IX Subsection "ColorR" .Sh "ColorG" .IX Subsection "ColorG" .Sh "CologB" .IX Subsection "CologB" .Sh "FreeColor" .IX Subsection "FreeColor" .Sh "NewPalette" .IX Subsection "NewPalette" .Sh "PaletteNColors" .IX Subsection "PaletteNColors" .Sh "PaletteColors" .IX Subsection "PaletteColors" .Sh "\s-1SWSURFACE\s0" .IX Subsection "SWSURFACE" .Sh "\s-1HWSURFACE\s0" .IX Subsection "HWSURFACE" .Sh "\s-1ANYFORMAT\s0" .IX Subsection "ANYFORMAT" .Sh "\s-1HWPALETTE\s0" .IX Subsection "HWPALETTE" .Sh "\s-1DOUBLEBUF\s0" .IX Subsection "DOUBLEBUF" .Sh "\s-1FULLSCREEN\s0" .IX Subsection "FULLSCREEN" .Sh "\s-1ASYNCBLIT\s0" .IX Subsection "ASYNCBLIT" .Sh "\s-1OPENGL\s0" .IX Subsection "OPENGL" .Sh "\s-1HWACCEL\s0" .IX Subsection "HWACCEL" .Sh "VideoModeOK" .IX Subsection "VideoModeOK" .Sh "SetVideoMode" .IX Subsection "SetVideoMode" .Sh "UpdateRects" .IX Subsection "UpdateRects" .Sh "Flip" .IX Subsection "Flip" .Sh "SetColors" .IX Subsection "SetColors" .Sh "MapRGB (surface,r,g,b)" .IX Subsection "MapRGB (surface,r,g,b)" \&\f(CW\*(C`SDL::MapRGB\*(C'\fR 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 functions like \f(CW\*(C`SDL::FillRect\*(C'\fR, and is not the same as the format independent Color object returned by \f(CW\*(C`SDL::NewColor\*(C'\fR. .Sh "MapRGBA (surface,r,g,b,a)" .IX Subsection "MapRGBA (surface,r,g,b,a)" \&\f(CW\*(C`SDL::MapRGBA\*(C'\fR works as \f(CW\*(C`SDL::MapRGB\*(C'\fR but takes an additional alpha (a) component for semi-transperant colors. .Sh "GetRGB" .IX Subsection "GetRGB" .Sh "GetRGBA" .IX Subsection "GetRGBA" .Sh "SaveBMP" .IX Subsection "SaveBMP" .Sh "SetColorKey" .IX Subsection "SetColorKey" .Sh "\s-1SRCCOLORKEY\s0" .IX Subsection "SRCCOLORKEY" .Sh "\s-1RLEACCEL\s0" .IX Subsection "RLEACCEL" .Sh "\s-1SRCALPHA\s0" .IX Subsection "SRCALPHA" .Sh "SetAlpha" .IX Subsection "SetAlpha" .Sh "DisplayFormat" .IX Subsection "DisplayFormat" .Sh "BlitSurface" .IX Subsection "BlitSurface" .Sh "FillRect(surface,rect,color)" .IX Subsection "FillRect(surface,rect,color)" \&\f(CW\*(C`SDL::FillRect\*(C'\fR draws a solid rectangle of color on the given surface. If the rectangle is \s-1NULL\s0, the entire surface will be painted. .Sh "WMSetCaption" .IX Subsection "WMSetCaption" .Sh "WMGetCaption" .IX Subsection "WMGetCaption" .Sh "WMSetIcon" .IX Subsection "WMSetIcon" .Sh "WarpMouse" .IX Subsection "WarpMouse" .Sh "NewCursor" .IX Subsection "NewCursor" .Sh "FreeCursor" .IX Subsection "FreeCursor" .Sh "SetCursor" .IX Subsection "SetCursor" .Sh "GetCursor" .IX Subsection "GetCursor" .Sh "ShowCursor" .IX Subsection "ShowCursor" .Sh "NewAudioSpec" .IX Subsection "NewAudioSpec" .Sh "FreeAudioSpec" .IX Subsection "FreeAudioSpec" .Sh "\s-1AUDIO_U8\s0" .IX Subsection "AUDIO_U8" .Sh "\s-1AUDIO_S8\s0" .IX Subsection "AUDIO_S8" .Sh "\s-1AUDIO_U16\s0" .IX Subsection "AUDIO_U16" .Sh "\s-1AUDIO_S16\s0" .IX Subsection "AUDIO_S16" .Sh "\s-1AUDIO_U16MSB\s0" .IX Subsection "AUDIO_U16MSB" .Sh "\s-1AUDIO_S16MSB\s0" .IX Subsection "AUDIO_S16MSB" .Sh "NewAudioCVT" .IX Subsection "NewAudioCVT" .Sh "FreeAudioCVT" .IX Subsection "FreeAudioCVT" .Sh "ConvertAudioData" .IX Subsection "ConvertAudioData" .Sh "OpenAudio" .IX Subsection "OpenAudio" .Sh "PauseAudio" .IX Subsection "PauseAudio" .Sh "UnlockAudio" .IX Subsection "UnlockAudio" .Sh "CloseAudio" .IX Subsection "CloseAudio" .Sh "FreeWAV" .IX Subsection "FreeWAV" .Sh "LoadWAV" .IX Subsection "LoadWAV" .Sh "MixAudio" .IX Subsection "MixAudio" .Sh "\s-1MIX_MAX_VOLUME\s0" .IX Subsection "MIX_MAX_VOLUME" .Sh "\s-1MIX_DEFAULT_FREQUENCY\s0" .IX Subsection "MIX_DEFAULT_FREQUENCY" .Sh "\s-1MIX_DEFAULT_FORMAT\s0" .IX Subsection "MIX_DEFAULT_FORMAT" .Sh "\s-1MIX_DEFAULT_CHANNELS\s0" .IX Subsection "MIX_DEFAULT_CHANNELS" .Sh "\s-1MIX_NO_FADING\s0" .IX Subsection "MIX_NO_FADING" .Sh "\s-1MIX_FADING_OUT\s0" .IX Subsection "MIX_FADING_OUT" .Sh "\s-1MIX_FADING_IN\s0" .IX Subsection "MIX_FADING_IN" .Sh "MixOpenAudio" .IX Subsection "MixOpenAudio" .Sh "MixAllocateChannels" .IX Subsection "MixAllocateChannels" .Sh "MixQuerySpec" .IX Subsection "MixQuerySpec" .Sh "MixLoadWAV" .IX Subsection "MixLoadWAV" .Sh "MixLoadMusic" .IX Subsection "MixLoadMusic" .Sh "MixQuickLoadWAV" .IX Subsection "MixQuickLoadWAV" .Sh "MixFreeChunk" .IX Subsection "MixFreeChunk" .Sh "MixFreeMusic" .IX Subsection "MixFreeMusic" .Sh "MixSetPostMixCallback" .IX Subsection "MixSetPostMixCallback" .Sh "MixSetMusicHook" .IX Subsection "MixSetMusicHook" .Sh "MixSetMusicFinishedHook" .IX Subsection "MixSetMusicFinishedHook" .Sh "MixGetMusicHookData" .IX Subsection "MixGetMusicHookData" .Sh "MixReverseChannels" .IX Subsection "MixReverseChannels" .Sh "MixGroupChannel" .IX Subsection "MixGroupChannel" .Sh "MixGroupChannels" .IX Subsection "MixGroupChannels" .Sh "MixGroupAvailable" .IX Subsection "MixGroupAvailable" .Sh "MixGroupCount" .IX Subsection "MixGroupCount" .Sh "MixGroupOldest" .IX Subsection "MixGroupOldest" .Sh "MixGroupNewer" .IX Subsection "MixGroupNewer" .Sh "MixPlayChannel" .IX Subsection "MixPlayChannel" .Sh "MixPlayChannelTimed" .IX Subsection "MixPlayChannelTimed" .Sh "MixPlayMusic" .IX Subsection "MixPlayMusic" .Sh "MixFadeInChannel" .IX Subsection "MixFadeInChannel" .Sh "MixFadeInChannelTimed" .IX Subsection "MixFadeInChannelTimed" .Sh "MixFadeInMusic" .IX Subsection "MixFadeInMusic" .Sh "MixVolume" .IX Subsection "MixVolume" .Sh "MixVolumeChunk" .IX Subsection "MixVolumeChunk" .Sh "MixVolumeMusic" .IX Subsection "MixVolumeMusic" .Sh "MixHaltChannel" .IX Subsection "MixHaltChannel" .Sh "MixHaltGroup" .IX Subsection "MixHaltGroup" .Sh "MixHaltMusic" .IX Subsection "MixHaltMusic" .Sh "MixExpireChannel" .IX Subsection "MixExpireChannel" .Sh "MixFadeOutChannel" .IX Subsection "MixFadeOutChannel" .Sh "MixFadeOutGroup" .IX Subsection "MixFadeOutGroup" .Sh "MixFadeOutMusic" .IX Subsection "MixFadeOutMusic" .Sh "MixFadingMusic" .IX Subsection "MixFadingMusic" .Sh "MixFadingChannel" .IX Subsection "MixFadingChannel" .Sh "MixPause" .IX Subsection "MixPause" .Sh "MixResume" .IX Subsection "MixResume" .Sh "MixPaused" .IX Subsection "MixPaused" .Sh "MixPauseMusic" .IX Subsection "MixPauseMusic" .Sh "MixResumeMusic" .IX Subsection "MixResumeMusic" .Sh "MixRewindMusic" .IX Subsection "MixRewindMusic" .Sh "MixPausedMusic" .IX Subsection "MixPausedMusic" .Sh "MixPlaying" .IX Subsection "MixPlaying" .Sh "MixPlayingMusic" .IX Subsection "MixPlayingMusic" .Sh "MixCloseAudio" .IX Subsection "MixCloseAudio" .Sh "NewFont" .IX Subsection "NewFont" .Sh "UseFont" .IX Subsection "UseFont" .Sh "PutString" .IX Subsection "PutString" .Sh "TextWidth" .IX Subsection "TextWidth" .Sh "\s-1GL_RED_SIZE\s0" .IX Subsection "GL_RED_SIZE" .Sh "\s-1GL_GREEN_SIZE\s0" .IX Subsection "GL_GREEN_SIZE" .Sh "\s-1GL_BLUE_SIZE\s0" .IX Subsection "GL_BLUE_SIZE" .Sh "\s-1GL_ALPHA_SIZE\s0" .IX Subsection "GL_ALPHA_SIZE" .Sh "\s-1GL_ACCUM_RED_SIZE\s0" .IX Subsection "GL_ACCUM_RED_SIZE" .Sh "\s-1GL_ACCUM_GREEN_SIZE\s0" .IX Subsection "GL_ACCUM_GREEN_SIZE" .Sh "\s-1GL_ACCUM_BLUE_SIZE\s0" .IX Subsection "GL_ACCUM_BLUE_SIZE" .Sh "\s-1GL_ACCUM_ALPHA_SIZE\s0" .IX Subsection "GL_ACCUM_ALPHA_SIZE" .Sh "\s-1GL_BUFFER_SIZE\s0" .IX Subsection "GL_BUFFER_SIZE" .Sh "\s-1GL_DEPTH_SIZE\s0" .IX Subsection "GL_DEPTH_SIZE" .Sh "\s-1GL_STENCIL_SIZE\s0" .IX Subsection "GL_STENCIL_SIZE" .Sh "\s-1GL_DOUBLEBUFFER\s0" .IX Subsection "GL_DOUBLEBUFFER" .Sh "GL_SetAttribute" .IX Subsection "GL_SetAttribute" .Sh "GL_GetAttribute" .IX Subsection "GL_GetAttribute" .Sh "GL_SwapBuffers" .IX Subsection "GL_SwapBuffers" .Sh "BigEndian" .IX Subsection "BigEndian" .Sh "NumJoysticks" .IX Subsection "NumJoysticks" .Sh "JoystickName" .IX Subsection "JoystickName" .Sh "JoystickOpen" .IX Subsection "JoystickOpen" .Sh "JoystickOpened" .IX Subsection "JoystickOpened" .Sh "JoystickIndex" .IX Subsection "JoystickIndex" .Sh "JoystickNumAxes" .IX Subsection "JoystickNumAxes" .Sh "JoystickNumBalls" .IX Subsection "JoystickNumBalls" .Sh "JoystickNumHats" .IX Subsection "JoystickNumHats" .Sh "JoystickNumButtons" .IX Subsection "JoystickNumButtons" .Sh "JoystickUpdate" .IX Subsection "JoystickUpdate" .Sh "JoystickGetAxis" .IX Subsection "JoystickGetAxis" .Sh "JoystickGetHat" .IX Subsection "JoystickGetHat" .Sh "JoystickGetButton" .IX Subsection "JoystickGetButton" .Sh "JoystickGetBall" .IX Subsection "JoystickGetBall" .Sh "JoystickClose" .IX Subsection "JoystickClose" .SH "AUTHOR" .IX Header "AUTHOR" David J. Goehrig .SH "CONTRIBUTORS" .IX Header "CONTRIBUTORS" David J. Goehrig, Wayne Keenan, Guillaume Cottenceau .SH "SEE ALSO" .IX Header "SEE ALSO" .Vb 2 \& perl(1) SDL::App(3) SDL::Surface(3) SDL::Event(3) SDL::Rect(3) \& SDL::Palette(3) SDL::Mixer(3) SDL::Cdrom(3) .Ve