fixed url-generator
Tobias Leich [Wed, 17 Mar 2010 21:14:18 +0000 (22:14 +0100)]
32 files changed:
pages/SDL-App.html-inc
pages/SDL-Audio.html-inc
pages/SDL-CD.html-inc
pages/SDL-CDROM.html-inc
pages/SDL-CDTrack.html-inc
pages/SDL-Color.html-inc
pages/SDL-Cursor.html-inc
pages/SDL-Events.html-inc
pages/SDL-Font.html-inc
pages/SDL-Game-Palette.html-inc
pages/SDL-Image.html-inc
pages/SDL-Mixer.html-inc
pages/SDL-Music.html-inc
pages/SDL-OpenGL.html-inc
pages/SDL-Palette.html-inc
pages/SDL-PixelFormat.html-inc
pages/SDL-Rect.html-inc
pages/SDL-SFont.html-inc
pages/SDL-Sound.html-inc
pages/SDL-Surface.html-inc
pages/SDL-TTF.html-inc
pages/SDL-TTFont.html-inc
pages/SDL-Tool-Font.html-inc
pages/SDL-Tool-Graphic.html-inc
pages/SDL-Tutorial-Animation.html-inc
pages/SDL-Tutorial-Images.html-inc
pages/SDL-Tutorial-Pong.html-inc
pages/SDL-Tutorial.html-inc
pages/SDL-Video.html-inc
pages/SDL-VideoInfo.html-inc
pages/documentation.html-inc
tools/PM-Pod2html-snippet.pl

index d1d8868..2e3ac92 100644 (file)
@@ -68,8 +68,8 @@ An alternative to the manual Event processing is the L<SDL::App::loop> .
 </div>
 <h1 id="DESCRIPTION">DESCRIPTION</h1><p><a href="#TOP" class="toplink">Top</a></p>
 <div id="DESCRIPTION_CONTENT">
-<p><a href="SDL-App">SDL::App</a> controls the root window of the of your SDL based application.
-It extends the <a href="SDL-Surface">SDL::Surface</a> 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>
@@ -195,7 +195,7 @@ Kartik Thakore</p>
 </div>
 <h1 id="SEE_ALSO">SEE ALSO</h1><p><a href="#TOP" class="toplink">Top</a></p>
 <div id="SEE_ALSO_CONTENT">
-<p><a href="http://search.cpan.org/perldoc?perl">perl</a> <a href="SDL-Surface">SDL::Surface</a> <a href="SDL-Event">SDL::Event</a>  <a href="SDL-OpenGL">SDL::OpenGL</a></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
index dbc9aaa..1b87ea2 100644 (file)
@@ -64,7 +64,7 @@
 
 </pre>
        </dd>
-       <dt>The desired audio format. See <a href="SDL-AudioSpec">SDL::AudioSpec</a></dt>
+       <dt>The desired audio format. See <a href="SDL-AudioSpec.html">SDL::AudioSpec</a></dt>
        <dd>
 <pre>    $desired-&gt;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 <a href="SDL-AudioCVT">SDL::AudioCVT</a>'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>
 
index fa9610e..18cb0fd 100644 (file)
 <pre> my $track =  $CD-&gt;track($number);
 
 </pre>
-<p>Retrives track description of track $number in CD. See <a href="SDL-Track">SDL::CDTrack</a>.</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><a href="SDL-M">SDL::CDROM</a>, <a href="SDL-Track">SDL::CDTrack</a></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
index f950875..0e17498 100644 (file)
@@ -75,7 +75,7 @@
 </div>
 <h1 id="See_Also">See Also</h1><p><a href="#TOP" class="toplink">Top</a></p>
 <div id="See_Also_CONTENT">
-<p><a href="SDL-D">SDL::CD</a>, <a href="SDL-Track">SDL::CDTrack</a></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
index 73ec8e9..aa75b60 100644 (file)
@@ -98,7 +98,7 @@
 </div>
 <h1 id="SEE_ALSO">SEE ALSO</h1><p><a href="#TOP" class="toplink">Top</a></p>
 <div id="SEE_ALSO_CONTENT">
-<p><a href="SDL-M">SDL::CDROM</a>, <a href="SDL-D">SDL::CD</a></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
index c13455c..fe9ab3b 100644 (file)
@@ -94,7 +94,7 @@ if not, it returns the blue component of the color:</p>
 </div>
 <h1 id="SEE_ALSO">SEE ALSO</h1><p><a href="#TOP" class="toplink">Top</a></p>
 <div id="SEE_ALSO_CONTENT">
-<p><a href="SDL-Surface">SDL::Surface</a></p>
+<p><a href="SDL-Surface.html">SDL::Surface</a></p>
 
 </div>
 </div>
\ No newline at end of file
index a7fac08..289bf2e 100644 (file)
@@ -114,7 +114,7 @@ and in your main loop, when you draw graphics, also draw a <code>SDL::Surface</c
 </div>
 <h1 id="SEE_ALSO">SEE ALSO</h1><p><a href="#TOP" class="toplink">Top</a></p>
 <div id="SEE_ALSO_CONTENT">
-<p><a href="http://search.cpan.org/perldoc?perl">perl</a> <a href="SDL-Mouse">SDL::Mouse</a></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
index 3f76c29..32a08a6 100644 (file)
 <ul><li><a href="#RETURN-4">RETURN</a></li>
 </ul>
 </li>
-<li><a href="#set_event_filter">set_event_filter</a></li>
+<li><a href="#set_event_filter">set_event_filter</a>
+<ul><li><a href="#PARAMETER">PARAMETER</a></li>
+</ul>
+</li>
 <li><a href="#get_key_state">get_key_state</a></li>
-<li><a href="#get_mod_state">get_mod_state</a></li>
+<li><a href="#get_mod_state">get_mod_state</a>
+<ul><li><a href="#MOD_VALUES">MOD VALUES</a></li>
+</ul>
+</li>
 <li><a href="#set_mod_state">set_mod_state</a></li>
-<li><a href="#event_state">event_state </a></li>
+<li><a href="#event_state">event_state </a>
+<ul><li><a href="#STATES">STATES</a></li>
+</ul>
+</li>
 <li><a href="#get_key_name">get_key_name</a></li>
 <li><a href="#enable_unicode">enable_unicode </a></li>
 <li><a href="#enable_key_repeat">enable_key_repeat </a></li>
 </div>
 <h1 id="SYNOPSIS">SYNOPSIS</h1><p><a href="#TOP" class="toplink">Top</a></p>
 <div id="SYNOPSIS_CONTENT">
-<p>Most likely you just want to know how to get events for you app.
-  use SDL;
+<p>Most likely you just want to know how to get events for you app.</p>
+<pre>  use SDL;
   use SDL::Event;
-  use SDL::Events;</p>
-<pre>  SDL::init(SDL_INIT_VIDEO); # Event can only be grabbed in the same thread as this 
+  use SDL::Events;
+
+  SDL::init(SDL_INIT_VIDEO); # Event can only be grabbed in the same thread as this 
 
   ...
 
