3 <h3 id="TOP">Index</h3>
5 <ul><li><a href="#NAME">NAME</a>
6 <ul><li><a href="#CATEGORY">CATEGORY</a></li>
9 <li><a href="#SYNOPSIS">SYNOPSIS</a></li>
10 <li><a href="#DESCRIPTION">DESCRIPTION</a></li>
11 <li><a href="#The_SDL_Perl_2009_Development_Team">The SDL Perl 2009 Development Team</a>
12 <ul><li><a href="#Documentation">Documentation</a></li>
13 <li><a href="#Perl_Development">Perl Development</a></li>
14 <li><a href="#Maintainance">Maintainance </a></li>
17 <li><a href="#MacOSX_Experimental_Usage">MacOSX Experimental Usage</a>
18 <ul><li><a href="#Running_SDL_Perl_Scripts_in_MacOSX">Running SDL Perl Scripts in MacOSX</a></li>
21 <li><a href="#Functions_exported_by_SDL_pm">Functions exported by SDL.pm</a>
22 <ul><li><a href="#init_flags">init(flags) </a></li>
23 <li><a href="#init_subsystem_flags">init_subsystem(flags)</a></li>
24 <li><a href="#quit_subsystem_flags">quit_subsystem(flags)</a></li>
25 <li><a href="#quit">quit</a></li>
26 <li><a href="#was_init_flags">was_init(flags)</a></li>
27 <li><a href="#get_error">get_error()</a></li>
28 <li><a href="#set_error_error_need_to_be_coded">set_error(error) *need to be coded</a></li>
29 <li><a href="#error_code_need_to_be_coded">error(code) * need to be coded</a></li>
30 <li><a href="#clear_error_need_to_be_coded">clear_error() * need to be coded</a></li>
31 <li><a href="#load_object">load_object()</a></li>
32 <li><a href="#load_function">load_function()</a></li>
33 <li><a href="#unload_object">unload_object()</a></li>
34 <li><a href="#VERSION">VERSION()</a></li>
35 <li><a href="#version">version()</a></li>
36 <li><a href="#linked_version">linked_version</a></li>
37 <li><a href="#get_error-2">get_error()</a></li>
38 <li><a href="#delay_ms">delay(ms)</a></li>
41 <li><a href="#STUFF_TO_BE_DONE_for_the_documentati">STUFF TO BE DONE for the documentation</a>
46 <h1 id="NAME">NAME</h1><p><a href="#TOP" class="toplink">Top</a></p>
47 <div id="NAME_CONTENT">
48 <p>SDL_perl - Simple DirectMedia Layer for Perl</p>
51 <h2 id="CATEGORY">CATEGORY</h2>
52 <div id="CATEGORY_CONTENT">
56 <h1 id="SYNOPSIS">SYNOPSIS</h1><p><a href="#TOP" class="toplink">Top</a></p>
57 <div id="SYNOPSIS_CONTENT">
63 <h1 id="DESCRIPTION">DESCRIPTION</h1><p><a href="#TOP" class="toplink">Top</a></p>
64 <div id="DESCRIPTION_CONTENT">
65 <p>SDL_perl is a package of perl modules that provides both functional and object orient
66 interfaces to the Simple DirectMedia Layer for Perl 5. This package does take some
67 liberties with the SDL API, and attempts to adhere to the spirit of both the SDL
68 and Perl. This document describes the low-level functional SDL_perl API. For the
69 object oriented programming interface please see the documentation provided on a
73 <h1 id="The_SDL_Perl_2009_Development_Team">The SDL Perl 2009 Development Team</h1><p><a href="#TOP" class="toplink">Top</a></p>
74 <div id="The_SDL_Perl_2009_Development_Team_C">
77 <h2 id="Documentation">Documentation</h2>
78 <div id="Documentation_CONTENT">
84 <h2 id="Perl_Development">Perl Development</h2>
85 <div id="Perl_Development_CONTENT">
87 Name: Breno G. de Oliveira
104 <h2 id="Maintainance">Maintainance </h2>
105 <div id="Maintainance_CONTENT">
112 <h1 id="MacOSX_Experimental_Usage">MacOSX Experimental Usage</h1><p><a href="#TOP" class="toplink">Top</a></p>
113 <div id="MacOSX_Experimental_Usage_CONTENT">
114 <p>Please get libsdl packages from Fink</p>
123 <h2 id="Running_SDL_Perl_Scripts_in_MacOSX">Running SDL Perl Scripts in MacOSX</h2>
124 <div id="Running_SDL_Perl_Scripts_in_MacOSX_C">
125 <p>First set the PERL5LIB environment variable to the dependencies of your script</p>
126 <pre> %export PERL5LIB=$PERL5LIB:./lib
129 <p>Use the SDLPerl executable made in the bundle and call your scripts</p>
130 <pre> %SDLPerl.app/Contents/MacOS/SDLPerl yourScript.pl
135 <h1 id="Functions_exported_by_SDL_pm">Functions exported by SDL.pm</h1><p><a href="#TOP" class="toplink">Top</a></p>
136 <div id="Functions_exported_by_SDL_pm_CONTENT">
139 <h2 id="init_flags">init(flags) </h2>
140 <div id="init_flags_CONTENT">
141 <p>As with the C language API, SDL_perl initializes the SDL environment through
142 the <code>SDL::init</code> subroutine. This routine takes a mode flag constructed through
143 the bitwise OR product of the following constants:</p>
154 INIT_NOPARACHUTE</dt>
160 <p><code>SDL::Init</code> returns 0 on success, or -1 on error.</p>
163 <h2 id="init_subsystem_flags">init_subsystem(flags)</h2>
164 <div id="init_subsystem_flags_CONTENT">
165 <p>After SDL has been initialized with SDL::init you may initialize uninitialized subsystems with SDL::init_subsystem.
166 The flags parameter is the same as that used in SDL::init. </p>
167 <p>SDL::init_subsystem returns 0 on success, or -1 on error.</p>
170 <h2 id="quit_subsystem_flags">quit_subsystem(flags)</h2>
171 <div id="quit_subsystem_flags_CONTENT">
172 <p>SDL::quit_subsystem allows you to shut down a subsystem that has been previously initialized by SDL::init or SDL::init_subsystem.
173 The flags tells SDL::quit_subSystem which subsystems to shut down, it uses the same values that are passed to SDL::init. </p>
174 <p>SDL::quit_subsystem doesn't returns any value.</p>
177 <h2 id="quit">quit</h2>
178 <div id="quit_CONTENT">
179 <p>Shuts down all SDL subsystems, unloads the dynamically linked library and frees the allocated resources. This should always be called before you exit.</p>
180 <p>SDL::quit doesn't returns any value.</p>
183 <h2 id="was_init_flags">was_init(flags)</h2>
184 <div id="was_init_flags_CONTENT">
185 <p>SDL::was_init allows you to see which SDL subsytems have been initialized.
186 flags is a bitwise OR'd combination of the subsystems you wish to check (see SDL::init for a list of subsystem flags).
187 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).</p>
194 <h2 id="get_error">get_error()</h2>
195 <div id="get_error_CONTENT">
196 <p>The last error message set by the SDL library can be retrieved using the subroutine
197 <code>SDL::get_error</code>, which returns a scalar containing the text of the message if any.</p>
200 <h2 id="set_error_error_need_to_be_coded">set_error(error) *need to be coded</h2>
201 <div id="set_error_error_need_to_be_coded_CON">
202 <p>SDL::get_error sets the SDL error to a printf style formatted string.
203 it doesn't returns any values.</p>
206 <h2 id="error_code_need_to_be_coded">error(code) * need to be coded</h2>
207 <div id="error_code_need_to_be_coded_CONTENT">
208 <p>Sets the SDL error message to one of several predefined strings specified by code. </p>
211 <dt>SDL_errorcode</dt>
213 <p>The corresponding error string</p>
221 <p>Error reading from datastream</p>
225 <p>Error writing to datastream</p>
229 <p>Error seeking in datastream</p>
231 <dt>SDL_UNSUPPORTED</dt>
233 <p>Unknown SDL error</p>
235 <dt>SDL_LASTERROR</dt>
237 <p>Unknown SDL error</p>
239 <dt>any other value</dt>
241 <p>Unknown SDL error</p>
248 <p>Note 1: SDL_LASTERROR marks the highest numbered predefined error.
249 Note 2: SDL also defines SDL_OutOfMemory() and SDL_Unsupported() for internal use
250 which are equivalent to SDL_Error(SDL_ENOMEM) and SDL_Error(SDL_UNSUPPORTED) respectively. </p>
251 <p>SDL::Error doesn't returns any value.</p>
258 <h2 id="clear_error_need_to_be_coded">clear_error() * need to be coded</h2>
259 <div id="clear_error_need_to_be_coded_CONTENT">
260 <p>SDL::clear_error deletes all information about the last internal SDL error. Useful if the error has been handled by the program.
261 it doesn't returns any value.</p>
264 <h2 id="load_object">load_object()</h2>
265 <div id="load_object_CONTENT">
266 <p>Need to be coded.</p>
269 <h2 id="load_function">load_function()</h2>
270 <div id="load_function_CONTENT">
271 <p>Need to be coded.</p>
274 <h2 id="unload_object">unload_object()</h2>
275 <div id="unload_object_CONTENT">
276 <p>Need to be coded.</p>
279 <h2 id="VERSION">VERSION()</h2>
280 <div id="VERSION_CONTENT">
281 <p>Need to be coded. </p>
284 <h2 id="version">version()</h2>
285 <div id="version_CONTENT">
286 <p>Need to be coded.</p>
289 <h2 id="linked_version">linked_version</h2>
290 <div id="linked_version_CONTENT">
291 <p>Need to be coded.</p>
294 <h2 id="get_error-2">get_error()</h2>
295 <div id="get_error_CONTENT-2">
296 <p>The last error message set by the SDL library can be retrieved using the subroutine
297 <code>SDL::get_error</code>, which returns a scalar containing the text of the message if any.</p>
300 <h2 id="delay_ms">delay(ms)</h2>
301 <div id="delay_ms_CONTENT">
302 <p>This subroutine allows an application to delay further operations for atleast a
303 number of milliseconds provided as the argument. The actual delay may be longer
304 than the specified depending on the underlying OS.</p>
311 <h1 id="STUFF_TO_BE_DONE_for_the_documentati">STUFF TO BE DONE for the documentation</h1><p><a href="#TOP" class="toplink">Top</a></p>
312 <div id="STUFF_TO_BE_DONE_for_the_documentati-2">
317 SDL::Video add examples, need general improvement.
318 Event.pod need to be checked against Events.pod
319 SDL::Events need to be completed
320 SDL::Cdrom need some examples.
321 SDL::MultiThread to be created( once implemented ).
322 SDL::Time to be completed.
323 SDL::RW to be created.
324 SDL::Mouse need to be created.
325 SDL::Joystick need to be created.
326 SDL::Audio need to be created.