Added todo to index
[sdlgit/SDL-Site.git] / pages / SDL.html-inc
CommitLineData
162a0989 1<div class="pod">
2<!-- INDEX START -->
3<h3 id="TOP">Index</h3>
4
bfdd9c2e 5<ul><li><a href="#NAME">NAME</a>
6<ul><li><a href="#CATEGORY">CATEGORY</a></li>
7</ul>
8</li>
162a0989 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>
15</ul>
16</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>
19</ul>
20</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>
096d8dc8 28<li><a href="#set_error_real_error_values">set_error_real(error, @values) </a></li>
162a0989 29<li><a href="#error_code_need_to_be_coded">error(code) * need to be coded</a></li>
096d8dc8 30<li><a href="#clear_error">clear_error() </a></li>
162a0989 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>
ecabf8b7 38<li><a href="#delay_ms">delay(ms)</a></li>
162a0989 39</ul>
40</li>
096d8dc8 41<li><a href="#AUTHORS">AUTHORS</a>
ecabf8b7 42</li>
162a0989 43</ul><hr />
44<!-- INDEX END -->
45
46<h1 id="NAME">NAME</h1><p><a href="#TOP" class="toplink">Top</a></p>
47<div id="NAME_CONTENT">
879e3e79 48<p>SDL - Simple DirectMedia Layer for Perl</p>
162a0989 49
50</div>
bfdd9c2e 51<h2 id="CATEGORY">CATEGORY</h2>
52<div id="CATEGORY_CONTENT">
53<p>Core</p>
54
55</div>
162a0989 56<h1 id="SYNOPSIS">SYNOPSIS</h1><p><a href="#TOP" class="toplink">Top</a></p>
57<div id="SYNOPSIS_CONTENT">
58<pre> use SDL;
59
60</pre>
61
62</div>
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
66interfaces to the Simple DirectMedia Layer for Perl 5. This package does take some
67liberties with the SDL API, and attempts to adhere to the spirit of both the SDL
68and Perl. This document describes the low-level functional SDL_perl API. For the
69object oriented programming interface please see the documentation provided on a
70per class basis.</p>
71
72</div>
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">
75
76</div>
77<h2 id="Documentation">Documentation</h2>
78<div id="Documentation_CONTENT">
79<pre> Nick: magnet
80
81</pre>
82
83</div>
84<h2 id="Perl_Development">Perl Development</h2>
85<div id="Perl_Development_CONTENT">
86<pre> Nick: Garu
87 Name: Breno G. de Oliveira
88
89 Nick: Dngor
90 Name: Rocco Caputo
91
92 Nick: nferraz
93 Name: Nelson Ferraz
94
95 Nick: acme
96 Name: Leon Brocard
97
98 Nick: FROGGS
99 Name: Tobias Leich
100
101</pre>
102
103</div>
104<h2 id="Maintainance">Maintainance </h2>
105<div id="Maintainance_CONTENT">
106<pre> Nick: kthakore
107 Name: Kartik Thakore
108
109</pre>
110
111</div>
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>
115<pre> perl Build.PL
116 perl Build test
117 perl Build bundle
118 perl Build install
119
120</pre>
121
122</div>
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
127
128</pre>
129<p>Use the SDLPerl executable made in the bundle and call your scripts</p>
130<pre> %SDLPerl.app/Contents/MacOS/SDLPerl yourScript.pl
131
132</pre>
133
134</div>
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">
137
138</div>
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
142the <code>SDL::init</code> subroutine. This routine takes a mode flag constructed through
143the bitwise OR product of the following constants:</p>
144<dl>
145 <dt>*
146INIT_AUDIO</dt>
147 <dt>*
148INIT_VIDEO</dt>
149 <dt>*
150INIT_CDROM</dt>
151 <dt>*
152INIT_EVERYTHING</dt>
153 <dt>*
154INIT_NOPARACHUTE</dt>
155 <dt>*
156INIT_JOYSTICK</dt>
157 <dt>*
158INIT_TIMER</dt>
159</dl>
160<p><code>SDL::Init</code> returns 0 on success, or -1 on error.</p>
161
162</div>
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.
166The 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>
168
169</div>
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.
173The 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>
175
176</div>
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>
181
182</div>
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.
186flags is a bitwise OR'd combination of the subsystems you wish to check (see SDL::init for a list of subsystem flags).
187If '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>
188
189
190
191
192
193</div>
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>
198
199</div>
096d8dc8 200<h2 id="set_error_real_error_values">set_error_real(error, @values) </h2>
201<div id="set_error_real_error_values_CONTENT">
162a0989 202<p>SDL::get_error sets the SDL error to a printf style formatted string.
203it doesn't returns any values.</p>
204
205</div>
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>
209<p>code can be :</p>
449a007b 210<dl>
211 <dt>SDL_errorcode</dt>
212 <dd>
213 <p>The corresponding error string</p>
214 </dd>
215 <dt>SDL_ENOMEM</dt>
216 <dd>
217 <p>Out of memory</p>
218 </dd>
219 <dt>SDL_EFREAD</dt>
220 <dd>
221 <p>Error reading from datastream</p>
222 </dd>
223 <dt>SDL_EFWRITE</dt>
224 <dd>
225 <p>Error writing to datastream</p>
226 </dd>
227 <dt>SDL_EFSEEK</dt>
228 <dd>
229 <p>Error seeking in datastream</p>
230 </dd>
231 <dt>SDL_UNSUPPORTED</dt>
232 <dd>
233 <p>Unknown SDL error</p>
234 </dd>
235 <dt>SDL_LASTERROR</dt>
236 <dd>
237 <p>Unknown SDL error</p>
238 </dd>
239 <dt>any other value</dt>
240 <dd>
241 <p>Unknown SDL error</p>
242 </dd>
243</dl>
162a0989 244
245
246
162a0989 247
449a007b 248<p>Note 1: SDL_LASTERROR marks the highest numbered predefined error.
249Note 2: SDL also defines SDL_OutOfMemory() and SDL_Unsupported() for internal use
250which are equivalent to SDL_Error(SDL_ENOMEM) and SDL_Error(SDL_UNSUPPORTED) respectively. </p>
162a0989 251<p>SDL::Error doesn't returns any value.</p>
252
253
254
255
256
257</div>
096d8dc8 258<h2 id="clear_error">clear_error() </h2>
259<div id="clear_error_CONTENT">
162a0989 260<p>SDL::clear_error deletes all information about the last internal SDL error. Useful if the error has been handled by the program.
261it doesn't returns any value.</p>
262
263</div>
264<h2 id="load_object">load_object()</h2>
265<div id="load_object_CONTENT">
266<p>Need to be coded.</p>
267
268</div>
269<h2 id="load_function">load_function()</h2>
270<div id="load_function_CONTENT">
271<p>Need to be coded.</p>
272
273</div>
274<h2 id="unload_object">unload_object()</h2>
275<div id="unload_object_CONTENT">
276<p>Need to be coded.</p>
277
278</div>
279<h2 id="VERSION">VERSION()</h2>
280<div id="VERSION_CONTENT">
281<p>Need to be coded. </p>
282
283</div>
284<h2 id="version">version()</h2>
285<div id="version_CONTENT">
286<p>Need to be coded.</p>
287
288</div>
289<h2 id="linked_version">linked_version</h2>
290<div id="linked_version_CONTENT">
291<p>Need to be coded.</p>
292
293</div>
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>
298
299</div>
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
303number of milliseconds provided as the argument. The actual delay may be longer
304than the specified depending on the underlying OS.</p>
305
306
307
308
309
ecabf8b7 310</div>
096d8dc8 311<h1 id="AUTHORS">AUTHORS</h1><p><a href="#TOP" class="toplink">Top</a></p>
312<div id="AUTHORS_CONTENT">
313<p>magnet, kthakore</p>
314
315
316
162a0989 317
162a0989 318
319</div>
320</div>