@@ -138,7 +148,7 @@ However, if you are not polling or waiting for events (e.g. you are filtering th
 <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 <a href="SDL-Event">SDL::Event</a> structure pointed to by $event.</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.html#set_video_mode">SDL::Video::set_video_mode</a>. </p>
 
 </div>
@@ -175,59 +185,269 @@ The event is copied into the queue, and the caller may dispose of the memory poi
 </div>
 <h2 id="set_event_filter">set_event_filter</h2>
 <div id="set_event_filter_CONTENT">
+<p>Sets up a filter to process all events </p>
+<pre>  my $filter = sub { if($_[0]-&gt;type == SDL_ACTIVEEVENT){ return 0} else{ return 1; }};
+
+       SDL::Events::set_event_filter($filter);
+
+</pre>
+
+</div>
+<h3 id="PARAMETER">PARAMETER</h3>
+<div id="PARAMETER_CONTENT">
+<p>set_event_filter takes a coderef that it checks all events again. The callback gets a event in the stack</p>
+<pre>  sub { my $event_to_test = shift; ...}
+
+</pre>
+<p>to filter the event return a 0, to pass the filter return a 1. </p>
+<p>One <strong>Caveat</strong> is if you are filterign SDL_QUITEVENT the event will be filtered if it is non-intterupt call ( Window closes normally ). If it is a interrupt SDL_QUITEVENT it will be process on the next event poll. </p>
+<p>Events pushed onto to the queue with <a href="/SDL-Events.html#push_events">SDL::Events::push_events</a> or <a href="/SDL-Events.html#peep_events">SDL::Events::peep_events</a> do not get filtered.</p>
+<p>This callback may run in a different thread. </p>
 
 </div>
 <h2 id="get_key_state">get_key_state</h2>
 <div id="get_key_state_CONTENT">
+<p>Get a snapshot of the current keyboard state</p>
+<pre>  my $keys_ref = SDL::Events::get_key_state();
+
+       print $keys_ref-&gt;[SDLK_RETURN]; # 1 if pressed , 0 if not pressed
+
+</pre>
+<p>Use <a href="/SDL-Events.html#pump_events">SDL::Events::pump_events</a> to update the state array.</p>
+<p>This function gives you the current state after all events have been processed, so if a key or button has been pressed and released before you process events, then the pressed state will never show up in the get_key_state call.</p>
+<p>This function doesn't take into account whether shift has been pressed or not.</p>
 
 </div>
 <h2 id="get_mod_state">get_mod_state</h2>
 <div id="get_mod_state_CONTENT">
+<p>Get the state of the modifier keys</p>
+<p>Returns the current state of modifier keys</p>
+<p>Return value is an OR'd combination of  KMOD_*</p>
+<pre> SDL::Events::pump_events; #get latest mod_state in buffers
+
+ my $mod_state = SDL::Events::get_mod_state();
+
+ # Check which ones are pressed with 
+
+ # no mod pressed?
+
+ print 'no_mod' if  ( $mod_state &amp; KMOD_NONE );
+
+ # CTRL or ALT 
+
+ print 'ctrl alt' if ($mod_state &amp; KMOD_CTRL || $mod_state &amp; KMOD_ALT );
+
+</pre>
+
+</div>
+<h3 id="MOD_VALUES">MOD VALUES</h3>
+<div id="MOD_VALUES_CONTENT">
+<dl>
+       <dt>KMOD_NONE</dt>
+       <dt>KMOD_LSHIFT</dt>
+       <dt>KMOD_RSHIFT</dt>
+       <dt>KMOD_LCTRL</dt>
+       <dt>KMOD_RCTRL</dt>
+       <dt>KMOD_LALT</dt>
+       <dt>KMOD_RALT</dt>
+       <dt>KMOD_LMETA</dt>
+       <dt>KMOD_RMETA</dt>
+       <dt>KMOD_NUM</dt>
+       <dt>KMOD_CAPS</dt>
+       <dt>KMOD_MODE</dt>
+       <dt>KMOD_CTRL </dt>
+       <dd>
+               <p>same as KMOD_LCTRL|KMOD_RCTRL</p>
+       </dd>
+       <dt>KMOD_SHIFT</dt>
+       <dd>
+               <p>same as KMOD_LSHIFT|KMOD_RSHIFT</p>
+       </dd>
+       <dt>KMOD_ALT</dt>
+       <dd>
+               <p>same as KMOD_LALT|KMOD_RALT</p>
+       </dd>
+       <dt>KMOD_META</dt>
+       <dd>
+               <p>same as KMOD_LMETA|KMOD_RMETA</p>
+       </dd>
+</dl>
 
 </div>
 <h2 id="set_mod_state">set_mod_state</h2>
 <div id="set_mod_state_CONTENT">
+<p>Get the state of the modifier keys</p>
+<p>The inverse of <a href="/SDL-Events.html#get_mod_state">SDL::Events::get_mod_state</a> allows you to impose modifier key states on your application.</p>
+<p>Simply pass your desired modifier states into $modstate. This value can be a OR'd combination of any KMOD* constant.</p>
+<pre> my $modstate = KMOD_LMETA | KMOD_LSHIFT;
+
+</pre>
+<p>Any KMOD_* constant see <a href="/SDL-Events.html#get_mod_state">SDL::Events::get_mod_state</a> for constants.
+ SDL::Events::set_mod_state( $modstate );</p>
 
 </div>
 <h2 id="event_state">event_state </h2>
 <div id="event_state_CONTENT">
+<p>Allows you to set the state of processing certain events</p>
+<pre> SDL::Events::event_state( $type, $state );
+
+</pre>
+<p>A list of $type(s) can be found in <a href="SDL-Event.html">SDL::Event</a></p>
+
+</div>
+<h3 id="STATES">STATES</h3>
+<div id="STATES_CONTENT">
+<dl>
+       <dt>SDL_IGNORE</dt>
+       <dd>
+               <p>The event of $type will be automatically dropper from the event queue and will not be filtered.</p>
+       </dd>
+       <dt>SDL_ENABLE</dt>
+       <dd>
+               <p>The event of $type will be processed normally. This is default.</p>
+       </dd>
+       <dt>SDL_QUERY</dt>
+       <dd>
+               <p>The current processing state of the $type will be returned</p>
+       </dd>
+</dl>
 
 </div>
 <h2 id="get_key_name">get_key_name</h2>
 <div id="get_key_name_CONTENT">
+<p>Gets the name of the a SDL virtual keysym</p>
+<pre> my $event = SDL::Event-&gt;new();
+
+ while( SDL::Events::poll_event($event) )
+ {
+   my $key = $event-&gt;key_sym;
+   $key_str = SDL::Events::get_key_name($key);
+ }
+
+</pre>
+<p>Returns a string with the name of the key sym.</p>
 
 </div>
 <h2 id="enable_unicode">enable_unicode </h2>
 <div id="enable_unicode_CONTENT">
+<p>Enable/Disable UNICODE translation</p>
+<pre>  my $previous_translation_mode = SDL::Events::enable_unicode( 1 ); #enable
+     $previous_translation_mode = SDL::Events::enable_unicode( 0 ); #disables
+
+</pre>
+<p>To obtain the character codes corresponding to received keyboard events, Unicode translation must first be turned on using this function. The translation incurs a slight overhead for each keyboard event and is therefore disabled by default. For each subsequently recieved key down event, the unicode member of the <a href="/SDL-Event.html#key_sym">SDL::Event::key_sym</a> provided structure will be then contain the corresponding character code, or otherwise zero.</p>
+<p>A value of 1 for enabling, 0 for disabling and -1 for unchanged. -1 is usefull for querying the current translation mode.</p>
+<p>Only key press events will be translated not release events.</p>
+<p>Returns the previous translation mode as (1,0).</p>
 
 </div>
 <h2 id="enable_key_repeat">enable_key_repeat </h2>
 <div id="enable_key_repeat_CONTENT">
+<p>Sets keyboard repeat rate</p>
+<pre> my $success = SDL::Events::enable_key_repeat( $delay, $interval );
+
+</pre>
+<p>Enables or disables the keyboard repeat rate. $delay specifies how long the key must be pressed before it begins repeating, it then repleats at the speed specified by $interval. Both $delay and $interval are expressed in milliseconds.</p>
+<p>Setting $delay to 0 disables key repeating completely. Good default values are SDL_DEFAULT_REPEAT_DELAY and SDL_DEFAULT_REPEAT_INTERVAL.</p>
+<p>Return 0 on success and -1 on fail.</p>
 
 </div>
 <h2 id="get_mouse_state">get_mouse_state </h2>
 <div id="get_mouse_state_CONTENT">
+<p>Retrives the current state of the mouse</p>
+<pre>  my ($mask,$x,$y) = @{ SDL::Events::get_mouse_state( ) };
+
+        print 'Button Left pressed' if ($mask &amp; SDL_BUTTON_LMASK);    
+
+        print 'Button Right pressed' if ($mask &amp; SDL_BUTTON_RMASK);   
+
+        print 'Button Middle pressed' if ($mask &amp; SDL_BUTTON_MMASK);  
+
+        print $x.','.$y;
+
+</pre>
+<p>The current button state is returned as a button $bitmask, which can be tested using the the above constants </p>
 
 </div>
 <h2 id="get_relative_mouse_state">get_relative_mouse_state </h2>
 <div id="get_relative_mouse_state_CONTENT">
+<p>Retrives the current relative state of the mouse</p>
+<pre>  my ($mask,$x,$y) = @{ SDL::Events::get_mouse_state( ) };
+
+        print 'Button Left pressed' if ($mask &amp; SDL_BUTTON_LMASK);    
+
+        print 'Button Right pressed' if ($mask &amp; SDL_BUTTON_RMASK);   
+
+        print 'Button Middle pressed' if ($mask &amp; SDL_BUTTON_MMASK);  
+
+        print $x.','.$y; # this is relative to the last postion of the mouse
+
+</pre>
+<p>The current button state is returned as a button $bitmask, which can be tested using the the above constants </p>
+
+
+
+
 
 </div>
 <h2 id="get_app_state">get_app_state </h2>
 <div id="get_app_state_CONTENT">
+<p>Gets the state of the application</p>
+<pre>  my $app_state = SDL::Events::get_app_state();
+
+</pre>
+<p>The $app_state is a bitwise combination of:</p>
+<dl>
+       <dt>SDL_APPMOUSEFOCUS</dt>
+       <dd>
+               <p>Application has mouse focus</p>
+<pre>  warn 'mouse focus' if $app_state &amp; SDL_APPMOUSEFOCUS
+
+</pre>
+       </dd>
+       <dt>SDL_APPINPUTFOCUS</dt>
+       <dd>
+               <p>Application has keyboard focus</p>
+<pre>  warn 'keyboard focus' if $app_state &amp; SDL_APPINPUTFOCUS
+
+
+
+
+</pre>
+       </dd>
+       <dt>SDL_APPACTIVE</dt>
+       <dd>
+               <p>Application is visible</p>
+<pre>  warn 'Application Visible' if $app_state &amp; SDL_APPACTIVE
 
-</div>
-<h2 id="joystick_event_state">joystick_event_state </h2>
-<div id="joystick_event_state_CONTENT">
 
 
 
+</pre>
+
+</div>
+<h2 id="joystick_event_state">joystick_event_state </h2>
+<div id="joystick_event_state_CONTENT">
+               <p>Enable/disable joystick event polling</p>
+<pre>  my $status = SDL::Events::joystick_event_state( $state );
 
+</pre>
+               <p>This function is used to enable or disable joystick event processing. With joystick event processing disabled you will have to update joystick states with SDL_JoystickUpdate and read the joystick information manually. $state can be:</p>
+       </dd>
+       <dt>SDL_QUERY</dt>
+       <dt>SDL_ENABLE </dt>
+       <dt>SDL_IGNORE</dt>
+       <dd>
+               <p>Joystick event handling is default. Even if joystick event processing is enabled, individual joysticks must be opened before they generate events</p>
+       </dd>
+</dl>
+<p><strong>Warning:</strong> Calling this function may delete all events currently in SDL's event queue.</p>
+<p>If $state is SDL_QUERY then the current state is returned, otherwise the new processing state is returned.</p>
 
 </div>
 <h1 id="SEE_ALSO">SEE ALSO</h1><p><a href="#TOP" class="toplink">Top</a></p>
 <div id="SEE_ALSO_CONTENT">
-<p><a href="SDL-Event">SDL::Event</a>, <a href="SDL-Video">SDL::Video</a>
+<p><a href="SDL-Event.html">SDL::Event</a>, <a href="SDL-Video.html">SDL::Video</a>
 </p>
 
 </div>
index 56a6737..538d304 100644 (file)
@@ -30,8 +30,8 @@
 </div>
 <h1 id="DESCRIPTION">DESCRIPTION</h1><p><a href="#TOP" class="toplink">Top</a></p>
 <div id="DESCRIPTION_CONTENT">
-<p><a href="SDL-Font">SDL::Font</a> provides an interface to loading and using SFont style 
-fonts with <a href="SDL-Surface">SDL::Surface</a> 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>
@@ -50,7 +50,7 @@ fonts with <a href="SDL-Surface">SDL::Surface</a> objects.  </p>
 </div>
 <h1 id="SEE_ALSO">SEE ALSO</h1><p><a href="#TOP" class="toplink">Top</a></p>
 <div id="SEE_ALSO_CONTENT">
-<p><a href="http://search.cpan.org/perldoc?perl">perl</a> <a href="SDL-Surface">SDL::Surface</a></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
index a7c6973..d3484bd 100644 (file)
@@ -25,7 +25,7 @@
 </div>
 <h1 id="DESCRIPTION">DESCRIPTION</h1><p><a href="#TOP" class="toplink">Top</a></p>
 <div id="DESCRIPTION_CONTENT">
-<p><a href="SDL-Palette">SDL::Palette</a> 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>
@@ -65,7 +65,7 @@ and can be used to set the color values of an existing palette's indexes.</p>
 </div>
 <h1 id="SEE_ALSO">SEE ALSO</h1><p><a href="#TOP" class="toplink">Top</a></p>
 <div id="SEE_ALSO_CONTENT">
-<p><a href="http://search.cpan.org/perldoc?perl">perl</a> <a href="SDL-Color">SDL::Color</a> <a href="SDL-Surface">SDL::Surface</a></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
index c3a3166..8faed1e 100644 (file)
@@ -147,9 +147,9 @@ HAM6, HAM8, and 24bit types are not supported. </p>
 
 </pre>
 <p>$file Image file name to load a surface from. </p>
-<p>Load file for use as an image in a new <a href="SDL-Surface">SDL::Surface</a>. This actually calls <code>IMG_LoadTyped_RW</code> the binded function to <a href="/SDL-Image.html#load_typed_rw">SDL::Image::load_typed_rw</a>, with the file extension used as the type string. This can load all supported image files, including TGA as long as the filename ends with &quot;.tga&quot;. It is best to call this outside of event loops, and rather keep the loaded images around until you are really done with them, as disk speed and image conversion to a surface is not that speedy.  
+<p>Load file for use as an image in a new <a href="SDL-Surface.html">SDL::Surface</a>. This actually calls <code>IMG_LoadTyped_RW</code> the binded function to <a href="/SDL-Image.html#load_typed_rw">SDL::Image::load_typed_rw</a>, with the file extension used as the type string. This can load all supported image files, including TGA as long as the filename ends with &quot;.tga&quot;. It is best to call this outside of event loops, and rather keep the loaded images around until you are really done with them, as disk speed and image conversion to a surface is not that speedy.  
 Note: If the image format loader requires initialization, it will attempt to do that the first time it is needed if you have not already called <a href="/SDL-Image.html#init">SDL::Image::init</a> to load support for your image format.
-Note: If the image format supports a transparent pixel, <a href="SDL-Image">SDL::Image</a> will set the colorkey for the surface. You can enable RLE acceleration on the surface afterwards by calling:
+Note: If the image format supports a transparent pixel, <a href="SDL-Image.html">SDL::Image</a> will set the colorkey for the surface. You can enable RLE acceleration on the surface afterwards by calling:
 <a href="/SDL-Video.html#set_color_key">SDL::Video::set_color_key</a></p>
 <pre>  my $image = SDL::Image::load( $some_png_file );
   SDL::Video::set_color_key($image, SDL_RLEACCEL, $image-&gt;format-&gt;colorkey);
@@ -159,7 +159,7 @@ Note: If the image format supports a transparent pixel, <a href="SDL-Image">SDL:
 </div>
 <h3 id="Return">Return</h3>
 <div id="Return_CONTENT">
-<p>An image as a <a href="SDL-Surface">SDL::Surface</a>. NULL is returned on errors, such as no support built for the image, or a file reading error. Use <a href="/SDL.html#get_error">SDL::get_error</a> to get cause of error.</p>
+<p>An image as a <a href="SDL-Surface.html">SDL::Surface</a>. NULL is returned on errors, such as no support built for the image, or a file reading error. Use <a href="/SDL.html#get_error">SDL::get_error</a> to get cause of error.</p>
 
 </div>
 <h2 id="load_typed_rw">load_typed_rw</h2>
@@ -170,7 +170,7 @@ Note: If the image format supports a transparent pixel, <a href="SDL-Image">SDL:
 <dl>
        <dt>src</dt>
        <dd>
-               <p>The source <a href="SDL-Wops">SDL::RWops</a> as a pointer. The image is loaded from this. </p>
+               <p>The source <a href="SDL-RWops.html">SDL::RWops</a> as a pointer. The image is loaded from this. </p>
        </dd>
        <dt>freesrc</dt>
        <dd>
@@ -202,7 +202,7 @@ Note: If the image format supports a transparent pixel, <a href="SDL-Image">SDL:
 </dl>
 <p>Load src for use as a surface. This can load all supported image formats. This method does not guarantee that the format specified by type is the format of the loaded image, except in the case when TGA format is specified (or any other non-magicable format in the future). Using SDL_RWops is not covered here, but they enable you to load from almost any source.
 Note: If the image format loader requires initialization, it will attempt to do that the first time it is needed if you have not already called <a href="/SDL-Image.html#init">SDL::Image::init</a> to load support for your image format.
-Note: If the image format supports a transparent pixel, <a href="SDL-Image">SDL::Image</a> will set the colorkey for the surface. You can enable RLE acceleration on the surface afterwards by calling:
+Note: If the image format supports a transparent pixel, <a href="SDL-Image.html">SDL::Image</a> will set the colorkey for the surface. You can enable RLE acceleration on the surface afterwards by calling:
 <a href="/SDL-Video.html#set_color_key">SDL::Video::set_color_key</a></p>
 
 </div>
@@ -222,7 +222,7 @@ Note: If the image format supports a transparent pixel, <a href="SDL-Image">SDL:
 </div>
 <h3 id="Return-2">Return </h3>
 <div id="Return_CONTENT-2">
-<p>The image as a new <a href="SDL-Surface">SDL::Surface</a>. NULL is returned on errors. </p>
+<p>The image as a new <a href="SDL-Surface.html">SDL::Surface</a>. NULL is returned on errors. </p>
 
 </div>
 <h2 id="is_TYPE">is_[TYPE]</h2>
@@ -243,7 +243,7 @@ Note: If the image format supports a transparent pixel, <a href="SDL-Image">SDL:
        <dt>is_XPM</dt>
        <dt>is_XV</dt>
 </dl>
-<p>These functions take a <a href="SDL-Ops">SDL::RWOps</a> as a parameter.</p>
+<p>These functions take a <a href="SDL-RWOps.html">SDL::RWOps</a> as a parameter.</p>
 
 </div>
 <h3 id="Return-3">Return</h3>
@@ -281,12 +281,12 @@ Note: If the image format supports a transparent pixel, <a href="SDL-Image">SDL:
        <dt>load_XPM_rw</dt>
        <dt>load_XV_rw</dt>
 </dl>
-<p>These functions take a <a href="SDL-Wop">SDL::RWop</a> as a parameter</p>
+<p>These functions take a <a href="SDL-RWop.html">SDL::RWop</a> as a parameter</p>
 
 </div>
 <h3 id="Return-4">Return</h3>
 <div id="Return_CONTENT-4">
-<p>The image as a new <a href="SDL-Surface">SDL::Surface</a>. NULL is returned on errors, like if the [TYPE] is not supported, or a read error.</p>
+<p>The image as a new <a href="SDL-Surface.html">SDL::Surface</a>. NULL is returned on errors, like if the [TYPE] is not supported, or a read error.</p>
 
 </div>
 <h3 id="Example-2">Example</h3>
@@ -314,7 +314,7 @@ Note: If the image format supports a transparent pixel, <a href="SDL-Image">SDL:
 </div>
 <h3 id="Return-5">Return</h3>
 <div id="Return_CONTENT-5">
-<p>The image as a new <a href="SDL-Surface">SDL::Surface</a>. NULL is returned on errors, like if XPM is not supported, or a read error. </p>
+<p>The image as a new <a href="SDL-Surface.html">SDL::Surface</a>. NULL is returned on errors, like if XPM is not supported, or a read error. </p>
 
 </div>
 <h3 id="Example-3">Example</h3>
@@ -377,7 +377,7 @@ Note: If the image format supports a transparent pixel, <a href="SDL-Image">SDL:
 </div>
 <h3 id="Return-6">Return</h3>
 <div id="Return_CONTENT-6">
-<p>Returns a <a href="SDL-Version">SDL::Version</a> object</p>
+<p>Returns a <a href="SDL-Version.html">SDL::Version</a> object</p>
 
 </div>
 <h3 id="Example-4">Example</h3>
@@ -449,7 +449,7 @@ Note: this function does not always set the error string, so do not depend on SD
 </div>
 <h1 id="SEE_ALSO">SEE ALSO</h1><p><a href="#TOP" class="toplink">Top</a></p>
 <div id="SEE_ALSO_CONTENT">
-<p><a href="SDL">SDL</a>, <a href="SDL-Surface">SDL::Surface</a>, <a href="SDL-Video">SDL::Video</a>, <a href="SDL-Ops">SDL::RWOps</a></p>
+<p><a href="SDL.html">SDL</a>, <a href="SDL-Surface.html">SDL::Surface</a>, <a href="SDL-Video.html">SDL::Video</a>, <a href="SDL-RWOps.html">SDL::RWOps</a></p>
 
 </div>
 </div>
\ No newline at end of file
index f963132..bb0e1e7 100644 (file)
@@ -154,7 +154,7 @@ This function returns 1 as first array element (status) if the audio has been op
 </div>
 <h1 id="SEE_ALSO">SEE ALSO</h1><p><a href="#TOP" class="toplink">Top</a></p>
 <div id="SEE_ALSO_CONTENT">
-<p><a href="http://search.cpan.org/perldoc?perl">perl</a>, <a href="SDL-Mixer-Channels">SDL::Mixer::Channels</a>, <a href="SDL-Mixer-Effects">SDL::Mixer::Effects</a>, <a href="SDL-Mixer-Groups">SDL::Mixer::Groups</a>, <a href="SDL-Mixer-Music">SDL::Mixer::Music</a>.</p>
+<p><a href="http://search.cpan.org/perldoc?perl">perl</a>, <a href="SDL-Mixer-Channels.html">SDL::Mixer::Channels</a>, <a href="SDL-Mixer-Effects.html">SDL::Mixer::Effects</a>, <a href="SDL-Mixer-Groups.html">SDL::Mixer::Groups</a>, <a href="SDL-Mixer-Music.html">SDL::Mixer::Music</a>.</p>
 
 </div>
 </div>
\ No newline at end of file
index 8094d99..4f4f651 100644 (file)
@@ -17,7 +17,7 @@
 </div>
 <h1 id="DESCRIPTION">DESCRIPTION</h1><p><a href="#TOP" class="toplink">Top</a></p>
 <div id="DESCRIPTION_CONTENT">
-<p><a href="SDL-Music">SDL::Music</a> is used to load music files for use with <a href="SDL-Mixer">SDL::Mixer</a>.
+<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';
@@ -35,7 +35,7 @@ to the constructor:</p>
 </div>
 <h1 id="SEE_ALSO">SEE ALSO</h1><p><a href="#TOP" class="toplink">Top</a></p>
 <div id="SEE_ALSO_CONTENT">
-<p><a href="http://search.cpan.org/perldoc?perl">perl</a> <a href="SDL-Mixer">SDL::Mixer</a></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
index f181f66..8114f34 100644 (file)
@@ -25,7 +25,7 @@
 </div>
 <h1 id="DESCRIPTION">DESCRIPTION</h1><p><a href="#TOP" class="toplink">Top</a></p>
 <div id="DESCRIPTION_CONTENT">
-<p><a href="SDL-OpenGL">SDL::OpenGL</a> 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
@@ -80,7 +80,7 @@ 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><a href="http://search.cpan.org/perldoc?perl">perl</a> <a href="SDL-App">SDL::App</a></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
index ed2b376..a420ef1 100644 (file)
@@ -54,7 +54,7 @@ values of a <code>SDL::Surface</code>'s palette can be set with the <code>SDL::V
 </div>
 <h1 id="SEE_ALSO">SEE ALSO</h1><p><a href="#TOP" class="toplink">Top</a></p>
 <div id="SEE_ALSO_CONTENT">
-<p><a href="SDL-Color">SDL::Color</a> <a href="SDL-Surface">SDL::Surface</a></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
index 707fe49..1e61b9f 100644 (file)
@@ -61,7 +61,7 @@
 <pre>  $surface-&gt;format-&gt;palette;
 
 </pre>
-<p>Returns the <code>SDL_Palette</code> and <a href="SDL-Palette">SDL::Palette</a> 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><a href="SDL-Surface">SDL::Surface</a></p>
+<p><a href="SDL-Surface.html">SDL::Surface</a></p>
 
 </div>
 </div>
\ No newline at end of file
index ccb64a5..cdcd1ed 100644 (file)
@@ -106,7 +106,7 @@ if not, it returns the h component of the rectangle:</p>
 </div>
 <h1 id="SEE_ALSO">SEE ALSO</h1><p><a href="#TOP" class="toplink">Top</a></p>
 <div id="SEE_ALSO_CONTENT">
-<p><a href="SDL-Surface">SDL::Surface</a></p>
+<p><a href="SDL-Surface.html">SDL::Surface</a></p>
 
 </div>
 </div>
\ No newline at end of file
index a57f55b..d808c88 100644 (file)
@@ -40,7 +40,7 @@
 </div>
 <h1 id="SEE_ALSO">SEE ALSO</h1><p><a href="#TOP" class="toplink">Top</a></p>
 <div id="SEE_ALSO_CONTENT">
-<p><a href="http://search.cpan.org/perldoc?perl">perl</a> <a href="SDL-App">SDL::App</a></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
index 3c3977a..2f8dd88 100644 (file)
@@ -28,8 +28,8 @@
 </div>
 <h1 id="DESCRIPTION">DESCRIPTION</h1><p><a href="#TOP" class="toplink">Top</a></p>
 <div id="DESCRIPTION_CONTENT">
-<p><a href="SDL-Sound">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">SDL::Sound</a> 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';
 
@@ -52,7 +52,7 @@ passing the filename to the constructor;</p>
 </div>
 <h1 id="SEE_ALSO">SEE ALSO</h1><p><a href="#TOP" class="toplink">Top</a></p>
 <div id="SEE_ALSO_CONTENT">
-<p><a href="http://search.cpan.org/perldoc?perl">perl</a> <a href="SDL-Mixer">SDL::Mixer</a></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
index 7772fc1..c8a6c49 100644 (file)
 </div>
 <h2 id="format">format</h2>
 <div id="format_CONTENT">
-<p>The format of the pixels stored in the surface. See <a href="SDL-PixelFormat">SDL::PixelFormat</a></p>
+<p>The format of the pixels stored in the surface. See <a href="SDL-PixelFormat.html">SDL::PixelFormat</a></p>
 <pre> my $format = $surface-&gt;format;
 
 </pre>
 </div>
 <h1 id="SEE_ALSO">SEE ALSO</h1><p><a href="#TOP" class="toplink">Top</a></p>
 <div id="SEE_ALSO_CONTENT">
-<p><a href="SDL">SDL</a>, <a href="SDL-PixelFormat">SDL::PixelFormat</a>, <a href="SDL-Video">SDL::Video</a>, <a href="SDL-Rect">SDL::Rect</a></p>
+<p><a href="SDL.html">SDL</a>, <a href="SDL-PixelFormat.html">SDL::PixelFormat</a>, <a href="SDL-Video.html">SDL::Video</a>, <a href="SDL-Rect.html">SDL::Rect</a></p>
 
 </div>
 </div>
\ No newline at end of file
index 0b1624d..95fd772 100644 (file)
@@ -1,9 +1,504 @@
 <div class="pod">
 <!-- INDEX START -->
 <h3 id="TOP">Index</h3>
-<hr />
+
+<ul><li><a href="#NAME">NAME</a></li>
+<li><a href="#CATEGORY">CATEGORY</a></li>
+<li><a href="#METHODS">METHODS</a>
+<ul><li><a href="#General_methods">General methods</a>
+<ul><li><a href="#linked_version">linked_version</a></li>
+<li><a href="#compile_time_version">compile_time_version</a></li>
+<li><a href="#init">init</a></li>
+<li><a href="#was_init">was_init</a></li>
+<li><a href="#quit">quit</a></li>
+</ul>
+</li>
+<li><a href="#Management_functions">Management functions</a>
+<ul><li><a href="#open_font">open_font</a></li>
+<li><a href="#open_font_index">open_font_index</a></li>
+<li><a href="#open_font_RW">open_font_RW</a></li>
+<li><a href="#open_font_index_RW">open_font_index_RW</a></li>
+</ul>
+</li>
+<li><a href="#Attributes">Attributes</a>
+<ul><li><a href="#Global_attributes">Global attributes</a>
+<ul><li><a href="#byte_swapped_unicode">byte_swapped_unicode</a></li>
+</ul>
+</li>
+<li><a href="#Font_style">Font style</a>
+<ul><li><a href="#get_font_style">get_font_style</a></li>
+<li><a href="#set_font_style">set_font_style</a></li>
+</ul>
+</li>
+<li><a href="#Font_settings">Font settings</a>
+<ul><li><a href="#get_font_hinting">get_font_hinting</a></li>
+<li><a href="#set_font_hinting">set_font_hinting</a></li>
+<li><a href="#get_font_kerning">get_font_kerning</a></li>
+<li><a href="#set_font_kerning">set_font_kerning</a></li>
+</ul>
+</li>
+<li><a href="#Font_metrics">Font metrics</a>
+<ul><li><a href="#font_height">font_height</a></li>
+<li><a href="#font_ascent">font_ascent</a></li>
+<li><a href="#font_descent">font_descent</a></li>
+<li><a href="#font_line_skip">font_line_skip</a></li>
+</ul>
+</li>
+<li><a href="#Face_attributes">Face attributes</a>
+<ul><li><a href="#font_faces">font_faces</a></li>
+<li><a href="#font_face_is_fixed_width">font_face_is_fixed_width</a></li>
+<li><a href="#font_face_family_name">font_face_family_name</a></li>
+<li><a href="#font_face_style_name">font_face_style_name</a></li>
+</ul>
+</li>
+<li><a href="#Glyphs">Glyphs</a>
+<ul><li><a href="#glyph_is_provided">glyph_is_provided</a></li>
+<li><a href="#glyph_metrics">glyph_metrics</a></li>
+</ul>
+</li>
+<li><a href="#Text_metrics">Text metrics</a>
+<ul><li><a href="#size_text">size_text</a></li>
+<li><a href="#size_utf8">size_utf8</a></li>
+<li><a href="#size_unicode">size_unicode</a></li>
+</ul>
+</li>
+</ul>
+</li>
+<li><a href="#Font_Rendering">Font Rendering</a>
+<ul><li><a href="#render_glyph_solid">render_glyph_solid</a></li>
+<li><a href="#render_glyph_shaded">render_glyph_shaded</a></li>
+<li><a href="#render_glyph_blended">render_glyph_blended</a></li>
+<li><a href="#render_text_solid">render_text_solid</a></li>
+<li><a href="#render_text_shaded">render_text_shaded</a></li>
+<li><a href="#render_text_blended">render_text_blended</a></li>
+<li><a href="#render_utf8_solid">render_utf8_solid</a></li>
+<li><a href="#render_utf8_shaded">render_utf8_shaded</a></li>
+<li><a href="#render_utf8_blended">render_utf8_blended</a></li>
+<li><a href="#render_unicode_solid">render_unicode_solid</a></li>
+<li><a href="#render_unicode_shaded">render_unicode_shaded</a></li>
+<li><a href="#render_unicode_blended">render_unicode_blended</a></li>
+</ul>
+</li>
+</ul>
+</li>
+<li><a href="#AUTHOR">AUTHOR</a></li>
+<li><a href="#SEE_ALSO">SEE ALSO</a>
+</li>
+</ul><hr />
 <!-- INDEX END -->
 
+<h1 id="NAME">NAME</h1><p><a href="#TOP" class="toplink">Top</a></p>
+<div id="NAME_CONTENT">
+<p>SDL::TTF - True Type Font functions (libfreetype)</p>
+
+</div>
+<h1 id="CATEGORY">CATEGORY</h1><p><a href="#TOP" class="toplink">Top</a></p>
+<div id="CATEGORY_CONTENT">
+<p>TODO, TTF</p>
+
+</div>
+<h1 id="METHODS">METHODS</h1><p><a href="#TOP" class="toplink">Top</a></p>
+<div id="METHODS_CONTENT">
+
+</div>
+<h2 id="General_methods">General methods</h2>
+<div id="General_methods_CONTENT">
+
+</div>
+<h3 id="linked_version">linked_version</h3>
+<div id="linked_version_CONTENT">
+<pre> my $version = SDL::TTF::linked_version();
+
+</pre>
+<p>This gives you the SDL::Version object which SDL_ttf lib is used on the system.
+No prior initialization needs to be done before these function is called. </p>
+<p>Example:</p>
+<pre> use SDL::TTF;
+ use SDL::Version;
+
+ my $version = SDL::TTF::linked_version();
+
+ printf(&quot;got version: %d.%d.%d\n&quot;, $version-&gt;major, $version-&gt;minor, $version-&gt;patch);
+
+</pre>
+
+</div>
+<h3 id="compile_time_version">compile_time_version</h3>
+<div id="compile_time_version_CONTENT">
+<pre> my $version = SDL::TTF::compile_time_version();
+
+</pre>
+<p>This gives you the SDL::Version object which SDL_ttf was present at compile time.</p>
+
+</div>
+<h3 id="init">init</h3>
+<div id="init_CONTENT">
+<pre> my $success = SDL::TTF::init();
+
+</pre>
+<p>Initialize the truetype font API.
+This must be called before using other functions in this library, except <a href="/SDL-TTF.html#was_init">SDL::TTF::was_init</a> and <a href="/SDL-TTF.html#linked_version">SDL::TTF::linked_version</a>.
+SDL does not have to be initialized before this call.</p>
+<p>Returns: <code>0</code> on success, <code>-1</code> on any error.</p>
+
+</div>
+<h3 id="was_init">was_init</h3>
+<div id="was_init_CONTENT">
+<pre> my $was_init = SDL::TTF::was_init();
+
+</pre>
+<p>Query the initilization status of the truetype font API.
+You may, of course, use this before <a href="/SDL-TTF.html#init">SDL::TTF::init</a> to avoid initializing twice in a row. Or use this to determine if you need to call 
+<a href="/SDL-TTF.html#quit">SDL::TTF::quit</a>.</p>
+
+</div>
+<h3 id="quit">quit</h3>
+<div id="quit_CONTENT">
+<pre> SDL::TTF::quit();
+
+</pre>
+<p>Shutdown and cleanup the truetype font API.
+After calling this the SDL::TTF functions should not be used, excepting <a href="/SDL-TTF.html#was_init">SDL::TTF::was_init</a>. You may, of course, use <a href="/SDL-TTF.html#init">SDL::TTF::init</a> to 
+use the functionality again</p>
+
+</div>
+<h2 id="Management_functions">Management functions</h2>
+<div id="Management_functions_CONTENT">
+
+</div>
+<h3 id="open_font">open_font</h3>
+<div id="open_font_CONTENT">
+<pre> my $font = SDL::TTF::open_font($font_file, $point_size);
+
+</pre>
+<p>Load file for use as a font, at the given size. This is actually <code>SDL::TTF::open_font_index(..., ..., $index = 0)</code>. This can load TTF and FON files.</p>
+<p>Returns: a <a href="SDL-TTF-Font.html">SDL::TTF::Font</a> object. <code>undef</code> is returned on errors.</p>
+<p>Example:</p>
+<pre> use SDL::TTF;
+ use SDL::TTF::Font;
+
+ my $font = SDL::TTF::open_font('arial.ttf', '24);
+
+</pre>
+
+</div>
+<h3 id="open_font_index">open_font_index</h3>
+<div id="open_font_index_CONTENT">
+<pre> my $font = SDL::TTF::open_font($font_file, $point_size, $face_index);
+
+</pre>
+<p>This is the same as <a href="/SDL-TTF.html#open_font">SDL::TTF::open_font</a>, except you can specify the face index of a font file containing multiple faces. 
+This can load TTF and FON files. </p>
+
+</div>
+<h3 id="open_font_RW">open_font_RW</h3>
+<div id="open_font_RW_CONTENT">
+<pre> my $font = SDL::TTF::open_font_RW($rwops_object, $free, $point_size);
+
+</pre>
+<p>This is the same as <a href="/SDL-TTF.html#open_font">SDL::TTF::open_font</a>, except you can pass an <a href="SDL-RWOps.html">SDL::RWOps</a>-object. If you pass true as <code>$free</code>, the <a href="SDL-RWOps.html">SDL::RWOps</a>-object
+will be freed by SDL_ttf library. Don't do this, perl will free this object for you.</p>
+<p>Example:</p>
+<pre> my $font = SDL::TTF::open_font_RW(SDL::RWOps-&gt;new_file($font_file, 'r'), 0, 24);
+
+</pre>
+
+</div>
+<h3 id="open_font_index_RW">open_font_index_RW</h3>
+<div id="open_font_index_RW_CONTENT">
+<pre> my $font = SDL::TTF::open_font_index_RW($rwops_object, $free, $point_size, $face_index);
+
+</pre>
+<p>This is the same as <a href="/SDL-TTF.html#open_font_index">SDL::TTF::open_font_index</a>, except you can pass an <a href="SDL-RWOps.html">SDL::RWOps</a>-object. If you pass true as <code>$free</code>, the 
+<a href="SDL-RWOps.html">SDL::RWOps</a>-object will be freed by SDL_ttf library. Don't do this, perl will free this object for you.</p>
+
+</div>
+<h2 id="Attributes">Attributes</h2>
+<div id="Attributes_CONTENT">
+
+</div>
+<h3 id="Global_attributes">Global attributes</h3>
+<div id="Global_attributes_CONTENT">
+
+</div>
+<h4 id="byte_swapped_unicode">byte_swapped_unicode</h4>
+<div id="byte_swapped_unicode_CONTENT">
+<pre> SDL::TTF::byte_swapped_unicode( $bool );
+
+</pre>
+<p>This function tells SDL_ttf whether UNICODE (2 bytes per character) text is generally byteswapped. A <code>UNICODE_BOM_NATIVE</code> or 
+<code>UNICODE_BOM_SWAPPED</code> character in a string will temporarily override this setting for the remainder of that string, however this setting 
+will be restored for the next one. The default mode is non-swapped, native endianness of the CPU.</p>
+
+</div>
+<h3 id="Font_style">Font style</h3>
+<div id="Font_style_CONTENT">
+
+</div>
+<h4 id="get_font_style">get_font_style</h4>
+<div id="get_font_style_CONTENT">
+<pre> SDL::TTF::get_font_style($font);
+
+</pre>
+<p>Returns: The style as a bitmask composed of the following masks:</p>
+<ul>
+               <li>TTF_STYLE_NORMAL    </li>
+               <li>TTF_STYLE_BOLD      </li>
+               <li>TTF_STYLE_ITALIC    </li>
+               <li>TTF_STYLE_UNDERLINE </li>
+               <li>TTF_STYLE_STRIKETHROUGH (since SDL_ttf 2.0.10)</li>
+</ul>
+
+<p>Example:</p>
+<pre> my $style = SDL::TTF::get_font_style($font);
+
+ print(&quot;normal\n&quot;)        if $style == TTF_STYLE_NORMAL;
+ print(&quot;bold\n&quot;)          if $style  &amp; TTF_STYLE_BOLD;
+ print(&quot;italic\n&quot;)        if $style  &amp; TTF_STYLE_ITALIC;
+ print(&quot;underline\n&quot;)     if $style  &amp; TTF_STYLE_UNDERLINE;
+ print(&quot;strikethrough\n&quot;) if $style  &amp; TTF_STYLE_STRIKETHROUGH;
+
+</pre>
+
+</div>
+<h4 id="set_font_style">set_font_style</h4>
+<div id="set_font_style_CONTENT">
+<pre> SDL::TTF::set_font_style($font, $style);
+
+</pre>
+<p>Set the rendering style of the loaded font.</p>
+<p><strong>Note</strong>: <code>TTF_STYLE_UNDERLINE</code> may cause surfaces created by <code>SDL::TTF::render_glyph_*</code> functions to be extended vertically, downward only, 
+to encompass the underline if the original glyph metrics didn't allow for the underline to be drawn below. This does not change the math used 
+to place a glyph using glyph metrics.
+On the other hand <code>TTF_STYLE_STRIKETHROUGH</code> doesn't extend the glyph, since this would invalidate the metrics used to position the glyph when 
+blitting, because they would likely be extended vertically upward. There is perhaps a workaround, but it would require programs to be smarter 
+about glyph blitting math than they are currently designed for.
+Still, sometimes the underline or strikethrough may be outside of the generated surface, and thus not visible when blitted to the screen. In 
+this case, you should probably turn off these styles and draw your own strikethroughs and underlines. </p>
+
+</div>
+<h3 id="Font_settings">Font settings</h3>
+<div id="Font_settings_CONTENT">
+
+</div>
+<h4 id="get_font_hinting">get_font_hinting</h4>
+<div id="get_font_hinting_CONTENT">
+<pre> my $hinting = SDL::TTF::get_font_hinting($font);
+
+</pre>
+<p>Get the current hinting setting of the loaded font.</p>
+<p><strong>Note</strong>: at least SDL_ttf 2.0.10 needed</p>
+<p>Returns the hinting type matching one of the following defined values:</p>
+<ul>
+               <li>TTF_HINTING_NORMAL  </li>
+               <li>TTF_HINTING_LIGHT   </li>
+               <li>TTF_HINTING_MONO    </li>
+               <li>TTF_HINTING_NONE</li>
+</ul>
+
+
+</div>
+<h4 id="set_font_hinting">set_font_hinting</h4>
+<div id="set_font_hinting_CONTENT">
+<pre> SDL::TTF::set_font_hinting($font, $hinting);
+
+</pre>
+<p>Set the hinting of the loaded font. You should experiment with this setting if you know which font you are using beforehand, especially when 
+using smaller sized fonts. If the user is selecting a font, you may wish to let them select the hinting mode for that font as well.</p>
+<p><strong>Note</strong>: at least SDL_ttf 2.0.10 needed</p>
+<p>Example:</p>
+<pre> SDL::TTF::set_font_hinting($font, TTF_HINTING_LIGHT);
+
+</pre>
+
+</div>
+<h4 id="get_font_kerning">get_font_kerning</h4>
+<div id="get_font_kerning_CONTENT">
+<pre> my $kerning_enabled = SDL::TTF::get_font_kerning($font);
+
+</pre>
+<p>Get the current kerning setting of the loaded font.</p>
+<p>Returns: <code>0</code>(zero) if kerning is disabled. A non-zero value is returned when enabled. The default for a newly loaded font is enabled(<code>1</code>). </p>
+<p><strong>Note</strong>: at least SDL_ttf 2.0.10 needed</p>
+
+</div>
+<h4 id="set_font_kerning">set_font_kerning</h4>
+<div id="set_font_kerning_CONTENT">
+<pre> SDL::TTF::set_font_kerning($font, $kerning_enabled);
+
+</pre>
+<p>Set whether to use kerning when rendering the loaded font. This has no effect on individual glyphs, but rather when rendering whole strings of 
+characters, at least a word at a time. Perhaps the only time to disable this is when kerning is not working for a specific font, resulting in 
+overlapping glyphs or abnormal spacing within words.</p>
+<p>Pass <code>0</code> to disable kerning, 1 to enable.</p>
+<p><strong>Note</strong>: at least SDL_ttf 2.0.10 needed</p>
+
+</div>
+<h3 id="Font_metrics">Font metrics</h3>
+<div id="Font_metrics_CONTENT">
+
+</div>
+<h4 id="font_height">font_height</h4>
+<div id="font_height_CONTENT">
+<pre> my $font_height = SDL::TTF::font_height($font);
+
+</pre>
+
+</div>
+<h4 id="font_ascent">font_ascent</h4>
+<div id="font_ascent_CONTENT">
+<pre> my $font_ascent = SDL::TTF::font_ascent($font);
+ like( $font_ascent,                                       '/^[-]?\d+$/',       &quot;[font_ascent] offset from the baseline to the top of the font is $font_ascent&quot; );
+
+</pre>
+
+</div>
+<h4 id="font_descent">font_descent</h4>
+<div id="font_descent_CONTENT">
+<pre> my $font_descent = SDL::TTF::font_descent($font);
+ like( $font_descent,                                      '/^[-]?\d+$/',       &quot;[font_descent] offset from the baseline to the bottom of the font is $font_descent&quot; );
+
+</pre>
+
+</div>
+<h4 id="font_line_skip">font_line_skip</h4>
+<div id="font_line_skip_CONTENT">
+<pre> my $font_line_skip = SDL::TTF::font_line_skip($font);
+ like( $font_line_skip,                                    '/^[-]?\d+$/',       &quot;[font_line_skip] recommended spacing between lines of text is $font_line_skip&quot; );
+
+</pre>
+
+</div>
+<h3 id="Face_attributes">Face attributes</h3>
+<div id="Face_attributes_CONTENT">
+
+</div>
+<h4 id="font_faces">font_faces</h4>
+<div id="font_faces_CONTENT">
+<p>my $font_faces = SDL::TTF::font_faces($font);
+ok( $font_faces,                                                               &quot;[font_faces] font has $font_faces faces&quot; );</p>
+
+</div>
+<h4 id="font_face_is_fixed_width">font_face_is_fixed_width</h4>
+<div id="font_face_is_fixed_width_CONTENT">
+<p>my $font_face_is_fixed_width = SDL::TTF::font_face_is_fixed_width($font);
+like( $font_face_is_fixed_width,                          '/^[01]$/',          &quot;[font_face_is_fixed_width] is $font_face_is_fixed_width&quot; );</p>
+
+</div>
+<h4 id="font_face_family_name">font_face_family_name</h4>
+<div id="font_face_family_name_CONTENT">
+<p>my $font_face_family_name = SDL::TTF::font_face_family_name($font);
+ok( $font_face_family_name,                                                    &quot;[font_face_family_name] is $font_face_family_name&quot; );</p>
+
+</div>
+<h4 id="font_face_style_name">font_face_style_name</h4>
+<div id="font_face_style_name_CONTENT">
+<p>my $font_face_style_name = SDL::TTF::font_face_style_name($font);
+ok( $font_face_style_name,                                                     &quot;[font_face_style_name] is $font_face_style_name&quot; );</p>
+
+</div>
+<h3 id="Glyphs">Glyphs</h3>
+<div id="Glyphs_CONTENT">
+
+</div>
+<h4 id="glyph_is_provided">glyph_is_provided</h4>
+<div id="glyph_is_provided_CONTENT">
+
+</div>
+<h4 id="glyph_metrics">glyph_metrics</h4>
+<div id="glyph_metrics_CONTENT">
+<pre> my @glyph_metrics = @{ SDL::TTF::glyph_metrics($font, 'M') };
+is( scalar @glyph_metrics,                                5,                   &quot;[glyph_metrics] (minx, maxx, miny, maxy, advance) = (&quot; . join(', ', @glyph_metrics) . &quot;)&quot; );
+
+</pre>
+
+</div>
+<h3 id="Text_metrics">Text metrics</h3>
+<div id="Text_metrics_CONTENT">
+
+</div>
+<h4 id="size_text">size_text</h4>
+<div id="size_text_CONTENT">
+<pre> my ($width, $height) = @{ SDL::TTF::size_text($font, 'Hallo World!') };
+
+</pre>
+
+</div>
+<h4 id="size_utf8">size_utf8</h4>
+<div id="size_utf8_CONTENT">
+<pre> my ($width, $height) = @{ SDL::TTF::size_utf8($font, 'Hallo World!') };
+
+</pre>
+
+</div>
+<h4 id="size_unicode">size_unicode</h4>
+<div id="size_unicode_CONTENT">
+<pre> my ($width, $height) = @{ SDL::TTF::size_unicode($font, 'Hallo World!') };
+
+</pre>
+
+</div>
+<h2 id="Font_Rendering">Font Rendering</h2>
+<div id="Font_Rendering_CONTENT">
+
+</div>
+<h3 id="render_glyph_solid">render_glyph_solid</h3>
+<div id="render_glyph_solid_CONTENT">
+
+</div>
+<h3 id="render_glyph_shaded">render_glyph_shaded</h3>
+<div id="render_glyph_shaded_CONTENT">
+
+</div>
+<h3 id="render_glyph_blended">render_glyph_blended</h3>
+<div id="render_glyph_blended_CONTENT">
+
+</div>
+<h3 id="render_text_solid">render_text_solid</h3>
+<div id="render_text_solid_CONTENT">
+<p><strong>Note</strong>: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=374062</p>
+
+</div>
+<h3 id="render_text_shaded">render_text_shaded</h3>
+<div id="render_text_shaded_CONTENT">
+
+</div>
+<h3 id="render_text_blended">render_text_blended</h3>
+<div id="render_text_blended_CONTENT">
+
+</div>
+<h3 id="render_utf8_solid">render_utf8_solid</h3>
+<div id="render_utf8_solid_CONTENT">
+
+</div>
+<h3 id="render_utf8_shaded">render_utf8_shaded</h3>
+<div id="render_utf8_shaded_CONTENT">
+
+</div>
+<h3 id="render_utf8_blended">render_utf8_blended</h3>
+<div id="render_utf8_blended_CONTENT">
+
+</div>
+<h3 id="render_unicode_solid">render_unicode_solid</h3>
+<div id="render_unicode_solid_CONTENT">
+
+</div>
+<h3 id="render_unicode_shaded">render_unicode_shaded</h3>
+<div id="render_unicode_shaded_CONTENT">
+
+</div>
+<h3 id="render_unicode_blended">render_unicode_blended</h3>
+<div id="render_unicode_blended_CONTENT">
+
+</div>
+<h1 id="AUTHOR">AUTHOR</h1><p><a href="#TOP" class="toplink">Top</a></p>
+<div id="AUTHOR_CONTENT">
+<p>Tobias Leich [FROGGS]</p>
 
+</div>
+<h1 id="SEE_ALSO">SEE ALSO</h1><p><a href="#TOP" class="toplink">Top</a></p>
+<div id="SEE_ALSO_CONTENT">
+<p><a href="SDL-TTF-Font.html">SDL::TTF::Font</a>, <a href="http://search.cpan.org/perldoc?Unicode::String">Unicode::String</a>, <a href="SDL-Video.html">SDL::Video</a>, <a href="SDL-Surface.html">SDL::Surface</a></p>
 
+</div>
 </div>
\ No newline at end of file
index 62f29f6..c09dc7b 100644 (file)
@@ -47,7 +47,7 @@
 </div>
 <h1 id="DESCRIPTION">DESCRIPTION</h1><p><a href="#TOP" class="toplink">Top</a></p>
 <div id="DESCRIPTION_CONTENT">
-<p><a href="SDL-Font">SDL::TTFont</a> is a module for applying true type fonts to <a href="SDL-Surface">SDL::Surface</a>.</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>
@@ -176,7 +176,7 @@ for &quot;ae&quot; will not always match the width for &quot;a&quot; + &quot;e&q
 </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 <a href="SDL-Surface">SDL::Surface</a> 
+<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>
@@ -193,7 +193,7 @@ 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><a href="http://search.cpan.org/perldoc?perl">perl</a>, <a href="SDL">SDL</a>, <a href="SDL-Surface">SDL::Surface</a>
+<p><a href="http://search.cpan.org/perldoc?perl">perl</a>, <a href="SDL.html">SDL</a>, <a href="SDL-Surface.html">SDL::Surface</a>
 </p>
 
 </div>
index 529f6fb..0934d05 100644 (file)
@@ -21,7 +21,7 @@
 </div>
 <h1 id="DESCRIPTION">DESCRIPTION</h1><p><a href="#TOP" class="toplink">Top</a></p>
 <div id="DESCRIPTION_CONTENT">
-<p><a href="SDL-Tool-Font">SDL::Tool::Font</a> 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>
@@ -42,7 +42,7 @@ with the upper left hand corner starting at the specified coordinates.</p>
 </div>
 <h1 id="SEE_ALSO">SEE ALSO</h1><p><a href="#TOP" class="toplink">Top</a></p>
 <div id="SEE_ALSO_CONTENT">
-<p><a href="http://search.cpan.org/perldoc?perl">perl</a> <a href="SDL-Font">SDL::Font</a> <a href="SDL-Font">SDL::TTFont</a> <a href="SDL-Surface">SDL::Surface</a></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
index fa3e057..8f81125 100644 (file)
@@ -31,7 +31,7 @@
 </div>
 <h1 id="DESCRIPTION">DESCRIPTION</h1><p><a href="#TOP" class="toplink">Top</a></p>
 <div id="DESCRIPTION_CONTENT">
-<p><a href="SDL-Tool-Graphic">SDL::Tool::Graphic</a> is a module for zooming and rotating <a href="SDL-Surface">SDL::Surface</a> 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 <a href="SDL-Surface">SDL::Surface</a> 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 <a href="SDL-Surface">SDL::Surface</a>.</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 <a href="SDL-Surface">SDL::Surface</a>.</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>
@@ -69,7 +69,7 @@
 </div>
 <h1 id="SEE_ALSO">SEE ALSO</h1><p><a href="#TOP" class="toplink">Top</a></p>
 <div id="SEE_ALSO_CONTENT">
-<p><a href="http://search.cpan.org/perldoc?perl">perl</a> <a href="SDL-Surface">SDL::Surface</a></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
index 2fa2c2a..a9da727 100644 (file)
@@ -59,8 +59,8 @@ frame and saving and restoring the background for every object drawn.</p>
 <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 <a href="SDL-App">SDL::App</a> object <code>$app</code>, a <a href="SDL-Rect">SDL::Rect</a> <code>$rect</code>, and
-a <a href="SDL-Color">SDL::Color</a> <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>
@@ -155,11 +155,11 @@ them soon.</p>
 <h1 id="SEE_ALSO">SEE ALSO</h1><p><a href="#TOP" class="toplink">Top</a></p>
 <div id="SEE_ALSO_CONTENT">
 <dl>
-       <dt><a href="SDL-Tutorial-Drawing">SDL::Tutorial::Drawing</a></dt>
+       <dt><a href="SDL-Tutorial-Drawing.html">SDL::Tutorial::Drawing</a></dt>
        <dd>
                <p>basic drawing with SDL Perl</p>
        </dd>
-       <dt><a href="SDL-Tutorial-Images">SDL::Tutorial::Images</a></dt>
+       <dt><a href="SDL-Tutorial-Images.html">SDL::Tutorial::Images</a></dt>
        <dd>
                <p>animating images</p>
        </dd>
index cda90aa..c639db8 100644 (file)
@@ -55,9 +55,9 @@ need to draw the alternate image beforehand somehow.</p>
 </div>
 <h2 id="Loading_Images">Loading Images</h2>
 <div id="Loading_Images_CONTENT">
-<p>As usual, start with an <a href="SDL-App">SDL::App</a> 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
-<a href="SDL-Surface">SDL::Surface</a> constructor:</p>
+<a href="SDL-Surface.html">SDL::Surface</a> constructor:</p>
 <p>&nbsp;</p>
 <pre>  use SDL::Surface;
 
@@ -100,7 +100,7 @@ though.  Assuming <code>$app</code> is the SDL::App object, as usual:</p>
 
 </pre>
 <p>&nbsp;</p>
-<p>Here we have two <a href="SDL-Rect">SDL::Rect</a> 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>
@@ -199,11 +199,11 @@ smoothly.  More on that next time.</p>
 <h1 id="SEE_ALSO">SEE ALSO</h1><p><a href="#TOP" class="toplink">Top</a></p>
 <div id="SEE_ALSO_CONTENT">
 <dl>
-       <dt><a href="SDL-Tutorial">SDL::Tutorial</a></dt>
+       <dt><a href="SDL-Tutorial.html">SDL::Tutorial</a></dt>
        <dd>
                <p>basic SDL tutorial</p>
        </dd>
-       <dt><a href="SDL-Tutorial-Animation">SDL::Tutorial::Animation</a></dt>
+       <dt><a href="SDL-Tutorial-Animation.html">SDL::Tutorial::Animation</a></dt>
        <dd>
                <p>non-image animation</p>
        </dd>
index eb61d93..718320d 100644 (file)
@@ -60,7 +60,7 @@
 
 </pre>
 <p>&nbsp;</p>
-<p>That creates a new <a href="SDL-Game-Rect">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>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>&lt;screen</i>&gt;?</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 <a href="SDL-Event">SDL::Event</a> 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>&nbsp;</p>
 <pre>  use SDL::Event;
   my $event = SDL::Event-&gt;new;
index 0f33a14..afaa46f 100644 (file)
@@ -53,7 +53,7 @@ though.  Here's how to get up and running as quickly as possible.</p>
 <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
-<a href="SDL-App">SDL::App</a> 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
@@ -95,8 +95,8 @@ surface.  That's a bit more complicated, but see the <code>-name</code> paramete
 <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 <a href="SDL-Surface">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">SDL::Rect</a> 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>  &quot;blitting&quot; is copying a chunk of memory from one place to another.</p>
@@ -106,15 +106,15 @@ them there, then <code>update</code> the <code>$app</code>.</p>
 <h1 id="SEE_ALSO">SEE ALSO</h1><p><a href="#TOP" class="toplink">Top</a></p>
 <div id="SEE_ALSO_CONTENT">
 <dl>
-       <dt><a href="SDL-Tutorial-Drawing">SDL::Tutorial::Drawing</a></dt>
+       <dt><a href="SDL-Tutorial-Drawing.html">SDL::Tutorial::Drawing</a></dt>
        <dd>
                <p>basic drawing with rectangles</p>
        </dd>
-       <dt><a href="SDL-Tutorial-Animation">SDL::Tutorial::Animation</a></dt>
+       <dt><a href="SDL-Tutorial-Animation.html">SDL::Tutorial::Animation</a></dt>
        <dd>
                <p>basic rectangle animation</p>
        </dd>
-       <dt><a href="SDL-Tutorial-Images">SDL::Tutorial::Images</a></dt>
+       <dt><a href="SDL-Tutorial-Images.html">SDL::Tutorial::Images</a></dt>
        <dd>
                <p>image loading and animation</p>
        </dd>
index 041c083..c1c0c36 100644 (file)
 <pre> my $surface = SDL::Video::get_video_surface();
 
 </pre>
-<p>This function returns the current display <a href="SDL-Surface">SDL::Surface</a>. If SDL is doing format conversion on the display surface, this 
+<p>This function returns the current display <a href="SDL-Surface.html">SDL::Surface</a>. If SDL is doing format conversion on the display surface, this 
 function returns the publicly visible surface, not the real video surface.</p>
 <p>Example:</p>
 <pre> # somewhere after you set the video mode
@@ -151,7 +151,7 @@ function returns the publicly visible surface, not the real video surface.</p>
 <pre> my $video_info = SDL::Video::get_video_info();
 
 </pre>
-<p>This function returns a read-only <a href="SDL-VideoInfo">SDL::VideoInfo</a> containing information about the video hardware. If it is called before 
+<p>This function returns a read-only <a href="SDL-VideoInfo.html">SDL::VideoInfo</a> containing information about the video hardware. If it is called before 
 <a href="#set_video_mode">SDL::Video::set_video_mode</a>, the <code>vfmt</code> member of the returned structure will contain the pixel 
 format of the <strong>best</strong> video mode. </p>
 <p>Example:</p>
@@ -262,7 +262,7 @@ It returns <code>0</code> if the mode is not supported at all, otherwise the sug
 
 </pre>
 <p>Sets up a video mode with the specified width, height, bits-per-pixel and flags. 
-<code>set_video_mode</code> returns a <a href="SDL-Surface">SDL::Surface</a> on success otherwise it returns undef on error, the error message is retrieved 
+<code>set_video_mode</code> returns a <a href="SDL-Surface.html">SDL::Surface</a> on success otherwise it returns undef on error, the error message is retrieved 
 using <code>SDL::get_error</code>.</p>
 
 </div>
@@ -349,12 +349,12 @@ each call to <a href="#set_video_mode">SDL::Video::set_video_mode</a>, for examp
 <pre> $converted_surface = SDL::Video::convert_surface( $surface, $format, $flags );
 
 </pre>
-<p>Creates a new SDL::surface of the specified <a href="SDL-PixelFormat">SDL::PixelFormat</a>, and then copies and maps the given surface to it. 
+<p>Creates a new SDL::surface of the specified <a href="SDL-PixelFormat.html">SDL::PixelFormat</a>, and then copies and maps the given surface to it. 
 It is also useful for making a copy of a surface.</p>
-<p>The flags parameter is passed to <a href="SDL-Surface">SDL::Surface</a><code>-&gt;new</code> and has those semantics.
+<p>The flags parameter is passed to <a href="SDL-Surface.html">SDL::Surface</a><code>-&gt;new</code> and has those semantics.
 This function is used internally by <a href="#display_format">SDL::Video::display_format</a>.
 This function can only be called after <code>SDL::init</code>. </p>
-<p>it returns a <a href="SDL-Surface">SDL::Surface</a> on success or <code>undef</code> on error.</p>
+<p>it returns a <a href="SDL-Surface.html">SDL::Surface</a> on success or <code>undef</code> on error.</p>
 
 </div>
 <h2 id="display_format">display_format</h2>
@@ -391,8 +391,8 @@ segfault.</p>
 <pre> $surface = SDL::Video::load_BMP( $filename );
 
 </pre>
-<p>Loads a <a href="SDL-Surface">SDL::Surface</a> from a named Windows BMP file.
-<code>SDL::Video::load_BMP</code> returns a <a href="SDL-Surface">SDL::Surface</a> on success or <code>undef</code> on error.</p>
+<p>Loads a <a href="SDL-Surface.html">SDL::Surface</a> from a named Windows BMP file.
+<code>SDL::Video::load_BMP</code> returns a <a href="SDL-Surface.html">SDL::Surface</a> on success or <code>undef</code> on error.</p>
 <p><strong>Note</strong>: When loading a 24-bit Windows BMP file, pixel data points are loaded as blue, green, red, and NOT red, green, blue (as one might expect). </p>
 <pre> use SDL;
  use SDL::Video;
@@ -429,7 +429,7 @@ segfault.</p>
 <pre> $saved_BMP = SDL::Video::save_BMP( $surface, $filename );
 
 </pre>
-<p>Saves the given <a href="SDL-Surface">SDL::Surface</a> as a Windows BMP file named filename. 
+<p>Saves the given <a href="SDL-Surface.html">SDL::Surface</a> as a Windows BMP file named filename. 
 it returns 0 on success or -1 on error.</p>
 
 </div>
@@ -520,7 +520,7 @@ two arbitrary RGBA surfaces this way and get the result you would expect from &q
 <pre> $fill_rect = SDL::Video::fill_rect( $dest, $dest_rect, $pixel );
 
 </pre>
-<p>This function performs a fast fill of the given <a href="SDL-Rect">SDL::Rect</a> with the given <a href="SDL-PixelFormat">SDL::PixelFormat</a>. If dest_rect is NULL, the whole surface 
+<p>This function performs a fast fill of the given <a href="SDL-Rect.html">SDL::Rect</a> with the given <a href="SDL-PixelFormat.html">SDL::PixelFormat</a>. If dest_rect is NULL, the whole surface 
 will be filled with color.</p>
 <p>The color should be a pixel of the format used by the surface, and can be generated by the <a href="#map_RGB">SDL::Video::map_RGB</a> or 
 <code>SDL::Video::map_RGBA|/map_RGBA</code> functions. If the color value contains an alpha value then the destination is simply &quot;filled&quot; with that 
@@ -543,7 +543,7 @@ surface to see the result. This can happen if you are using a shadowed surface t
 <pre> int SDL::Video::lock_surface( $surface );
 
 </pre>
-<p><code>SDL::Video::lock_surface</code> sets up the given <a href="SDL-Surface">SDL::Surface</a> for directly accessing the pixels.
+<p><code>SDL::Video::lock_surface</code> sets up the given <a href="SDL-Surface.html">SDL::Surface</a> for directly accessing the pixels.
 Between calls to SDL::lock_surface and SDL::unlock_surface, you can write to ( <code>surface-</code>set_pixels&gt;) and read from ( <code>surface-</code>get_pixels&gt; ), 
 using the pixel format stored in <code>surface-</code>format&gt;. 
 Once you are done accessing the surface, you should use <a href="#unlock_surface">SDL::Video::unlock_surface</a> to release the lock.</p>
@@ -660,7 +660,7 @@ Surfaces should be unlocked as soon as possible.
 <pre> SDL::Video::set_clip_rect( $surface, $rect );
 
 </pre>
-<p>Sets the clipping rectangle for the given <a href="SDL-Surface">SDL::Surface</a>. When this surface is the destination of a blit, only the area within the clip 
+<p>Sets the clipping rectangle for the given <a href="SDL-Surface.html">SDL::Surface</a>. When this surface is the destination of a blit, only the area within the clip 
 rectangle will be drawn into.
 The rectangle pointed to by rect will be clipped to the edges of the surface so that the clip rectangle for a surface can never fall 
 outside the edges of the surface.
@@ -673,7 +673,7 @@ If rect is NULL the clipping rectangle will be set to the full size of the surfa
 <pre> SDL::Video::get_clip_rect( $surface, $rect );
 
 </pre>
-<p>Gets the clipping rectangle for the given <a href="SDL-Surface">SDL::Surface</a>. When this surface is the destination of a blit, only the area within the clip 
+<p>Gets the clipping rectangle for the given <a href="SDL-Surface.html">SDL::Surface</a>. When this surface is the destination of a blit, only the area within the clip 
 rectangle is drawn into.
 The rectangle pointed to by rect will be filled with the clipping rectangle of the surface. 
 <code>SDL::Video::get_clip_rect</code> doesn't returns anything;</p>
@@ -705,7 +705,7 @@ The rectangle pointed to by rect will be filled with the clipping rectangle of t
 <pre> SDL::Video::blit_surface( $src_surface, $src_rect, $dest_surface, $dest_rect );
 
 </pre>
-<p>This performs a fast blit from the given source <a href="SDL-Surface">SDL::Surface</a> to the given destination <a href="SDL-Surface">SDL::Surface</a>.
+<p>This performs a fast blit from the given source <a href="SDL-Surface.html">SDL::Surface</a> to the given destination <a href="SDL-Surface.html">SDL::Surface</a>.
 The width and height in <code>src_surface</code> determine the size of the copied rectangle. Only the position is used in the <code>dst_rect</code> 
 (the width and height are ignored). Blits with negative <code>dst_rect</code> coordinates will be clipped properly.
 If <code>src_rect</code> is NULL, the entire surface is copied. If <code>dst_rect</code> is NULL, then the destination position (upper left corner) is (0, 0).
@@ -833,7 +833,7 @@ instead. </p>
 <p>When surface is the surface associated with the current display, the display colormap will be updated with the requested colors. 
 If <code>SDL_HWPALETTE</code> was set in <a href="#set_video_mode">SDL::Video::set_video_mode</a> flags, <code>SDL::Video::set_colors</code> will always return 1, and the 
 palette is guaranteed to be set the way you desire, even if the window colormap has to be warped or run under emulation.
-The color components of a <a href="SDL-Color">SDL::Color</a> structure are 8-bits in size, giving you a total of 2563 = 16777216 colors.
+The color components of a <a href="SDL-Color.html">SDL::Color</a> structure are 8-bits in size, giving you a total of 2563 = 16777216 colors.
 Palettized (8-bit) screen surfaces with the <code>SDL_HWPALETTE</code> flag have two palettes, a logical palette that is used for mapping blits to/from 
 the surface and a physical palette (that determines how the hardware will map the colors to the display). 
 <code>SDL::Video::set_colors</code> modifies both palettes (if present), and is equivalent to calling <a href="#set_palette">SDL::Video::set_palette</a> with the 
@@ -1007,11 +1007,11 @@ with <a href="#set_gamma">SDL::Video::set_gamma</a>.</p>
 <pre> $pixel = SDL::Video::map_RGB( $pixel_format, $r, $g, $b );
 
 </pre>
-<p>Maps the RGB color value to the specified <a href="SDL-PixelFormat">SDL::PixelFormat</a> and returns the pixel value as a 32-bit int.
+<p>Maps the RGB color value to the specified <a href="SDL-PixelFormat.html">SDL::PixelFormat</a> and returns the pixel value as a 32-bit int.
 If the format has a palette (8-bit) the index of the closest matching color in the palette will be returned.
 If the specified pixel format has an alpha component it will be returned as all 1 bits (fully opaque). </p>
 <p><code>SDL::Video::map_RGB</code> returns a pixel value best approximating the given RGB color value for a given pixel format.
-If the <a href="SDL-PixelFormat">SDL::PixelFormat</a>'s  bpp (color depth) is less than 32-bpp then the unused upper bits of the return value can safely be ignored 
+If the <a href="SDL-PixelFormat.html">SDL::PixelFormat</a>'s  bpp (color depth) is less than 32-bpp then the unused upper bits of the return value can safely be ignored 
 (e.g., with a 16-bpp format the return value can be assigned to a Uint16, and similarly a Uint8 for an 8-bpp format).</p>
 <pre> use SDL;
  use SDL::Video;
@@ -1049,7 +1049,7 @@ If the <a href="SDL-PixelFormat">SDL::PixelFormat</a>'s  bpp (color depth) is le
 <pre> $pixel = SDL::Video::map_RGB( $pixel_format, $r, $g, $b, $a );
 
 </pre>
-<p>Maps the RGBA color value to the specified <a href="SDL-PixelFormat">SDL::PixelFormat</a> and returns the pixel value as a 32-bit int.
+<p>Maps the RGBA color value to the specified <a href="SDL-PixelFormat.html">SDL::PixelFormat</a> and returns the pixel value as a 32-bit int.
 If the format has a palette (8-bit) the index of the closest matching color in the palette will be returned.
 If the specified pixel format has no alpha component the alpha value will be ignored (as it will be in formats with a palette). </p>
 <p>A pixel value best approximating the given RGBA color value for a given pixel format.
@@ -1186,7 +1186,7 @@ or disabled using the <code>SDL_GL_DOUBLEBUFFER</code> attribute. </p>
 </div>
 <h1 id="Video_Overlay_Functions">Video Overlay Functions</h1><p><a href="#TOP" class="toplink">Top</a></p>
 <div id="Video_Overlay_Functions_CONTENT">
-<p>see <a href="SDL-Overlay">SDL::Overlay</a> </p>
+<p>see <a href="SDL-Overlay.html">SDL::Overlay</a> </p>
 
 </div>
 <h2 id="lock_YUV_overlay">lock_YUV_overlay</h2>
@@ -1212,7 +1212,7 @@ can be displayed. <code>unlock_YUV_overlay</code> does not return anything.</p>
 <pre> $display_overlay = SDL::Video::display_YUV_overlay( $overlay, $dstrect );
 
 </pre>
-<p>Blit the overlay to the display surface specified when the overlay was created. The <a href="SDL-Rect">SDL::Rect</a> structure, <code>dstrect</code>, specifies a rectangle 
+<p>Blit the overlay to the display surface specified when the overlay was created. The <a href="SDL-Rect.html">SDL::Rect</a> structure, <code>dstrect</code>, specifies a rectangle 
 on the display where the overlay is drawn. The <code>x</code> and <code>y</code> fields of <code>dstrect</code> specify the upper left location in display coordinates. 
 The overlay is scaled (independently in x and y dimensions) to the size specified by dstrect, and is <code>optimized</code> for 2x scaling</p>
 <p>It returns <code>0</code> on success or <code>-1</code> on error.</p>
@@ -1282,7 +1282,7 @@ bar or desktop when the window is minimized). As with title this string may be f
 
 </pre>
 <p>Sets the icon for the display window. Win32 icons must be 32x32.</p>
-<p>This function must be called before the first call to <a href="#set_video_mode">SDL::Video::set_video_mode</a>. Note that this means <a href="SDL-Image">SDL::Image</a> 
+<p>This function must be called before the first call to <a href="#set_video_mode">SDL::Video::set_video_mode</a>. Note that this means <a href="SDL-Image.html">SDL::Image</a> 
 cannot be used.</p>
 <p>The shape is determined by the colorkey or alpha channel of the icon, if any. If neither of those are present, the icon is made opaque 
 (no transparency).</p>
@@ -1326,7 +1326,7 @@ and not interpreted by a window manager, if any.</p>
 
 </pre>
 <p>If the application is running in a window managed environment SDL attempts to iconify/minimise it. If <code>wm_iconify_window</code> is successful, 
-the application will receive a <code>SDL_APPACTIVE</code> loss event (see Application visibility events at <a href="SDL-Event">SDL::Event</a>).</p>
+the application will receive a <code>SDL_APPACTIVE</code> loss event (see Application visibility events at <a href="SDL-Event.html">SDL::Event</a>).</p>
 <p>Returns non-zero on success or 0 if iconification is not supported or was refused by the window manager. </p>
 <p>Example:</p>
 <pre> use SDL;
@@ -1368,9 +1368,9 @@ is experimental).</p>
 </div>
 <h2 id="Category_Objects">Category Objects</h2>
 <div id="Category_Objects_CONTENT">
