</div>
<h1 id="DESCRIPTION">DESCRIPTION</h1><p><a href="#TOP" class="toplink">Top</a></p>
<div id="DESCRIPTION_CONTENT">
-<p><cite>SDL::App</cite> controls the root window of the of your SDL based application.
-It extends the <cite>SDL::Surface</cite> class, and provides an interface to the window
+<p><a href="/SDL-App.html">SDL::App</a> controls the root window of the of your SDL based application.
+It extends the <a href="/SDL-Surface.html">SDL::Surface</a> class, and provides an interface to the window
manager oriented functions.</p>
</div>
</div>
<h1 id="SEE_ALSO">SEE ALSO</h1><p><a href="#TOP" class="toplink">Top</a></p>
<div id="SEE_ALSO_CONTENT">
-<p><cite>perl</cite> <cite>SDL::Surface</cite> <cite>SDL::Event</cite> <cite>SDL::OpenGL</cite></p>
+<p><a href="http://search.cpan.org/perldoc?perl">perl</a> <a href="/SDL-Surface.html">SDL::Surface</a> <a href="/SDL-Event.html">SDL::Event</a> <a href="/SDL-OpenGL.html">SDL::OpenGL</a></p>
</div>
</div>
\ No newline at end of file
</pre>
</dd>
- <dt>The desired audio format. See <cite>SDL::AudioSpec</cite></dt>
+ <dt>The desired audio format. See <a href="/SDL-AudioSpec.html">SDL::AudioSpec</a></dt>
<dd>
<pre> $desired->format
</dd>
</dl>
<p>SDL::Audio::open reads these fields from the desired SDL::AudioSpec structure passed to the function and attempts to find an audio configuration matching your desired. As mentioned above, if the obtained parameter is NULL then SDL with convert from your desired audio settings to the hardware settings as it plays.</p>
-<p>If obtained is NULL then the desired SDL::AudioSpec is your working specification, otherwise the obtained SDL::AudioSpec becomes the working specification and the desired specification can be deleted. The data in the working specification is used when building <cite>SDL::AudioCVT</cite>'s for converting loaded data to the hardware format.</p>
+<p>If obtained is NULL then the desired SDL::AudioSpec is your working specification, otherwise the obtained SDL::AudioSpec becomes the working specification and the desired specification can be deleted. The data in the working specification is used when building <a href="/SDL-AudioCVT.html">SDL::AudioCVT</a>'s for converting loaded data to the hardware format.</p>
<p>SDL::Audio::open calculates the size and silence fields for both the $desired and $obtained specifications. The size field stores the total size of the audio buffer in bytes, while the silence stores the value used to represent silence in the audio buffer</p>
<p>The audio device starts out playing silence when it's opened, and should be enabled for playing by calling SDL::Audio::pause(0) when you are ready for your audio callback function to be called. Since the audio driver may modify the requested size of the audio buffer, you should allocate any local mixing buffers after you open the audio device. </p>
<pre> my $track = $CD->track($number);
</pre>
-<p>Retrives track description of track $number in CD. See <cite>SDL::CDTrack</cite>.</p>
+<p>Retrives track description of track $number in CD. See <a href="/SDL-CDTrack.html">SDL::CDTrack</a>.</p>
</div>
<h1 id="SEE_ALSO">SEE ALSO</h1><p><a href="#TOP" class="toplink">Top</a></p>
<div id="SEE_ALSO_CONTENT">
-<p><cite>SDL::CDROM</cite>, <cite>SDL::CDTrack</cite></p>
+<p><a href="/SDL-CDROM.html">SDL::CDROM</a>, <a href="/SDL-CDTrack.html">SDL::CDTrack</a></p>
</div>
</div>
\ No newline at end of file
</div>
<h1 id="SEE_ALSO">SEE ALSO</h1><p><a href="#TOP" class="toplink">Top</a></p>
<div id="SEE_ALSO_CONTENT">
-<p><cite>SDL::CDROM</cite>, <cite>SDL::CD</cite></p>
+<p><a href="/SDL-CDROM.html">SDL::CDROM</a>, <a href="/SDL-CD.html">SDL::CD</a></p>
</div>
</div>
\ No newline at end of file
</div>
<h1 id="See_Also">See Also</h1><p><a href="#TOP" class="toplink">Top</a></p>
<div id="See_Also_CONTENT">
-<p><cite>SDL::CD</cite>, <cite>SDL::CDTrack</cite></p>
+<p><a href="/SDL-CD.html">SDL::CD</a>, <a href="/SDL-CDTrack.html">SDL::CDTrack</a></p>
</div>
</div>
\ No newline at end of file
</div>
<h1 id="SEE_ALSO">SEE ALSO</h1><p><a href="#TOP" class="toplink">Top</a></p>
<div id="SEE_ALSO_CONTENT">
-<p><cite>SDL::Surface</cite></p>
+<p><a href="/SDL-Surface.html">SDL::Surface</a></p>
</div>
</div>
\ No newline at end of file
</div>
<h1 id="SEE_ALSO">SEE ALSO</h1><p><a href="#TOP" class="toplink">Top</a></p>
<div id="SEE_ALSO_CONTENT">
-<p><cite>perl</cite> <cite>SDL::Mouse</cite></p>
+<p><a href="http://search.cpan.org/perldoc?perl">perl</a> <a href="/SDL-Mouse.html">SDL::Mouse</a></p>
</div>
</div>
\ No newline at end of file
</div>
<h1 id="SEE_ALSO">SEE ALSO</h1><p><a href="#TOP" class="toplink">Top</a></p>
<div id="SEE_ALSO_CONTENT">
-<p><cite>perl</cite>
+<p><a href="http://search.cpan.org/perldoc?perl">perl</a>
</p>
</div>
</pre>
<p>pump_events gathers all the pending input information from devices and places it on the event queue. Without calls to pump_events no events would ever be placed on the queue.
-Often the need for calls to pump_events is hidden from the user since <cite>poll_event</cite> and <cite>wait_event</cite> implicitly call pump_events.
+Often the need for calls to pump_events is hidden from the user since <a href="http://search.cpan.org/perldoc?poll_event">poll_event</a> and <a href="http://search.cpan.org/perldoc?wait_event">wait_event</a> implicitly call pump_events.
However, if you are not polling or waiting for events (e.g. you are filtering them), then you must call pump_events to force an event queue update.</p>
<h2 id="poll_event_event">poll_event($event)</h2>
<div id="poll_event_event_CONTENT">
<p>Polls for currently pending events. </p>
-<p>If $event is not NULL, the next event is removed from the queue and stored in the <cite>SDL::Event</cite> structure pointed to by $event.</p>
-<p>As this function implicitly calls pump_events, you can only call this function in the thread that set the video mode with <cite>SDL::Video::set_video_mode</cite>. </p>
+<p>If $event is not NULL, the next event is removed from the queue and stored in the <a href="/SDL-Event.html">SDL::Event</a> structure pointed to by $event.</p>
+<p>As this function implicitly calls pump_events, you can only call this function in the thread that set the video mode with <a href="/SDL-Video::set_video_mode.html">SDL::Video::set_video_mode</a>. </p>
</div>
<h3 id="RETURN-2">RETURN</h3>
<div id="wait_event_event_CONTENT">
<p>Waits indefinitely for the next available $event, returning 0 if there was an error while waiting for events, 1 otherwise.</p>
<p>If $event is not NULL, the next event is removed from the queue and stored in $event.</p>
-<p>As this function implicitly calls SDL_PumpEvents, you can only call this function in the thread that <cite>SDL::Video::set_video_mode</cite>. </p>
+<p>As this function implicitly calls SDL_PumpEvents, you can only call this function in the thread that <a href="/SDL-Video::set_video_mode.html">SDL::Video::set_video_mode</a>. </p>
</div>
<h3 id="RETURN-4">RETURN</h3>
</div>
<h1 id="SEE_ALSO">SEE ALSO</h1><p><a href="#TOP" class="toplink">Top</a></p>
<div id="SEE_ALSO_CONTENT">
-<p><cite>SDL::Event</cite>, <cite>SDL::Video</cite>
+<p><a href="/SDL-Event.html">SDL::Event</a>, <a href="/SDL-Video.html">SDL::Video</a>
</p>
</div>
</div>
<h1 id="DESCRIPTION">DESCRIPTION</h1><p><a href="#TOP" class="toplink">Top</a></p>
<div id="DESCRIPTION_CONTENT">
-<p><cite>SDL::Font</cite> provides an interface to loading and using SFont style
-fonts with <cite>SDL::Surface</cite> objects. </p>
+<p><a href="/SDL-Font.html">SDL::Font</a> provides an interface to loading and using SFont style
+fonts with <a href="/SDL-Surface.html">SDL::Surface</a> objects. </p>
</div>
<h1 id="METHOD">METHOD</h1><p><a href="#TOP" class="toplink">Top</a></p>
</div>
<h1 id="SEE_ALSO">SEE ALSO</h1><p><a href="#TOP" class="toplink">Top</a></p>
<div id="SEE_ALSO_CONTENT">
-<p><cite>perl</cite> <cite>SDL::Surface</cite></p>
+<p><a href="http://search.cpan.org/perldoc?perl">perl</a> <a href="/SDL-Surface.html">SDL::Surface</a></p>
</div>
</div>
\ No newline at end of file
</div>
<h1 id="DESCRIPTION">DESCRIPTION</h1><p><a href="#TOP" class="toplink">Top</a></p>
<div id="DESCRIPTION_CONTENT">
-<p><cite>SDL::Palette</cite> provides an interface to the SDL_Palette structures,
+<p><a href="/SDL-Palette.html">SDL::Palette</a> provides an interface to the SDL_Palette structures,
and can be used to set the color values of an existing palette's indexes.</p>
</div>
</div>
<h1 id="SEE_ALSO">SEE ALSO</h1><p><a href="#TOP" class="toplink">Top</a></p>
<div id="SEE_ALSO_CONTENT">
-<p><cite>perl</cite> <cite>SDL::Color</cite> <cite>SDL::Surface</cite></p>
+<p><a href="http://search.cpan.org/perldoc?perl">perl</a> <a href="/SDL-Color.html">SDL::Color</a> <a href="/SDL-Surface.html">SDL::Surface</a></p>
</div>
</div>
\ No newline at end of file
<pre> int SDL::Joystick::num_buttons( object );
</pre>
-<p>Gets the number of joystick buttons from a previously opened joystick. See <cite>SDL::Joystick::open</cite></p>
+<p>Gets the number of joystick buttons from a previously opened joystick. See <a href="/SDL-Joystick::open.html">SDL::Joystick::open</a></p>
</div>
<h2 id="update">update</h2>
</div>
<h1 id="SEE_ALSO">SEE ALSO</h1><p><a href="#TOP" class="toplink">Top</a></p>
<div id="SEE_ALSO_CONTENT">
-<p><cite>perl</cite>, <cite>SDL::Music</cite> and <cite>SDL::Sound</cite>.</p>
+<p><a href="http://search.cpan.org/perldoc?perl">perl</a>, <a href="/SDL-Music.html">SDL::Music</a> and <a href="/SDL-Sound.html">SDL::Sound</a>.</p>
</div>
</div>
\ No newline at end of file
</div>
<h1 id="DESCRIPTION">DESCRIPTION</h1><p><a href="#TOP" class="toplink">Top</a></p>
<div id="DESCRIPTION_CONTENT">
-<p><cite>SDL::Music</cite> is used to load music files for use with <cite>SDL::Mixer</cite>.
+<p><a href="/SDL-Music.html">SDL::Music</a> is used to load music files for use with <a href="/SDL-Mixer.html">SDL::Mixer</a>.
To load a music file one simply creates a new object passing the filename
to the constructor:</p>
<pre> my $music = new SDL::Music 'my_song.ogg';
</div>
<h1 id="SEE_ALSO">SEE ALSO</h1><p><a href="#TOP" class="toplink">Top</a></p>
<div id="SEE_ALSO_CONTENT">
-<p><cite>perl</cite> <cite>SDL::Mixer</cite></p>
+<p><a href="http://search.cpan.org/perldoc?perl">perl</a> <a href="/SDL-Mixer.html">SDL::Mixer</a></p>
</div>
</div>
\ No newline at end of file
</div>
<h1 id="DESCRIPTION">DESCRIPTION</h1><p><a href="#TOP" class="toplink">Top</a></p>
<div id="DESCRIPTION_CONTENT">
-<p><cite>SDL::OpenGL</cite> is a perl module which when used by your application
+<p><a href="/SDL-OpenGL.html">SDL::OpenGL</a> is a perl module which when used by your application
exports the gl* and glu* functions into your application's primary namespace.
Most of the functions described in the OpenGL 1.3 specification are currently
supported in this fashion. As the implementation of the OpenGL bindings that
numbers, the Perl equivalent only takes a list of numbers.</p>
<p>Note that this is slow, since it needs to allocate memory and construct a
list of numbers from the given scalars. For a faster version see
-<cite>glCallListsString</cite>.</p>
+<a href="http://search.cpan.org/perldoc?glCallListsString">glCallListsString</a>.</p>
</dd>
</dl>
<p>The following methods exist in addition to the normal OpenGL specification:</p>
<pre> glCallListsString($string);
</pre>
- <p>Works like <cite>glCallLists</cite>(), except that it needs only one parameter, a scalar
+ <p>Works like <a href="http://search.cpan.org/perldoc?glCallLists()">glCallLists()</a>, except that it needs only one parameter, a scalar
holding a string. The string is interpreted as a set of bytes, and each of
these will be passed to glCallLists as GL_BYTE. This is faster than
glCallLists, so you might want to pack your data like this:</p>
</div>
<h1 id="SEE_ALSO">SEE ALSO</h1><p><a href="#TOP" class="toplink">Top</a></p>
<div id="SEE_ALSO_CONTENT">
-<p><cite>perl</cite> <cite>SDL::App</cite></p>
+<p><a href="http://search.cpan.org/perldoc?perl">perl</a> <a href="/SDL-App.html">SDL::App</a></p>
</div>
</div>
\ No newline at end of file
</div>
<h1 id="SEE_ALSO">SEE ALSO</h1><p><a href="#TOP" class="toplink">Top</a></p>
<div id="SEE_ALSO_CONTENT">
-<p><cite>SDL::Color</cite> <cite>SDL::Surface</cite></p>
+<p><a href="/SDL-Color.html">SDL::Color</a> <a href="/SDL-Surface.html">SDL::Surface</a></p>
</div>
</div>
\ No newline at end of file
<pre> $surface->format->palette;
</pre>
-<p>Returns the <code>SDL_Palette</code> and <cite>SDL::Palette</cite> of the format of the surface.</p>
+<p>Returns the <code>SDL_Palette</code> and <a href="/SDL-Palette.html">SDL::Palette</a> of the format of the surface.</p>
</div>
<h2 id="BitsPerPixel">BitsPerPixel </h2>
</div>
<h1 id="SEE_ALSO">SEE ALSO</h1><p><a href="#TOP" class="toplink">Top</a></p>
<div id="SEE_ALSO_CONTENT">
-<p><cite>SDL::Surface</cite></p>
+<p><a href="/SDL-Surface.html">SDL::Surface</a></p>
</div>
</div>
\ No newline at end of file
</div>
<h1 id="SEE_ALSO">SEE ALSO</h1><p><a href="#TOP" class="toplink">Top</a></p>
<div id="SEE_ALSO_CONTENT">
-<p><cite>SDL::Surface</cite></p>
+<p><a href="/SDL-Surface.html">SDL::Surface</a></p>
</div>
</div>
\ No newline at end of file
</div>
<h1 id="SEE_ALSO">SEE ALSO</h1><p><a href="#TOP" class="toplink">Top</a></p>
<div id="SEE_ALSO_CONTENT">
-<p><cite>perl</cite> <cite>SDL::App</cite></p>
+<p><a href="http://search.cpan.org/perldoc?perl">perl</a> <a href="/SDL-App.html">SDL::App</a></p>
</div>
</div>
\ No newline at end of file
</div>
<h1 id="DESCRIPTION">DESCRIPTION</h1><p><a href="#TOP" class="toplink">Top</a></p>
<div id="DESCRIPTION_CONTENT">
-<p><cite>SDL::Sound</cite> is a module for loading WAV files for sound effects.
-The file can be loaded by creating a new <cite>SDL::Sound</cite> object by
+<p><a href="/SDL-Sound.html">SDL::Sound</a> is a module for loading WAV files for sound effects.
+The file can be loaded by creating a new <a href="/SDL-Sound.html">SDL::Sound</a> object by
passing the filename to the constructor;</p>
<pre> my $sound = new SDL::Sound 'my_sfx.wav';
</div>
<h1 id="SEE_ALSO">SEE ALSO</h1><p><a href="#TOP" class="toplink">Top</a></p>
<div id="SEE_ALSO_CONTENT">
-<p><cite>perl</cite> <cite>SDL::Mixer</cite></p>
+<p><a href="http://search.cpan.org/perldoc?perl">perl</a> <a href="/SDL-Mixer.html">SDL::Mixer</a></p>
</div>
</div>
\ No newline at end of file
</div>
<h1 id="SYNOPSIS">SYNOPSIS</h1><p><a href="#TOP" class="toplink">Top</a></p>
<div id="SYNOPSIS_CONTENT">
-<p>The main surface (display) is provided by <cite>SDL::Video::set_video_mode</cite>.
+<p>The main surface (display) is provided by <a href="/SDL-Video::set_video_mode.html">SDL::Video::set_video_mode</a>.
use SDL; #provides flags & constants
use SDL::Video; #provides access to set_video_mode
use SDL::Surface; #provides access to SDL_Surface struct internals</p>
</div>
<h1 id="SEE_ALSO">SEE ALSO</h1><p><a href="#TOP" class="toplink">Top</a></p>
<div id="SEE_ALSO_CONTENT">
-<p><cite>SDL</cite>, <cite>SDL::PixelFormat</cite>, <cite>SDL::Video</cite> </p>
+<p><a href="http://search.cpan.org/perldoc?SDL">SDL</a>, <a href="/SDL-PixelFormat.html">SDL::PixelFormat</a>, <a href="/SDL-Video.html">SDL::Video</a> </p>
</div>
</div>
\ No newline at end of file
</div>
<h1 id="DESCRIPTION">DESCRIPTION</h1><p><a href="#TOP" class="toplink">Top</a></p>
<div id="DESCRIPTION_CONTENT">
-<p><cite>SDL::TTFont</cite> is a module for applying true type fonts to <cite>SDL::Surface</cite>.</p>
+<p><a href="/SDL-TTFont.html">SDL::TTFont</a> is a module for applying true type fonts to <a href="/SDL-Surface.html">SDL::Surface</a>.</p>
</div>
<h1 id="METHODS">METHODS</h1><p><a href="#TOP" class="toplink">Top</a></p>
</div>
<h2 id="print_surface_top_left_text">print ($surface, $top, $left, @text)</h2>
<div id="print_surface_top_left_text_CONTENT">
-<p>Directly draws text to an existing surface. Receives the target <cite>SDL::Surface</cite>
+<p>Directly draws text to an existing surface. Receives the target <a href="/SDL-Surface.html">SDL::Surface</a>
object and the relative top (y) and left (x) coordinates to put the text in.
The last parameter may be a string or an array or strings with the text to be
written.</p>
</div>
<h1 id="SEE_ALSO">SEE ALSO</h1><p><a href="#TOP" class="toplink">Top</a></p>
<div id="SEE_ALSO_CONTENT">
-<p><cite>perl</cite>, <cite>SDL</cite>, <cite>SDL::Surface</cite>
+<p><a href="http://search.cpan.org/perldoc?perl">perl</a>, <a href="http://search.cpan.org/perldoc?SDL">SDL</a>, <a href="/SDL-Surface.html">SDL::Surface</a>
</p>
</div>
</div>
<h1 id="DESCRIPTION">DESCRIPTION</h1><p><a href="#TOP" class="toplink">Top</a></p>
<div id="DESCRIPTION_CONTENT">
-<p><cite>SDL::Tool::Font</cite> provides a unified interface for applying
+<p><a href="/SDL-Tool::Font.html">SDL::Tool::Font</a> provides a unified interface for applying
True Type and SFont fonts to various surfaces.</p>
</div>
</div>
<h1 id="SEE_ALSO">SEE ALSO</h1><p><a href="#TOP" class="toplink">Top</a></p>
<div id="SEE_ALSO_CONTENT">
-<p><cite>perl</cite> <cite>SDL::Font</cite> <cite>SDL::TTFont</cite> <cite>SDL::Surface</cite></p>
+<p><a href="http://search.cpan.org/perldoc?perl">perl</a> <a href="/SDL-Font.html">SDL::Font</a> <a href="/SDL-TTFont.html">SDL::TTFont</a> <a href="/SDL-Surface.html">SDL::Surface</a></p>
</div>
</div>
\ No newline at end of file
</div>
<h1 id="DESCRIPTION">DESCRIPTION</h1><p><a href="#TOP" class="toplink">Top</a></p>
<div id="DESCRIPTION_CONTENT">
-<p><cite>SDL::Tool::Graphic</cite> is a module for zooming and rotating <cite>SDL::Surface</cite> objects.</p>
+<p><a href="/SDL-Tool::Graphic.html">SDL::Tool::Graphic</a> is a module for zooming and rotating <a href="/SDL-Surface.html">SDL::Surface</a> objects.</p>
</div>
<h1 id="METHODS">METHODS</h1><p><a href="#TOP" class="toplink">Top</a></p>
</div>
<h2 id="zoom_surface_xzoom_yzoom_smooth">zoom ( surface, xzoom, yzoom, smooth )</h2>
<div id="zoom_surface_xzoom_yzoom_smooth_CONT">
-<p><code>SDL::Tool::Graphic::zoom</code> scales a <cite>SDL::Surface</cite> along the two axis independently.</p>
+<p><code>SDL::Tool::Graphic::zoom</code> scales a <a href="/SDL-Surface.html">SDL::Surface</a> along the two axis independently.</p>
</div>
<h2 id="rotoZoom_surface_angle_zoom_smooth">rotoZoom ( surface, angle, zoom, smooth )</h2>
<div id="rotoZoom_surface_angle_zoom_smooth_C">
-<p><code>SDL::Tool::Graphic::rotoZoom</code> rotates and fixed axis zooms a <cite>SDL::Surface</cite>.</p>
+<p><code>SDL::Tool::Graphic::rotoZoom</code> rotates and fixed axis zooms a <a href="/SDL-Surface.html">SDL::Surface</a>.</p>
</div>
<h2 id="grayScale_surface">grayScale ( surface )</h2>
<div id="grayScale_surface_CONTENT">
-<p><code>SDL::Tool::Graphic::grayScale</code> rotates and fixed axis zooms a <cite>SDL::Surface</cite>.</p>
+<p><code>SDL::Tool::Graphic::grayScale</code> rotates and fixed axis zooms a <a href="/SDL-Surface.html">SDL::Surface</a>.</p>
</div>
<h2 id="invertColor_surface">invertColor ( surface )</h2>
</div>
<h1 id="SEE_ALSO">SEE ALSO</h1><p><a href="#TOP" class="toplink">Top</a></p>
<div id="SEE_ALSO_CONTENT">
-<p><cite>perl</cite> <cite>SDL::Surface</cite></p>
+<p><a href="http://search.cpan.org/perldoc?perl">perl</a> <a href="/SDL-Surface.html">SDL::Surface</a></p>
</div>
</div>
\ No newline at end of file
<div id="Redrawing_the_Screen_CONTENT">
<p>Since you have to draw the screen in the right order once to start with it's
pretty easy to make this into a loop and redraw things in the right order for
-every frame. Given a <cite>SDL::App</cite> object <code>$app</code>, a <cite>SDL::Rect</cite> <code>$rect</code>, and
-a <cite>SDL::Color</cite> <code>$color</code>, you only have to create a new SDL::Rect <code>$bg</code>,
+every frame. Given a <a href="/SDL-App.html">SDL::App</a> object <code>$app</code>, a <a href="/SDL-Rect.html">SDL::Rect</a> <code>$rect</code>, and
+a <a href="/SDL-Color.html">SDL::Color</a> <code>$color</code>, you only have to create a new SDL::Rect <code>$bg</code>,
representing the whole of the background surface and a new SDL::Color
<code>$bg_color</code>, representing the background color. You can write a
<code>draw_frame()</code> function as follows:</p>
<h1 id="SEE_ALSO">SEE ALSO</h1><p><a href="#TOP" class="toplink">Top</a></p>
<div id="SEE_ALSO_CONTENT">
<dl>
- <dt><cite>SDL::Tutorial::Drawing</cite></dt>
+ <dt><a href="/SDL-Tutorial::Drawing.html">SDL::Tutorial::Drawing</a></dt>
<dd>
<p>basic drawing with SDL Perl</p>
</dd>
- <dt><cite>SDL::Tutorial::Images</cite></dt>
+ <dt><a href="/SDL-Tutorial::Images.html">SDL::Tutorial::Images</a></dt>
<dd>
<p>animating images</p>
</dd>
</div>
<h2 id="Loading_Images">Loading Images</h2>
<div id="Loading_Images_CONTENT">
-<p>As usual, start with an <cite>SDL::App</cite> object representing the image window. Then
+<p>As usual, start with an <a href="/SDL-App.html">SDL::App</a> object representing the image window. Then
preload the image file. This is easy; just pass the <code>name</code> parameter to the
-<cite>SDL::Surface</cite> constructor:</p>
+<a href="/SDL-Surface.html">SDL::Surface</a> constructor:</p>
<p> </p>
<pre> use SDL::Surface;
</pre>
<p> </p>
-<p>Here we have two <cite>SDL::Rect</cite> objects which represent rectangular regions of a
+<p>Here we have two <a href="/SDL-Rect.html">SDL::Rect</a> objects which represent rectangular regions of a
Surface. <code>$frame_rect</code> represents the entire area of <code>$frame</code>, while
<code>$dest_rect</code> represents the area of the main window in which to blit the
frame. This may be clearer with more descriptive variable names:</p>
<h1 id="SEE_ALSO">SEE ALSO</h1><p><a href="#TOP" class="toplink">Top</a></p>
<div id="SEE_ALSO_CONTENT">
<dl>
- <dt><cite>SDL::Tutorial</cite></dt>
+ <dt><a href="/SDL-Tutorial.html">SDL::Tutorial</a></dt>
<dd>
<p>basic SDL tutorial</p>
</dd>
- <dt><cite>SDL::Tutorial::Animation</cite></dt>
+ <dt><a href="/SDL-Tutorial::Animation.html">SDL::Tutorial::Animation</a></dt>
<dd>
<p>non-image animation</p>
</dd>
</pre>
<p> </p>
-<p>That creates a new <cite>SDL::Game::Rect</cite> object, a rectangle, with the given width/height dimensions and in the given top/left position of the screen.</p>
+<p>That creates a new <a href="/SDL-Game::Rect.html">SDL::Game::Rect</a> object, a rectangle, with the given width/height dimensions and in the given top/left position of the screen.</p>
<p>Wait. Did I say... <i><screen</i>>?</p>
</div>
<div id="Part_2_Our_first_event_tracking_user-2">
<p># TODO</p>
<p>Now let's query some events!</p>
-<p>First, we need to use the <cite>SDL::Event</cite> module. Add this to the beginning of our code:</p>
+<p>First, we need to use the <a href="/SDL-Event.html">SDL::Event</a> module. Add this to the beginning of our code:</p>
<p> </p>
<pre> use SDL::Event;
my $event = SDL::Event->new;
<h2 id="Surfaces">Surfaces</h2>
<div id="Surfaces_CONTENT">
<p>All graphics in SDL live on a surface. You'll need at least one. That's what
-<cite>SDL::App</cite> provides.</p>
+<a href="/SDL-App.html">SDL::App</a> provides.</p>
<p>Of course, before you can get a surface, you need to initialize your video
mode. SDL gives you several options, including whether to run in a window or
take over the full screen, the size of the window, the bit depth of your
<h2 id="Working_With_The_App">Working With The App</h2>
<div id="Working_With_The_App_CONTENT">
<p>Since <code>$app</code> from the code above is just an SDL surface with some extra sugar,
-it behaves much like <cite>SDL::Surface</cite>. In particular, the all-important <code>blit</code>
-and <code>update</code> methods work. You'll need to create <cite>SDL::Rect</cite> objects
+it behaves much like <a href="/SDL-Surface.html">SDL::Surface</a>. In particular, the all-important <code>blit</code>
+and <code>update</code> methods work. You'll need to create <a href="/SDL-Rect.html">SDL::Rect</a> objects
representing sources of graphics to draw onto the <code>$app</code>'s surface, <code>blit</code>
them there, then <code>update</code> the <code>$app</code>.</p>
<p><strong>Note:</strong> "blitting" is copying a chunk of memory from one place to another.</p>
<h1 id="SEE_ALSO">SEE ALSO</h1><p><a href="#TOP" class="toplink">Top</a></p>
<div id="SEE_ALSO_CONTENT">
<dl>
- <dt><cite>SDL::Tutorial::Drawing</cite></dt>
+ <dt><a href="/SDL-Tutorial::Drawing.html">SDL::Tutorial::Drawing</a></dt>
<dd>
<p>basic drawing with rectangles</p>
</dd>
- <dt><cite>SDL::Tutorial::Animation</cite></dt>
+ <dt><a href="/SDL-Tutorial::Animation.html">SDL::Tutorial::Animation</a></dt>
<dd>
<p>basic rectangle animation</p>
</dd>
- <dt><cite>SDL::Tutorial::Images</cite></dt>
+ <dt><a href="/SDL-Tutorial::Images.html">SDL::Tutorial::Images</a></dt>
<dd>
<p>image loading and animation</p>
</dd>
</div>
<h2 id="Category_Objects">Category Objects</h2>
<div id="Category_Objects_CONTENT">
-<p><cite>SDL::Surface</cite>, <cite>SDL::Overlay</cite>, <cite>SDL::Color</cite>,
-<cite>SDL::Rect</cite>, <cite>SDL::Palette</cite>, <cite>SDL::PixelFormat</cite>,
-<cite>SDL::VideoInfo</cite></p>
+<p><a href="/SDL-Surface.html">SDL::Surface</a>, <a href="/SDL-Overlay.html">SDL::Overlay</a>, <a href="/SDL-Color.html">SDL::Color</a>,
+<a href="/SDL-Rect.html">SDL::Rect</a>, <a href="/SDL-Palette.html">SDL::Palette</a>, <a href="/SDL-PixelFormat.html">SDL::PixelFormat</a>,
+<a href="/SDL-VideoInfo.html">SDL::VideoInfo</a></p>
</div>
</div>
\ No newline at end of file
</div>
<h1 id="SEE_ALSO">SEE ALSO</h1><p><a href="#TOP" class="toplink">Top</a></p>
<div id="SEE_ALSO_CONTENT">
-<p><cite>SDL::Video</cite>, <cite>SDL::PixelFormat</cite></p>
+<p><a href="/SDL-Video.html">SDL::Video</a>, <a href="/SDL-PixelFormat.html">SDL::PixelFormat</a></p>
</div>
</div>
\ No newline at end of file
</div>
<h1 id="SEE_ALSO">SEE ALSO</h1><p><a href="#TOP" class="toplink">Top</a></p>
<div id="SEE_ALSO_CONTENT">
-<p><cite>perl</cite> <cite>SDL::Mixer</cite> <cite>SDL::App</cite>.</p>
+<p><a href="http://search.cpan.org/perldoc?perl">perl</a> <a href="/SDL-Mixer.html">SDL::Mixer</a> <a href="/SDL-App.html">SDL::App</a>.</p>
</div>
</div>
\ No newline at end of file
<div class="pod">
-<h1>Documentation (latest development branch)</h1><table style="margin-left: 0px; margin-top: 5px"><tr><td colspan="3"><strong style="font-size: 14px">Core</strong></td></tr><tr><td><img src="assets/SDL_thumb.png" alt="thumb" /></td><td><a href="SDL.html">SDL</a></td><td>- Simple DirectMedia Layer for Perl</td></tr></table><table style="margin-left: 60px; margin-top: 5px"><tr><td colspan="3"><strong style="font-size: 14px">Structure</strong></td></tr><tr><td><img src="assets/bubble-7-mini.png" alt="thumb" /></td><td><a href="SDL-AudioCVT.html">SDL::AudioCVT</a></td><td>- Audio Conversion Structure</td></tr><tr><td><img src="assets/bubble-5-mini.png" alt="thumb" /></td><td><a href="SDL-AudioSpec.html">SDL::AudioSpec</a></td><td>- SDL Bindings for structure SDL::AudioSpec</td></tr></table><table style="margin-left: 30px; margin-top: 5px"><tr><td colspan="3"><strong style="font-size: 14px">CDROM</strong></td></tr><tr><td><img src="assets/bubble-6-mini.png" alt="thumb" /></td><td><a href="SDL-CDROM.html">SDL::CDROM</a></td><td>- SDL Bindings for the CDROM device</td></tr></table><table style="margin-left: 60px; margin-top: 5px"><tr><td colspan="3"><strong style="font-size: 14px">Structure</strong></td></tr><tr><td><img src="assets/bubble-5-mini.png" alt="thumb" /></td><td><a href="SDL-CD.html">SDL::CD</a></td><td>- SDL Bindings for structure SDL_CD</td></tr><tr><td><img src="assets/bubble-6-mini.png" alt="thumb" /></td><td><a href="SDL-CDTrack.html">SDL::CDTrack</a></td><td>- SDL Bindings for structure SDL_CDTrack</td></tr></table><table style="margin-left: 30px; margin-top: 5px"><tr><td colspan="3"><strong style="font-size: 14px">Events</strong></td></tr><tr><td><img src="assets/bubble-6-mini.png" alt="thumb" /></td><td><a href="SDL-Events.html">SDL::Events</a></td><td>- Bindings to the Events Category in SDL API</td></tr></table><table style="margin-left: 60px; margin-top: 5px"><tr><td colspan="3"><strong style="font-size: 14px">Structure</strong></td></tr><tr><td><img src="assets/bubble-4-mini.png" alt="thumb" /></td><td><a href="SDL-Event.html">SDL::Event</a></td><td>- General event structure</td></tr></table><table style="margin-left: 30px; margin-top: 5px"><tr><td colspan="3"><strong style="font-size: 14px">Joystick</strong></td></tr><tr><td><img src="assets/bubble-6-mini.png" alt="thumb" /></td><td><a href="SDL-Joystick.html">SDL::Joystick</a></td><td>- SDL Bindings for the Joystick device</td></tr></table><table style="margin-left: 60px; margin-top: 5px"><tr><td colspan="3"><strong style="font-size: 14px">Structure</strong></td></tr><tr><td><img src="assets/bubble-2-mini.png" alt="thumb" /></td><td><a href="SDL-Mixer-MixChunk.html">SDL::Mixer::MixChunk</a></td><td>- SDL Bindings for structure SDL_MixChunk</td></tr></table><table style="margin-left: 30px; margin-top: 5px"><tr><td colspan="3"><strong style="font-size: 14px">Mouse</strong></td></tr><tr><td><img src="assets/bubble-6-mini.png" alt="thumb" /></td><td><a href="SDL-Mouse.html">SDL::Mouse</a></td><td>- SDL Bindings for the Mouse device</td></tr></table><table style="margin-left: 60px; margin-top: 5px"><tr><td colspan="3"><strong style="font-size: 14px">Structure</strong></td></tr><tr><td><img src="assets/bubble-6-mini.png" alt="thumb" /></td><td><a href="SDL-Cursor.html">SDL::Cursor</a></td><td>- Mouse cursor structure</td></tr></table><table style="margin-left: 30px; margin-top: 5px"><tr><td colspan="3"><strong style="font-size: 14px">MultiThread</strong></td></tr><tr><td><img src="assets/bubble-6-mini.png" alt="thumb" /></td><td><a href="SDL-MultiThread.html">SDL::MultiThread</a></td><td>- Bindings to the MultiThread category in SDL API</td></tr></table><table style="margin-left: 30px; margin-top: 5px"><tr><td colspan="3"><strong style="font-size: 14px">Structure</strong></td></tr><tr><td><img src="assets/bubble-3-mini.png" alt="thumb" /></td><td><a href="SDL-Version.html">SDL::Version</a></td><td>- SDL Bindings for structure SDL_Version</td></tr></table><table style="margin-left: 30px; margin-top: 5px"><tr><td colspan="3"><strong style="font-size: 14px">Video</strong></td></tr><tr><td><img src="assets/bubble-3-mini.png" alt="thumb" /></td><td><a href="SDL-Video.html">SDL::Video</a></td><td>- Bindings to the video category in SDL API</td></tr></table><table style="margin-left: 60px; margin-top: 5px"><tr><td colspan="3"><strong style="font-size: 14px">Structure</strong></td></tr><tr><td><img src="assets/bubble-7-mini.png" alt="thumb" /></td><td><a href="SDL-Color.html">SDL::Color</a></td><td>- Format independent color description</td></tr><tr><td><img src="assets/bubble-1-mini.png" alt="thumb" /></td><td><a href="SDL-Overlay.html">SDL::Overlay</a></td><td>- YUV Video overlay</td></tr><tr><td><img src="assets/bubble-7-mini.png" alt="thumb" /></td><td><a href="SDL-Palette.html">SDL::Palette</a></td><td>- Color palette for 8-bit pixel formats </td></tr><tr><td><img src="assets/bubble-1-mini.png" alt="thumb" /></td><td><a href="SDL-PixelFormat.html">SDL::PixelFormat</a></td><td>- Stores surface format information</td></tr><tr><td><img src="assets/bubble-7-mini.png" alt="thumb" /></td><td><a href="SDL-Rect.html">SDL::Rect</a></td><td>- Defines a rectangular area</td></tr><tr><td><img src="assets/bubble-3-mini.png" alt="thumb" /></td><td><a href="SDL-Surface.html">SDL::Surface</a></td><td></td></tr><tr><td><img src="assets/bubble-7-mini.png" alt="thumb" /></td><td><a href="SDL-VideoInfo.html">SDL::VideoInfo</a></td><td>- Video Target Information </td></tr></table><br /><table style="margin-left: 0px; margin-top: 5px"><tr><td colspan="3"><strong style="font-size: 14px">Cookbook</strong></td></tr><tr><td><img src="assets/bubble-6-mini.png" alt="thumb" /></td><td><a href="SDL-Cookbook.html">SDL::Cookbook</a></td><td></td></tr><tr><td><img src="assets/bubble-2-mini.png" alt="thumb" /></td><td><a href="SDL-Cookbook-PDL.html">SDL::Cookbook::PDL</a></td><td></td></tr></table><br /><table style="margin-left: 0px; margin-top: 5px"><tr><td colspan="3"><strong style="font-size: 14px">Extension</strong></td></tr><tr><td><img src="assets/bubble-3-mini.png" alt="thumb" /></td><td><a href="SDL-App.html">SDL::App</a></td><td>- a SDL perl extension</td></tr></table><br /><table style="margin-left: 0px; margin-top: 5px"><tr><td colspan="3"><strong style="font-size: 14px">Mixer</strong></td></tr><tr><td><img src="assets/bubble-2-mini.png" alt="thumb" /></td><td><a href="SDL-Mixer.html">SDL::Mixer</a></td><td>- a SDL perl extension</td></tr><table style="margin-left: 0px; margin-top: 5px"><tr><td colspan="3"><strong style="font-size: 14px">TODO</strong></td></tr><table style="margin-left: 30px; margin-top: 5px"><tr><td colspan="3"><strong style="font-size: 14px">Core</strong></td></tr></table><table style="margin-left: 60px; margin-top: 5px"><tr><td colspan="3"><strong style="font-size: 14px">Audio</strong></td></tr><tr><td><img src="assets/bubble-3-mini.png" alt="thumb" /></td><td><a href="SDL-Audio.html">SDL::Audio</a></td><td>- SDL Bindings for Audio</td></tr></table><table style="margin-left: 90px; margin-top: 5px"><tr><td colspan="3"><strong style="font-size: 14px">Structure</strong></td></tr><tr><td><img src="assets/bubble-5-mini.png" alt="thumb" /></td><td><a href="SDL-Mixer-MixMusic.html">SDL::Mixer::MixMusic</a></td><td>- SDL Bindings for structure SDL_MixMusic</td></tr></table><table style="margin-left: 60px; margin-top: 5px"><tr><td colspan="3"><strong style="font-size: 14px">Structure</strong></td></tr><tr><td><img src="assets/bubble-4-mini.png" alt="thumb" /></td><td><a href="SDL-RWOps.html">SDL::RWOps</a></td><td>- SDL Bindings to SDL_RWOPs</td></tr></table><br /><table style="margin-left: 0px; margin-top: 5px"><tr><td colspan="3"><strong style="font-size: 14px">Tutorials</strong></td></tr><tr><td><img src="assets/bubble-7-mini.png" alt="thumb" /></td><td><a href="SDL-Tutorial.html">SDL::Tutorial</a></td><td>- introduction to Perl SDL</td></tr><tr><td><img src="assets/bubble-6-mini.png" alt="thumb" /></td><td><a href="SDL-Tutorial-Animation.html">SDL::Tutorial::Animation</a></td><td></td></tr><tr><td><img src="assets/bubble-7-mini.png" alt="thumb" /></td><td><a href="SDL-Tutorial-Images.html">SDL::Tutorial::Images</a></td><td></td></tr><tr><td><img src="assets/bubble-1-mini.png" alt="thumb" /></td><td><a href="SDL-Tutorial-LunarLander.html">SDL::Tutorial::LunarLander</a></td><td>- a small tutorial on Perl SDL</td></tr><tr><td><img src="assets/bubble-4-mini.png" alt="thumb" /></td><td><a href="SDL-Tutorial-Pong.html">SDL::Tutorial::Pong</a></td><td></td></tr><tr><td><img src="assets/bubble-5-mini.png" alt="thumb" /></td><td><a href="SDL-Tutorial-Tetris.html">SDL::Tutorial::Tetris</a></td><td></td></tr></table><br /><table style="margin-left: 0px; margin-top: 5px"><tr><td colspan="3"><strong style="font-size: 14px">UNCATEGORIZED</strong></td></tr><tr><td><img src="assets/bubble-4-mini.png" alt="thumb" /></td><td><a href="SDL-Font.html">SDL::Font</a></td><td>- a SDL perl extension</td></tr><tr><td><img src="assets/bubble-2-mini.png" alt="thumb" /></td><td><a href="SDL-Game-Palette.html">SDL::Game::Palette</a></td><td>- a perl extension</td></tr><tr><td><img src="assets/bubble-7-mini.png" alt="thumb" /></td><td><a href="SDL-MPEG.html">SDL::MPEG</a></td><td>- a SDL perl extension</td></tr><tr><td><img src="assets/bubble-3-mini.png" alt="thumb" /></td><td><a href="SDL-Music.html">SDL::Music</a></td><td>- a perl extension</td></tr><tr><td><img src="assets/bubble-6-mini.png" alt="thumb" /></td><td><a href="SDL-OpenGL.html">SDL::OpenGL</a></td><td>- a perl extension</td></tr><tr><td><img src="assets/bubble-3-mini.png" alt="thumb" /></td><td><a href="SDL-SFont.html">SDL::SFont</a></td><td>- a perl extension</td></tr><tr><td><img src="assets/bubble-2-mini.png" alt="thumb" /></td><td><a href="SDL-SMPEG.html">SDL::SMPEG</a></td><td>- a SDL perl extension</td></tr><tr><td><img src="assets/bubble-2-mini.png" alt="thumb" /></td><td><a href="SDL-Sound.html">SDL::Sound</a></td><td>- a perl extension</td></tr><tr><td><img src="assets/bubble-1-mini.png" alt="thumb" /></td><td><a href="SDL-TTFont.html">SDL::TTFont</a></td><td>- a SDL perl extension</td></tr><tr><td><img src="assets/bubble-6-mini.png" alt="thumb" /></td><td><a href="SDL-Timer.html">SDL::Timer</a></td><td>- a SDL perl extension for managing timers.</td></tr><tr><td><img src="assets/bubble-2-mini.png" alt="thumb" /></td><td><a href="SDL-Tool-Font.html">SDL::Tool::Font</a></td><td>- a perl extension</td></tr><tr><td><img src="assets/bubble-1-mini.png" alt="thumb" /></td><td><a href="SDL-Tool-Graphic.html">SDL::Tool::Graphic</a></td><td></td></tr><tr><td><img src="assets/bubble-7-mini.png" alt="thumb" /></td><td><a href="SDL-old-cdrom.html">SDL::old-cdrom</a></td><td>- a SDL perl extension for managing CD-ROM drives</td></tr></table></div>
+<h1>Documentation (latest development branch)</h1><table style="margin-left: 0px; margin-top: 5px"><tr><td colspan="3"><strong style="font-size: 14px">Core</strong></td></tr><tr><td><img src="assets/SDL_thumb.png" alt="thumb" /></td><td><a href="SDL.html">SDL</a></td><td>- Simple DirectMedia Layer for Perl</td></tr></table><table style="margin-left: 60px; margin-top: 5px"><tr><td colspan="3"><strong style="font-size: 14px">Structure</strong></td></tr><tr><td><img src="assets/bubble-6-mini.png" alt="thumb" /></td><td><a href="SDL-AudioCVT.html">SDL::AudioCVT</a></td><td>- Audio Conversion Structure</td></tr><tr><td><img src="assets/bubble-1-mini.png" alt="thumb" /></td><td><a href="SDL-AudioSpec.html">SDL::AudioSpec</a></td><td>- SDL Bindings for structure SDL::AudioSpec</td></tr></table><table style="margin-left: 30px; margin-top: 5px"><tr><td colspan="3"><strong style="font-size: 14px">CDROM</strong></td></tr><tr><td><img src="assets/bubble-4-mini.png" alt="thumb" /></td><td><a href="SDL-CDROM.html">SDL::CDROM</a></td><td>- SDL Bindings for the CDROM device</td></tr></table><table style="margin-left: 60px; margin-top: 5px"><tr><td colspan="3"><strong style="font-size: 14px">Structure</strong></td></tr><tr><td><img src="assets/bubble-6-mini.png" alt="thumb" /></td><td><a href="SDL-CD.html">SDL::CD</a></td><td>- SDL Bindings for structure SDL_CD</td></tr><tr><td><img src="assets/bubble-6-mini.png" alt="thumb" /></td><td><a href="SDL-CDTrack.html">SDL::CDTrack</a></td><td>- SDL Bindings for structure SDL_CDTrack</td></tr></table><table style="margin-left: 30px; margin-top: 5px"><tr><td colspan="3"><strong style="font-size: 14px">Events</strong></td></tr><tr><td><img src="assets/bubble-7-mini.png" alt="thumb" /></td><td><a href="SDL-Events.html">SDL::Events</a></td><td>- Bindings to the Events Category in SDL API</td></tr></table><table style="margin-left: 60px; margin-top: 5px"><tr><td colspan="3"><strong style="font-size: 14px">Structure</strong></td></tr><tr><td><img src="assets/bubble-1-mini.png" alt="thumb" /></td><td><a href="SDL-Event.html">SDL::Event</a></td><td>- General event structure</td></tr></table><table style="margin-left: 30px; margin-top: 5px"><tr><td colspan="3"><strong style="font-size: 14px">Joystick</strong></td></tr><tr><td><img src="assets/bubble-1-mini.png" alt="thumb" /></td><td><a href="SDL-Joystick.html">SDL::Joystick</a></td><td>- SDL Bindings for the Joystick device</td></tr></table><table style="margin-left: 60px; margin-top: 5px"><tr><td colspan="3"><strong style="font-size: 14px">Structure</strong></td></tr><tr><td><img src="assets/bubble-4-mini.png" alt="thumb" /></td><td><a href="SDL-Mixer-MixChunk.html">SDL::Mixer::MixChunk</a></td><td>- SDL Bindings for structure SDL_MixChunk</td></tr></table><table style="margin-left: 30px; margin-top: 5px"><tr><td colspan="3"><strong style="font-size: 14px">Mouse</strong></td></tr><tr><td><img src="assets/bubble-4-mini.png" alt="thumb" /></td><td><a href="SDL-Mouse.html">SDL::Mouse</a></td><td>- SDL Bindings for the Mouse device</td></tr></table><table style="margin-left: 60px; margin-top: 5px"><tr><td colspan="3"><strong style="font-size: 14px">Structure</strong></td></tr><tr><td><img src="assets/bubble-3-mini.png" alt="thumb" /></td><td><a href="SDL-Cursor.html">SDL::Cursor</a></td><td>- Mouse cursor structure</td></tr></table><table style="margin-left: 30px; margin-top: 5px"><tr><td colspan="3"><strong style="font-size: 14px">MultiThread</strong></td></tr><tr><td><img src="assets/bubble-1-mini.png" alt="thumb" /></td><td><a href="SDL-MultiThread.html">SDL::MultiThread</a></td><td>- Bindings to the MultiThread category in SDL API</td></tr></table><table style="margin-left: 30px; margin-top: 5px"><tr><td colspan="3"><strong style="font-size: 14px">Structure</strong></td></tr><tr><td><img src="assets/bubble-4-mini.png" alt="thumb" /></td><td><a href="SDL-Version.html">SDL::Version</a></td><td>- SDL Bindings for structure SDL_Version</td></tr></table><table style="margin-left: 30px; margin-top: 5px"><tr><td colspan="3"><strong style="font-size: 14px">Video</strong></td></tr><tr><td><img src="assets/bubble-1-mini.png" alt="thumb" /></td><td><a href="SDL-Video.html">SDL::Video</a></td><td>- Bindings to the video category in SDL API</td></tr></table><table style="margin-left: 60px; margin-top: 5px"><tr><td colspan="3"><strong style="font-size: 14px">Structure</strong></td></tr><tr><td><img src="assets/bubble-5-mini.png" alt="thumb" /></td><td><a href="SDL-Color.html">SDL::Color</a></td><td>- Format independent color description</td></tr><tr><td><img src="assets/bubble-7-mini.png" alt="thumb" /></td><td><a href="SDL-Overlay.html">SDL::Overlay</a></td><td>- YUV Video overlay</td></tr><tr><td><img src="assets/bubble-2-mini.png" alt="thumb" /></td><td><a href="SDL-Palette.html">SDL::Palette</a></td><td>- Color palette for 8-bit pixel formats </td></tr><tr><td><img src="assets/bubble-3-mini.png" alt="thumb" /></td><td><a href="SDL-PixelFormat.html">SDL::PixelFormat</a></td><td>- Stores surface format information</td></tr><tr><td><img src="assets/bubble-5-mini.png" alt="thumb" /></td><td><a href="SDL-Rect.html">SDL::Rect</a></td><td>- Defines a rectangular area</td></tr><tr><td><img src="assets/bubble-3-mini.png" alt="thumb" /></td><td><a href="SDL-Surface.html">SDL::Surface</a></td><td></td></tr><tr><td><img src="assets/bubble-7-mini.png" alt="thumb" /></td><td><a href="SDL-VideoInfo.html">SDL::VideoInfo</a></td><td>- Video Target Information </td></tr></table><br /><table style="margin-left: 0px; margin-top: 5px"><tr><td colspan="3"><strong style="font-size: 14px">Cookbook</strong></td></tr><tr><td><img src="assets/bubble-4-mini.png" alt="thumb" /></td><td><a href="SDL-Cookbook.html">SDL::Cookbook</a></td><td></td></tr><tr><td><img src="assets/bubble-3-mini.png" alt="thumb" /></td><td><a href="SDL-Cookbook-PDL.html">SDL::Cookbook::PDL</a></td><td></td></tr></table><br /><table style="margin-left: 0px; margin-top: 5px"><tr><td colspan="3"><strong style="font-size: 14px">Extension</strong></td></tr><tr><td><img src="assets/bubble-3-mini.png" alt="thumb" /></td><td><a href="SDL-App.html">SDL::App</a></td><td>- a SDL perl extension</td></tr></table><br /><table style="margin-left: 0px; margin-top: 5px"><tr><td colspan="3"><strong style="font-size: 14px">Mixer</strong></td></tr><tr><td><img src="assets/bubble-3-mini.png" alt="thumb" /></td><td><a href="SDL-Mixer.html">SDL::Mixer</a></td><td>- a SDL perl extension</td></tr><table style="margin-left: 0px; margin-top: 5px"><tr><td colspan="3"><strong style="font-size: 14px">TODO</strong></td></tr><table style="margin-left: 30px; margin-top: 5px"><tr><td colspan="3"><strong style="font-size: 14px">Core</strong></td></tr></table><table style="margin-left: 60px; margin-top: 5px"><tr><td colspan="3"><strong style="font-size: 14px">Audio</strong></td></tr><tr><td><img src="assets/bubble-3-mini.png" alt="thumb" /></td><td><a href="SDL-Audio.html">SDL::Audio</a></td><td>- SDL Bindings for Audio</td></tr></table><table style="margin-left: 90px; margin-top: 5px"><tr><td colspan="3"><strong style="font-size: 14px">Structure</strong></td></tr><tr><td><img src="assets/bubble-4-mini.png" alt="thumb" /></td><td><a href="SDL-Mixer-MixMusic.html">SDL::Mixer::MixMusic</a></td><td>- SDL Bindings for structure SDL_MixMusic</td></tr></table><table style="margin-left: 60px; margin-top: 5px"><tr><td colspan="3"><strong style="font-size: 14px">Structure</strong></td></tr><tr><td><img src="assets/bubble-2-mini.png" alt="thumb" /></td><td><a href="SDL-RWOps.html">SDL::RWOps</a></td><td>- SDL Bindings to SDL_RWOPs</td></tr></table><br /><table style="margin-left: 0px; margin-top: 5px"><tr><td colspan="3"><strong style="font-size: 14px">Tutorials</strong></td></tr><tr><td><img src="assets/bubble-5-mini.png" alt="thumb" /></td><td><a href="SDL-Tutorial.html">SDL::Tutorial</a></td><td>- introduction to Perl SDL</td></tr><tr><td><img src="assets/bubble-3-mini.png" alt="thumb" /></td><td><a href="SDL-Tutorial-Animation.html">SDL::Tutorial::Animation</a></td><td></td></tr><tr><td><img src="assets/bubble-7-mini.png" alt="thumb" /></td><td><a href="SDL-Tutorial-Images.html">SDL::Tutorial::Images</a></td><td></td></tr><tr><td><img src="assets/bubble-5-mini.png" alt="thumb" /></td><td><a href="SDL-Tutorial-LunarLander.html">SDL::Tutorial::LunarLander</a></td><td>- a small tutorial on Perl SDL</td></tr><tr><td><img src="assets/bubble-2-mini.png" alt="thumb" /></td><td><a href="SDL-Tutorial-Pong.html">SDL::Tutorial::Pong</a></td><td></td></tr><tr><td><img src="assets/bubble-5-mini.png" alt="thumb" /></td><td><a href="SDL-Tutorial-Tetris.html">SDL::Tutorial::Tetris</a></td><td></td></tr></table><br /><table style="margin-left: 0px; margin-top: 5px"><tr><td colspan="3"><strong style="font-size: 14px">UNCATEGORIZED</strong></td></tr><tr><td><img src="assets/bubble-7-mini.png" alt="thumb" /></td><td><a href="SDL-Font.html">SDL::Font</a></td><td>- a SDL perl extension</td></tr><tr><td><img src="assets/bubble-6-mini.png" alt="thumb" /></td><td><a href="SDL-Game-Palette.html">SDL::Game::Palette</a></td><td>- a perl extension</td></tr><tr><td><img src="assets/bubble-2-mini.png" alt="thumb" /></td><td><a href="SDL-MPEG.html">SDL::MPEG</a></td><td>- a SDL perl extension</td></tr><tr><td><img src="assets/bubble-1-mini.png" alt="thumb" /></td><td><a href="SDL-Music.html">SDL::Music</a></td><td>- a perl extension</td></tr><tr><td><img src="assets/bubble-2-mini.png" alt="thumb" /></td><td><a href="SDL-OpenGL.html">SDL::OpenGL</a></td><td>- a perl extension</td></tr><tr><td><img src="assets/bubble-4-mini.png" alt="thumb" /></td><td><a href="SDL-SFont.html">SDL::SFont</a></td><td>- a perl extension</td></tr><tr><td><img src="assets/bubble-1-mini.png" alt="thumb" /></td><td><a href="SDL-SMPEG.html">SDL::SMPEG</a></td><td>- a SDL perl extension</td></tr><tr><td><img src="assets/bubble-4-mini.png" alt="thumb" /></td><td><a href="SDL-Sound.html">SDL::Sound</a></td><td>- a perl extension</td></tr><tr><td><img src="assets/bubble-1-mini.png" alt="thumb" /></td><td><a href="SDL-TTFont.html">SDL::TTFont</a></td><td>- a SDL perl extension</td></tr><tr><td><img src="assets/bubble-2-mini.png" alt="thumb" /></td><td><a href="SDL-Timer.html">SDL::Timer</a></td><td>- a SDL perl extension for managing timers.</td></tr><tr><td><img src="assets/bubble-1-mini.png" alt="thumb" /></td><td><a href="SDL-Tool-Font.html">SDL::Tool::Font</a></td><td>- a perl extension</td></tr><tr><td><img src="assets/bubble-4-mini.png" alt="thumb" /></td><td><a href="SDL-Tool-Graphic.html">SDL::Tool::Graphic</a></td><td></td></tr><tr><td><img src="assets/bubble-2-mini.png" alt="thumb" /></td><td><a href="SDL-old-cdrom.html">SDL::old-cdrom</a></td><td>- a SDL perl extension for managing CD-ROM drives</td></tr></table></div>
--- /dev/null
+
+package LinkResolver;
+use Pod::ParseUtils;
+use base qw(Pod::Hyperlink);
+
+sub new
+{
+ my $class = shift;
+ my $css = shift;
+ my $self = $class->SUPER::new();
+ $self->{css} = $css;
+ return $self;
+}
+
+sub node
+{
+ my $self = shift;
+ if($self->SUPER::type() eq 'page')
+ {
+ my $url = "?module=".$self->SUPER::page();
+ $url.=";css=".$_ for @{$self->{css}};
+ return $url;
+ }
+ $self->SUPER::node(@_);
+}
+
+sub text
+{
+ my $self = shift;
+ return $self->SUPER::page() if($self->SUPER::type() eq 'page');
+ $self->SUPER::text(@_);
+}
+
+sub type
+{
+ my $self = shift;
+ return "hyperlink" if($self->SUPER::type() eq 'page');
+ $self->SUPER::type(@_);
+}
+
+1;
+
my $parent_dir = catpath($volume, catdir(@directories));
my $pages_path = catdir($parent_dir, 'pages');
my $assets_path = catdir($parent_dir, 'htdocs/assets');
-my $parser = Pod::Xhtml->new(FragmentOnly => 1, StringMode => 1);
+my $parser = Pod::Xhtml->new(FragmentOnly => 1, StringMode => 1, LinkParser => new LinkResolver());
my %module_names = ();
my %thumbnails = ();
my %files = ();
}
}
}
+
+package LinkResolver;
+use Pod::ParseUtils;
+use base qw(Pod::Hyperlink);
+
+sub new
+{
+ my $class = shift;
+ my $css = shift;
+ my $self = $class->SUPER::new();
+ return $self;
+}
+
+sub node
+{
+ my $self = shift;
+ if($self->SUPER::type() eq 'page')
+ {
+ my $page = $self->SUPER::page();
+
+ if($page =~ /^SDL::/)
+ {
+ $page =~ s/::/-/;
+ return "/$page.html";
+ }
+ else
+ {
+ return "http://search.cpan.org/perldoc?$page";
+ }
+ }
+ $self->SUPER::node(@_);
+}
+
+sub text
+{
+ my $self = shift;
+ return $self->SUPER::page() if($self->SUPER::type() eq 'page');
+ $self->SUPER::text(@_);
+}
+
+sub type
+{
+ my $self = shift;
+ return "hyperlink" if($self->SUPER::type() eq 'page');
+ $self->SUPER::type(@_);
+}
+
+1;
+