-<p><a href="SDL-Surface">SDL::Surface</a>, <a href="SDL-Overlay">SDL::Overlay</a>, <a href="SDL-Color">SDL::Color</a>,
-<a href="SDL-Rect">SDL::Rect</a>, <a href="SDL-Palette">SDL::Palette</a>, <a href="SDL-PixelFormat">SDL::PixelFormat</a>, 
-<a href="SDL-VideoInfo">SDL::VideoInfo</a></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
index dd4981f..c8ba508 100644 (file)
 </div>
 <h1 id="SEE_ALSO">SEE ALSO</h1><p><a href="#TOP" class="toplink">Top</a></p>
 <div id="SEE_ALSO_CONTENT">
-<p><a href="SDL-Video">SDL::Video</a>, <a href="SDL-PixelFormat">SDL::PixelFormat</a></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
index d777799..afe8efe 100644 (file)
@@ -1,2 +1,2 @@
 <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><tr><td><img src="assets/bubble-5-mini.png" alt="thumb" /></td><td><a href="SDL-Time.html">SDL::Time</a></td><td>- a SDL perl extension for managing timers.</td></tr></table><table style="margin-left: 30px; margin-top: 5px"><tr><td colspan="3"><strong style="font-size: 14px">Audio</strong></td></tr><tr><td><img src="assets/bubble-2-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: 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-4-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-5-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-3-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-3-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: 30px; margin-top: 5px"><tr><td colspan="3"><strong style="font-size: 14px">Mouse</strong></td></tr><tr><td><img src="assets/bubble-1-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">Structure</strong></td></tr><tr><td><img src="assets/bubble-2-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/Video_thumb.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-3-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-4-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-6-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-2-mini.png" alt="thumb" /></td><td><a href="SDL-Surface.html">SDL::Surface</a></td><td>- Graphic surface structure.</td></tr><tr><td><img src="assets/bubble-3-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-7-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-5-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">GFX</strong></td></tr><tr><td><img src="assets/bubble-7-mini.png" alt="thumb" /></td><td><a href="SDL-GFX-Framerate.html">SDL::GFX::Framerate</a></td><td>- framerate calculating functions</td></tr><tr><td><img src="assets/bubble-6-mini.png" alt="thumb" /></td><td><a href="SDL-GFX-Primitives.html">SDL::GFX::Primitives</a></td><td>- basic drawing functions</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-2-mini.png" alt="thumb" /></td><td><a href="SDL-GFX-FPSManager.html">SDL::GFX::FPSManager</a></td><td>- data structure used by SDL::GFX::Framerate</td></tr></table><br /><table style="margin-left: 0px; margin-top: 5px"><tr><td colspan="3"><strong style="font-size: 14px">Image</strong></td></tr><tr><td><img src="assets/bubble-1-mini.png" alt="thumb" /></td><td><a href="SDL-Image.html">SDL::Image</a></td><td>- Bindings for the SDL_Image library</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-7-mini.png" alt="thumb" /></td><td><a href="SDL-Mixer.html">SDL::Mixer</a></td><td>- Sound and music functions</td></tr><tr><td><img src="assets/bubble-3-mini.png" alt="thumb" /></td><td><a href="SDL-Mixer-Channels.html">SDL::Mixer::Channels</a></td><td>- SDL::Mixer channel functions and bindings</td></tr><tr><td><img src="assets/bubble-3-mini.png" alt="thumb" /></td><td><a href="SDL-Mixer-Effects.html">SDL::Mixer::Effects</a></td><td>- sound effect functions</td></tr><tr><td><img src="assets/bubble-6-mini.png" alt="thumb" /></td><td><a href="SDL-Mixer-Groups.html">SDL::Mixer::Groups</a></td><td>- Audio channel group functions</td></tr><tr><td><img src="assets/bubble-4-mini.png" alt="thumb" /></td><td><a href="SDL-Mixer-Music.html">SDL::Mixer::Music</a></td><td>- functions for music</td></tr><tr><td><img src="assets/bubble-1-mini.png" alt="thumb" /></td><td><a href="SDL-Mixer-Samples.html">SDL::Mixer::Samples</a></td><td>- functions for loading sound samples</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-Mixer-MixChunk.html">SDL::Mixer::MixChunk</a></td><td>- SDL Bindings for structure SDL_MixChunk</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 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">MultiThread</strong></td></tr><tr><td><img src="assets/bubble-7-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: 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><table style="margin-left: 30px; margin-top: 5px"><tr><td colspan="3"><strong style="font-size: 14px">GFX</strong></td></tr><tr><td><img src="assets/bubble-2-mini.png" alt="thumb" /></td><td><a href="SDL-GFX-BlitFunc.html">SDL::GFX::BlitFunc</a></td><td>- blitting functions</td></tr><tr><td><img src="assets/bubble-2-mini.png" alt="thumb" /></td><td><a href="SDL-GFX-ImageFilter.html">SDL::GFX::ImageFilter</a></td><td>- image filtering functions</td></tr><tr><td><img src="assets/bubble-2-mini.png" alt="thumb" /></td><td><a href="SDL-GFX-Rotozoom.html">SDL::GFX::Rotozoom</a></td><td>- rotation and zooming functions for surfaces</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-6-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-3-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-6-mini.png" alt="thumb" /></td><td><a href="SDL-Tutorial-Pong.html">SDL::Tutorial::Pong</a></td><td>- Get started pong</td></tr><tr><td><img src="assets/bubble-4-mini.png" alt="thumb" /></td><td><a href="SDL-Tutorial-Tetris.html">SDL::Tutorial::Tetris</a></td><td>- Let's Make Tetris</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-3-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-3-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-7-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-1-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-6-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-5-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-4-mini.png" alt="thumb" /></td><td><a href="SDL-TTF.html">SDL::TTF</a></td><td></td></tr><tr><td><img src="assets/bubble-3-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-3-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-5-mini.png" alt="thumb" /></td><td><a href="SDL-Tool-Graphic.html">SDL::Tool::Graphic</a></td><td></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><tr><td><img src="assets/bubble-1-mini.png" alt="thumb" /></td><td><a href="SDL-Time.html">SDL::Time</a></td><td>- a SDL perl extension for managing timers.</td></tr></table><table style="margin-left: 30px; margin-top: 5px"><tr><td colspan="3"><strong style="font-size: 14px">Audio</strong></td></tr><tr><td><img src="assets/bubble-4-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: 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-AudioCVT.html">SDL::AudioCVT</a></td><td>- Audio Conversion Structure</td></tr><tr><td><img src="assets/bubble-2-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-3-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-1-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-7-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-4-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: 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-7-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">Structure</strong></td></tr><tr><td><img src="assets/bubble-5-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/Video_thumb.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-2-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-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-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-4-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-4-mini.png" alt="thumb" /></td><td><a href="SDL-Surface.html">SDL::Surface</a></td><td>- Graphic surface structure.</td></tr><tr><td><img src="assets/bubble-1-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-4-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">GFX</strong></td></tr><tr><td><img src="assets/bubble-7-mini.png" alt="thumb" /></td><td><a href="SDL-GFX-Framerate.html">SDL::GFX::Framerate</a></td><td>- framerate calculating functions</td></tr><tr><td><img src="assets/bubble-2-mini.png" alt="thumb" /></td><td><a href="SDL-GFX-Primitives.html">SDL::GFX::Primitives</a></td><td>- basic drawing functions</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-GFX-FPSManager.html">SDL::GFX::FPSManager</a></td><td>- data structure used by SDL::GFX::Framerate</td></tr></table><br /><table style="margin-left: 0px; margin-top: 5px"><tr><td colspan="3"><strong style="font-size: 14px">Image</strong></td></tr><tr><td><img src="assets/bubble-6-mini.png" alt="thumb" /></td><td><a href="SDL-Image.html">SDL::Image</a></td><td>- Bindings for the SDL_Image library</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>- Sound and music functions</td></tr><tr><td><img src="assets/bubble-7-mini.png" alt="thumb" /></td><td><a href="SDL-Mixer-Channels.html">SDL::Mixer::Channels</a></td><td>- SDL::Mixer channel functions and bindings</td></tr><tr><td><img src="assets/bubble-5-mini.png" alt="thumb" /></td><td><a href="SDL-Mixer-Effects.html">SDL::Mixer::Effects</a></td><td>- sound effect functions</td></tr><tr><td><img src="assets/bubble-6-mini.png" alt="thumb" /></td><td><a href="SDL-Mixer-Groups.html">SDL::Mixer::Groups</a></td><td>- Audio channel group functions</td></tr><tr><td><img src="assets/bubble-4-mini.png" alt="thumb" /></td><td><a href="SDL-Mixer-Music.html">SDL::Mixer::Music</a></td><td>- functions for music</td></tr><tr><td><img src="assets/bubble-3-mini.png" alt="thumb" /></td><td><a href="SDL-Mixer-Samples.html">SDL::Mixer::Samples</a></td><td>- functions for loading sound samples</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-5-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><tr><td><img src="assets/bubble-7-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 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">MultiThread</strong></td></tr><tr><td><img src="assets/bubble-5-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: 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-RWOps.html">SDL::RWOps</a></td><td>- SDL Bindings to SDL_RWOPs</td></tr></table><table style="margin-left: 30px; margin-top: 5px"><tr><td colspan="3"><strong style="font-size: 14px">GFX</strong></td></tr><tr><td><img src="assets/bubble-1-mini.png" alt="thumb" /></td><td><a href="SDL-GFX-BlitFunc.html">SDL::GFX::BlitFunc</a></td><td>- blitting functions</td></tr><tr><td><img src="assets/bubble-3-mini.png" alt="thumb" /></td><td><a href="SDL-GFX-ImageFilter.html">SDL::GFX::ImageFilter</a></td><td>- image filtering functions</td></tr><tr><td><img src="assets/bubble-1-mini.png" alt="thumb" /></td><td><a href="SDL-GFX-Rotozoom.html">SDL::GFX::Rotozoom</a></td><td>- rotation and zooming functions for surfaces</td></tr></table><table style="margin-left: 30px; margin-top: 5px"><tr><td colspan="3"><strong style="font-size: 14px">TTF</strong></td></tr><tr><td><img src="assets/bubble-5-mini.png" alt="thumb" /></td><td><a href="SDL-TTF.html">SDL::TTF</a></td><td>- True Type Font functions (libfreetype)</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-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-2-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-7-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>- Get started pong</td></tr><tr><td><img src="assets/bubble-4-mini.png" alt="thumb" /></td><td><a href="SDL-Tutorial-Tetris.html">SDL::Tutorial::Tetris</a></td><td>- Let's Make Tetris</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-1-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-5-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-5-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-1-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-6-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-4-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-7-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-7-mini.png" alt="thumb" /></td><td><a href="SDL-Tool-Graphic.html">SDL::Tool::Graphic</a></td><td></td></tr></table></div>
index c1a67f4..d45d28d 100644 (file)
@@ -184,8 +184,9 @@ sub node
                
                if($page =~ /^SDL\b/)
                {
-                       $page =~ s/::([A-Z])+/-$1/g;
+                       $page =~ s/::([A-Z]+)/-$1/g;
                        $page =~ s/(.*)::(.*)/\/$1.html#$2/;
+                       $page .= '.html' unless $page =~ /\.html/;
                        
                        return $page;
                }