Anonymous avatar Anonymous committed 790be23

documentation boost

Comments (0)

Files changed (50)

      Nov 14, 2000
 	Release the Python Global Interpreter Lock on delays and IO
 	Added timer events to pygame.time (vgrade example demonstrates)
-	Event module documentation expanded
+	Documentation reorganized, 1st tutorial added
 
      Nov 11, 2000
 	BUG: pygame.display.set_mode() uses int, not short, for size

docs/CD.html

-<html>
-<title>CD</title>
-<body bgcolor=#dddddd text=#333377 link=#7777bb vlink=#7777bb>
-
-<table border=0 width=100% cellpadding=0 cellspacing=0 bgcolor=#f5f5f5><tr valign=top>
-<td rowspan=2><table border=0 cellpadding=5 cellspacing=0 bgcolor=#333377>
-<tr height=86 align=left><td valign=middle><font color=#ffffff size=+5>
-	<a href=../><font size=+5 color=#ffffff><i><b>
-      pygame</b></i></font></a>&nbsp;&nbsp;</td>
-<td valign=middle><tt><font color=#dddddd><br>
-	PyGame<br>Documentation</font>
-</td></tr></table></td><td width=100% align=center valign=middle>
-
-	||&nbsp;
-	<a href=../>Home</a> &nbsp;||&nbsp;
-	<a href=index.html>Help Contents</a> &nbsp;||
-	<br>&nbsp;<br>
-
-|| <a href=CD.html>CD</a> || 
-<a href=Channel.html>Channel</a> || 
-<a href=Font.html>Font</a> || 
-<a href=Joystick.html>Joystick</a> || 
-<a href=Rect.html>Rect</a> ||<br>
-|| <a href=pygame.html>pygame</a> || 
-<a href=pygame_cdrom.html>cdrom</a> || 
-<a href=pygame_constants.html>constants</a> || 
-<a href=pygame_display.html>display</a> || 
-<a href=pygame_event.html>event</a> ||<br>
-|| <a href=pygame_joystick.html>joystick</a> || 
-<a href=pygame_key.html>key</a> || 
-<a href=pygame_mixer.html>mixer</a> || 
-<a href=pygame_mouse.html>mouse</a> || 
-<a href=pygame_music.html>music</a> ||<br>
-
-
-</td></tr></table>
-<br>
-<h2 align=center>CD</h2>
-thin wrapper around the SDL CDROM api, likely to
-change
-
-<hr>
-
-<table>
-<tr><td><a href=#eject>eject</a></td><td> -
-ejects cdrom drive</td></tr>
-
-
-<tr><td><a href=#get_cur_frame>get_cur_frame</a></td><td> -
-query current frame</td></tr>
-
-
-<tr><td><a href=#get_cur_track>get_cur_track</a></td><td> -
-query current track</td></tr>
-
-
-<tr><td><a href=#get_empty>get_empty</a></td><td> -
-query status of drive</td></tr>
-
-
-<tr><td><a href=#get_status>get_status</a></td><td> -
-query drive status</td></tr>
-
-
-<tr><td><a href=#pause>pause</a></td><td> -
-pause playing cdrom</td></tr>
-
-
-<tr><td><a href=#play>play</a></td><td> -
-play music from cdrom</td></tr>
-
-
-<tr><td><a href=#play_tracks>play_tracks</a></td><td> -
-play music from cdrom</td></tr>
-
-
-<tr><td><a href=#resume>resume</a></td><td> -
-resume paused cdrom</td></tr>
-
-
-<tr><td><a href=#stop>stop</a></td><td> -
-stops playing cdrom</td></tr>
-
-
-</table>
-
-<hr>
-
-<a name=eject><font size=+2><b>eject
-</b></font><br><font size=+1><tt>
-CD.eject() -> int
-</tt></font><ul>
-Ejects the media from the CDROM drive.
-</ul><br>&nbsp;<br>
-
-<a name=get_cur_frame><font size=+2><b>get_cur_frame
-</b></font><br><font size=+1><tt>
-CD.get_cur_frame() -> int
-</tt></font><ul>
-Get the current frame of a playing CD.
-</ul><br>&nbsp;<br>
-
-<a name=get_cur_track><font size=+2><b>get_cur_track
-</b></font><br><font size=+1><tt>
-CD.get_cur_track() -> int
-</tt></font><ul>
-Get the current track of a playing CD.
-</ul><br>&nbsp;<br>
-
-<a name=get_empty><font size=+2><b>get_empty
-</b></font><br><font size=+1><tt>
-CD.get_empty() -> bool
-</tt></font><ul>
-Returns true when there is no disk in the CD
-drive.
-</ul><br>&nbsp;<br>
-
-<a name=get_status><font size=+2><b>get_status
-</b></font><br><font size=+1><tt>
-CD.get_status() -> int
-</tt></font><ul>
-Get the status of the CDROM drive.
-</ul><br>&nbsp;<br>
-
-<a name=pause><font size=+2><b>pause
-</b></font><br><font size=+1><tt>
-CD.pause() -> int
-</tt></font><ul>
-Pauses the playing CD.
-</ul><br>&nbsp;<br>
-
-<a name=play><font size=+2><b>play
-</b></font><br><font size=+1><tt>
-CD.play(start_frame, nframes) -> int
-</tt></font><ul>
-Start playing from start_frame, for nframes. If
-nframes is 0, it will play until the end of the
-cdrom
-</ul><br>&nbsp;<br>
-
-<a name=play_tracks><font size=+2><b>play_tracks
-</b></font><br><font size=+1><tt>
-CD.play_tracks(start_track, start_frame, ntracks, nframes) -> int
-</tt></font><ul>
-Start playing from start_track, for ntracks and
-nframes. If ntracks and nframes are 0, it will
-play until the end of the cdrom
-</ul><br>&nbsp;<br>
-
-<a name=resume><font size=+2><b>resume
-</b></font><br><font size=+1><tt>
-CD.resume() -> int
-</tt></font><ul>
-Resumes playback of a paused CD.
-</ul><br>&nbsp;<br>
-
-<a name=stop><font size=+2><b>stop
-</b></font><br><font size=+1><tt>
-CD.stop() -> int
-</tt></font><ul>
-Stops the playing CD.
-</ul><br>&nbsp;<br>
-
-
-<hr>
-
-</body></html>

docs/Channel.html

-<html>
-<title>Channel</title>
-<body bgcolor=#dddddd text=#333377 link=#7777bb vlink=#7777bb>
-
-<table border=0 width=100% cellpadding=0 cellspacing=0 bgcolor=#f5f5f5><tr valign=top>
-<td rowspan=2><table border=0 cellpadding=5 cellspacing=0 bgcolor=#333377>
-<tr height=86 align=left><td valign=middle><font color=#ffffff size=+5>
-	<a href=../><font size=+5 color=#ffffff><i><b>
-      pygame</b></i></font></a>&nbsp;&nbsp;</td>
-<td valign=middle><tt><font color=#dddddd><br>
-	PyGame<br>Documentation</font>
-</td></tr></table></td><td width=100% align=center valign=middle>
-
-	||&nbsp;
-	<a href=../>Home</a> &nbsp;||&nbsp;
-	<a href=index.html>Help Contents</a> &nbsp;||
-	<br>&nbsp;<br>
-
-|| <a href=CD.html>CD</a> || 
-<a href=Channel.html>Channel</a> || 
-<a href=Font.html>Font</a> || 
-<a href=Joystick.html>Joystick</a> || 
-<a href=Rect.html>Rect</a> ||<br>
-|| <a href=pygame.html>pygame</a> || 
-<a href=pygame_cdrom.html>cdrom</a> || 
-<a href=pygame_constants.html>constants</a> || 
-<a href=pygame_display.html>display</a> || 
-<a href=pygame_event.html>event</a> ||<br>
-|| <a href=pygame_joystick.html>joystick</a> || 
-<a href=pygame_key.html>key</a> || 
-<a href=pygame_mixer.html>mixer</a> || 
-<a href=pygame_mouse.html>mouse</a> || 
-<a href=pygame_music.html>music</a> ||<br>
-
-
-</td></tr></table>
-<br>
-<h2 align=center>Channel</h2>
-Channel objects represent a single channel of sound. Each channel
-can only playback one Sound object at a time. If your application
-only requires simply sound playback, you will usually not need to
-bother with the Channel objects, they exist for finer playback
-control.
-<br>&nbsp;<br>
-Sound objects can be retrieved from the pygame.mixer module with
-functions like pygame.mixer.get_channel() and
-pygame.mixer.find_channel(). Also, each time you call
-Sound.play() a Channel object will be returned, representing the
-channel that sound is playing on.
-
-<hr>
-
-<table>
-<tr><td><a href=#fadeout>fadeout</a></td><td> -
-fade out the channel</td></tr>
-
-
-<tr><td><a href=#get_busy>get_busy</a></td><td> -
-query state of the channel</td></tr>
-
-
-<tr><td><a href=#get_volume>get_volume</a></td><td> -
-query the volume for the</td></tr>
-
-
-<tr><td><a href=#pause>pause</a></td><td> -
-temporarily stop the channel</td></tr>
-
-
-<tr><td><a href=#play>play</a></td><td> -
-play a sound on this channel</td></tr>
-
-
-<tr><td><a href=#set_volume>set_volume</a></td><td> -
-set volume for channel</td></tr>
-
-
-<tr><td><a href=#stop>stop</a></td><td> -
-stop playing on the channel</td></tr>
-
-
-<tr><td><a href=#unpause>unpause</a></td><td> -
-restart a paused channel</td></tr>
-
-
-</table>
-
-<hr>
-
-<a name=fadeout><font size=+2><b>fadeout
-</b></font><br><font size=+1><tt>
-Channel.fadeout(millisec) -> None
-</tt></font><ul>
-Fade out the playing sound and stops it over the
-given millisonds.
-</ul><br>&nbsp;<br>
-
-<a name=get_busy><font size=+2><b>get_busy
-</b></font><br><font size=+1><tt>
-Channel.get_busy() -> bool
-</tt></font><ul>
-Returns true when there is a sound actively playing on this
-channel.
-</ul><br>&nbsp;<br>
-
-<a name=get_volume><font size=+2><b>get_volume
-</b></font><br><font size=+1><tt>
-Channel.get_volume() -> val
-</tt></font><ul>
-Returns the current volume for this sound object. The value is
-between 0.0 and 1.0.
-</ul><br>&nbsp;<br>
-
-<a name=pause><font size=+2><b>pause
-</b></font><br><font size=+1><tt>
-Channel.pause() -> None
-</tt></font><ul>
-Stops the sound that is playing on this channel,
-but it can be resumed with a call to <a href=#unpause>unpause()</a>
-</ul><br>&nbsp;<br>
-
-<a name=play><font size=+2><b>play
-</b></font><br><font size=+1><tt>
-Channel.play(Sound, [loops, [maxtime]]) -> None
-</tt></font><ul>
-Starts playing a given sound on this channel. If the channels is
-currently playing a different sound, it will be
-replaced/restarted with the given sound. Loops controls how many
-extra times the sound will play, a negative loop will play
-indefinitely, it defaults to 0. Maxtime is the number of
-totalmilliseconds that the sound will play. It defaults to
-forever (-1).
-</ul><br>&nbsp;<br>
-
-<a name=set_volume><font size=+2><b>set_volume
-</b></font><br><font size=+1><tt>
-Channel.set_volume(val) -> None
-</tt></font><ul>
-Sets the volume for the channel. The channel's volume level is
-mixed with the volume for the active sound object. The value is
-between 0.0 and 1.0.
-</ul><br>&nbsp;<br>
-
-<a name=stop><font size=+2><b>stop
-</b></font><br><font size=+1><tt>
-Channel.stop() -> None
-</tt></font><ul>
-Stops the sound that is playing on this channel.
-</ul><br>&nbsp;<br>
-
-<a name=unpause><font size=+2><b>unpause
-</b></font><br><font size=+1><tt>
-Channel.unpause() -> None
-</tt></font><ul>
-Restarts a paused channel where it was paused.
-</ul><br>&nbsp;<br>
-
-
-<hr>
-
-</body></html>

docs/Font.html

-<html>
-<title>Font</title>
-<body bgcolor=#dddddd text=#333377 link=#7777bb vlink=#7777bb>
-
-<table border=0 width=100% cellpadding=0 cellspacing=0 bgcolor=#f5f5f5><tr valign=top>
-<td rowspan=2><table border=0 cellpadding=5 cellspacing=0 bgcolor=#333377>
-<tr height=86 align=left><td valign=middle><font color=#ffffff size=+5>
-	<a href=../><font size=+5 color=#ffffff><i><b>
-      pygame</b></i></font></a>&nbsp;&nbsp;</td>
-<td valign=middle><tt><font color=#dddddd><br>
-	PyGame<br>Documentation</font>
-</td></tr></table></td><td width=100% align=center valign=middle>
-
-	||&nbsp;
-	<a href=../>Home</a> &nbsp;||&nbsp;
-	<a href=index.html>Help Contents</a> &nbsp;||
-	<br>&nbsp;<br>
-
-|| <a href=CD.html>CD</a> || 
-<a href=Channel.html>Channel</a> || 
-<a href=Font.html>Font</a> || 
-<a href=Joystick.html>Joystick</a> || 
-<a href=Rect.html>Rect</a> ||<br>
-|| <a href=pygame.html>pygame</a> || 
-<a href=pygame_cdrom.html>cdrom</a> || 
-<a href=pygame_constants.html>constants</a> || 
-<a href=pygame_display.html>display</a> || 
-<a href=pygame_event.html>event</a> ||<br>
-|| <a href=pygame_joystick.html>joystick</a> || 
-<a href=pygame_key.html>key</a> || 
-<a href=pygame_mixer.html>mixer</a> || 
-<a href=pygame_mouse.html>mouse</a> || 
-<a href=pygame_music.html>music</a> ||<br>
-
-
-</td></tr></table>
-<br>
-<h2 align=center>Font</h2>
-The font object is created only from pygame.font.font(). Once a
-font is created it's size and TTF file cannot be changed. The
-Font objects are mainly used to render() text into a new Surface.
-The Font objects also have a few states that can be set with
-set_underline(bool), set_bold(bool), set_italic(bool). Each of
-these functions contains an equivalent get_XXX() routine to find
-the current state. There are also many routines to query the
-dimensions of the text. The rendering functions work with both
-normal python strings, as well as with unicode strings.
-
-<hr>
-
-<table>
-<tr><td><a href=#get_ascent>get_ascent</a></td><td> -
-gets the font ascent</td></tr>
-
-
-<tr><td><a href=#get_bold>get_bold</a></td><td> -
-status of the bold attribute</td></tr>
-
-
-<tr><td><a href=#get_bold>get_bold</a></td><td> -
-status of the italic attribute</td></tr>
-
-
-<tr><td><a href=#get_descent>get_descent</a></td><td> -
-gets the font descent</td></tr>
-
-
-<tr><td><a href=#get_height>get_height</a></td><td> -
-average height of font glyph</td></tr>
-
-
-<tr><td><a href=#get_linesize>get_linesize</a></td><td> -
-gets the font recommended linesize</td></tr>
-
-
-<tr><td><a href=#get_underline>get_underline</a></td><td> -
-status of the underline attribute</td></tr>
-
-
-<tr><td><a href=#render>render</a></td><td> -
-render text to a new image</td></tr>
-
-
-<tr><td><a href=#set_bold>set_bold</a></td><td> -
-assign the bold attribute</td></tr>
-
-
-<tr><td><a href=#set_italic>set_italic</a></td><td> -
-assign the italic attribute</td></tr>
-
-
-<tr><td><a href=#set_underline>set_underline</a></td><td> -
-assign the underline attribute</td></tr>
-
-
-<tr><td><a href=#size>size</a></td><td> -
-size of rendered text</td></tr>
-
-
-</table>
-
-<hr>
-
-<a name=get_ascent><font size=+2><b>get_ascent
-</b></font><br><font size=+1><tt>
-Font.get_ascent() -> int
-</tt></font><ul>
-Returns the ascent for the font. The ascent is the number of
-pixels from the font baseline to the top of the font.
-</ul><br>&nbsp;<br>
-
-<a name=get_bold><font size=+2><b>get_bold
-</b></font><br><font size=+1><tt>
-Font.get_bold() -> bool
-</tt></font><ul>
-Get the current status of the font's bold attribute
-</ul><br>&nbsp;<br>
-
-<a name=get_bold><font size=+2><b>get_bold
-</b></font><br><font size=+1><tt>
-Font.get_bold() -> bool
-</tt></font><ul>
-Get the current status of the font's italic attribute
-</ul><br>&nbsp;<br>
-
-<a name=get_descent><font size=+2><b>get_descent
-</b></font><br><font size=+1><tt>
-Font.get_descent() -> int
-</tt></font><ul>
-Returns the descent for the font. The descent is the number of
-pixels from the font baseline to the bottom of the font.
-</ul><br>&nbsp;<br>
-
-<a name=get_height><font size=+2><b>get_height
-</b></font><br><font size=+1><tt>
-Font.get_height() -> int
-</tt></font><ul>
-Returns the average size of each glyph in the font.
-</ul><br>&nbsp;<br>
-
-<a name=get_linesize><font size=+2><b>get_linesize
-</b></font><br><font size=+1><tt>
-Font.get_linesize() -> int
-</tt></font><ul>
-Returns the linesize for the font. Each font comes with it's own
-recommendation for the spacing number of pixels between each line
-of the font.
-</ul><br>&nbsp;<br>
-
-<a name=get_underline><font size=+2><b>get_underline
-</b></font><br><font size=+1><tt>
-Font.get_underline() -> bool
-</tt></font><ul>
-Get the current status of the font's underline attribute
-</ul><br>&nbsp;<br>
-
-<a name=render><font size=+2><b>render
-</b></font><br><font size=+1><tt>
-Font.render(text, antialias, fgcolor, [bgcolor]) -> Surface
-</tt></font><ul>
-Render the given text onto a new image surface. The given text
-can be standard python text or unicode. Antialiasing will smooth
-the edges of the font for a much cleaner look. The foreground
-color is a 3-number-sequence containing the desired RGB
-components for the text. The background color is also a
-3-number-sequence of RGB. This sets the background color for the
-text. If the background color is omitted, the text will have a
-transparent background.
-</ul><br>&nbsp;<br>
-
-<a name=set_bold><font size=+2><b>set_bold
-</b></font><br><font size=+1><tt>
-Font.set_bold(bool) -> None
-</tt></font><ul>
-Enables or disables the bold attribute for the font. Making the
-font bold does not work as well as you expect.
-</ul><br>&nbsp;<br>
-
-<a name=set_italic><font size=+2><b>set_italic
-</b></font><br><font size=+1><tt>
-Font.set_italic(bool) -> None
-</tt></font><ul>
-Enables or disables the italic attribute for the font.
-</ul><br>&nbsp;<br>
-
-<a name=set_underline><font size=+2><b>set_underline
-</b></font><br><font size=+1><tt>
-Font.set_underline(bool) -> None
-</tt></font><ul>
-Enables or disables the underline attribute for the font.
-</ul><br>&nbsp;<br>
-
-<a name=size><font size=+2><b>size
-</b></font><br><font size=+1><tt>
-Font.size(text) -> width, height
-</tt></font><ul>
-Computes the rendered size of the given text. The text can be
-standard python text or unicode. Changing the bold and italic
-attributes can change the size of the rendered text.
-</ul><br>&nbsp;<br>
-
-
-<hr>
-
-</body></html>

docs/Joystick.html

-<html>
-<title>Joystick</title>
-<body bgcolor=#dddddd text=#333377 link=#7777bb vlink=#7777bb>
-
-<table border=0 width=100% cellpadding=0 cellspacing=0 bgcolor=#f5f5f5><tr valign=top>
-<td rowspan=2><table border=0 cellpadding=5 cellspacing=0 bgcolor=#333377>
-<tr height=86 align=left><td valign=middle><font color=#ffffff size=+5>
-	<a href=../><font size=+5 color=#ffffff><i><b>
-      pygame</b></i></font></a>&nbsp;&nbsp;</td>
-<td valign=middle><tt><font color=#dddddd><br>
-	PyGame<br>Documentation</font>
-</td></tr></table></td><td width=100% align=center valign=middle>
-
-	||&nbsp;
-	<a href=../>Home</a> &nbsp;||&nbsp;
-	<a href=index.html>Help Contents</a> &nbsp;||
-	<br>&nbsp;<br>
-
-|| <a href=CD.html>CD</a> || 
-<a href=Channel.html>Channel</a> || 
-<a href=Font.html>Font</a> || 
-<a href=Joystick.html>Joystick</a> || 
-<a href=Rect.html>Rect</a> ||<br>
-|| <a href=pygame.html>pygame</a> || 
-<a href=pygame_cdrom.html>cdrom</a> || 
-<a href=pygame_constants.html>constants</a> || 
-<a href=pygame_display.html>display</a> || 
-<a href=pygame_event.html>event</a> ||<br>
-|| <a href=pygame_joystick.html>joystick</a> || 
-<a href=pygame_key.html>key</a> || 
-<a href=pygame_mixer.html>mixer</a> || 
-<a href=pygame_mouse.html>mouse</a> || 
-<a href=pygame_music.html>music</a> ||<br>
-
-
-</td></tr></table>
-<br>
-<h2 align=center>Joystick</h2>
-Thin object wrapper around the SDL joystick
-interface. Likely to be changed.
-
-<hr>
-
-<table>
-<tr><td><a href=#get_axes>get_axes</a></td><td> -
-query number of axis</td></tr>
-
-
-<tr><td><a href=#get_axis>get_axis</a></td><td> -
-query axis of a joystick</td></tr>
-
-
-<tr><td><a href=#get_balls>get_balls</a></td><td> -
-query number of balls</td></tr>
-
-
-<tr><td><a href=#get_button>get_button</a></td><td> -
-query state of button</td></tr>
-
-
-<tr><td><a href=#get_buttons>get_buttons</a></td><td> -
-query number of buttons</td></tr>
-
-
-<tr><td><a href=#get_hat>get_hat</a></td><td> -
-query position of hat</td></tr>
-
-
-<tr><td><a href=#get_hats>get_hats</a></td><td> -
-query number of hats</td></tr>
-
-
-<tr><td><a href=#get_id>get_id</a></td><td> -
-query id of joystick</td></tr>
-
-
-</table>
-
-<hr>
-
-<a name=get_axes><font size=+2><b>get_axes
-</b></font><br><font size=+1><tt>
-Joystick.get_axes() -> count
-</tt></font><ul>
-Returns the number of axis on this Joystick
-</ul><br>&nbsp;<br>
-
-<a name=get_axis><font size=+2><b>get_axis
-</b></font><br><font size=+1><tt>
-Joystick.get_axis(axis) -> position
-</tt></font><ul>
-Returns the current position of an axis control on
-the Joystick. Value is in the range -1.0 to 1.0.
-</ul><br>&nbsp;<br>
-
-<a name=get_balls><font size=+2><b>get_balls
-</b></font><br><font size=+1><tt>
-Joystick.get_balls() -> count
-</tt></font><ul>
-Returns number of trackballs on this Joystick
-</ul><br>&nbsp;<br>
-
-<a name=get_button><font size=+2><b>get_button
-</b></font><br><font size=+1><tt>
-Joystick.get_button(button) -> bool
-</tt></font><ul>
-Returns true if the given Joystick button is being
-pressed.
-</ul><br>&nbsp;<br>
-
-<a name=get_buttons><font size=+2><b>get_buttons
-</b></font><br><font size=+1><tt>
-Joystick.get_buttons() -> count
-</tt></font><ul>
-Returns number of pushable buttons on this
-Joystick
-</ul><br>&nbsp;<br>
-
-<a name=get_hat><font size=+2><b>get_hat
-</b></font><br><font size=+1><tt>
-Joystick.get_hat(pov_hat) -> state
-</tt></font><ul>
-Returns the current position of a directional hat
-on the Joystick. Value in a position on the
-following compass. (think 1 is up, and goes around
-clockwise)
-8 1 2
-7 0 3
-6 5 4
-</ul><br>&nbsp;<br>
-
-<a name=get_hats><font size=+2><b>get_hats
-</b></font><br><font size=+1><tt>
-Joystick.get_hats() -> count
-</tt></font><ul>
-Returns number of directional hats on this
-Joystick
-</ul><br>&nbsp;<br>
-
-<a name=get_id><font size=+2><b>get_id
-</b></font><br><font size=+1><tt>
-Joystick.get_id() -> id
-</tt></font><ul>
-Returns the joystick id number for the Joystick
-</ul><br>&nbsp;<br>
-
-
-<hr>
-
-</body></html>

docs/Rect.html

-<html>
-<title>Rect</title>
-<body bgcolor=#dddddd text=#333377 link=#7777bb vlink=#7777bb>
-
-<table border=0 width=100% cellpadding=0 cellspacing=0 bgcolor=#f5f5f5><tr valign=top>
-<td rowspan=2><table border=0 cellpadding=5 cellspacing=0 bgcolor=#333377>
-<tr height=86 align=left><td valign=middle><font color=#ffffff size=+5>
-	<a href=../><font size=+5 color=#ffffff><i><b>
-      pygame</b></i></font></a>&nbsp;&nbsp;</td>
-<td valign=middle><tt><font color=#dddddd><br>
-	PyGame<br>Documentation</font>
-</td></tr></table></td><td width=100% align=center valign=middle>
-
-	||&nbsp;
-	<a href=../>Home</a> &nbsp;||&nbsp;
-	<a href=index.html>Help Contents</a> &nbsp;||
-	<br>&nbsp;<br>
-
-|| <a href=CD.html>CD</a> || 
-<a href=Channel.html>Channel</a> || 
-<a href=Font.html>Font</a> || 
-<a href=Joystick.html>Joystick</a> || 
-<a href=Rect.html>Rect</a> ||<br>
-|| <a href=pygame.html>pygame</a> || 
-<a href=pygame_cdrom.html>cdrom</a> || 
-<a href=pygame_constants.html>constants</a> || 
-<a href=pygame_display.html>display</a> || 
-<a href=pygame_event.html>event</a> ||<br>
-|| <a href=pygame_joystick.html>joystick</a> || 
-<a href=pygame_key.html>key</a> || 
-<a href=pygame_mixer.html>mixer</a> || 
-<a href=pygame_mouse.html>mouse</a> || 
-<a href=pygame_music.html>music</a> ||<br>
-
-
-</td></tr></table>
-<br>
-<h2 align=center>Rect</h2>
-The rectangle object is a useful object
-representing a rectangle area. It contains many
-helpful methods, as well as a list of modifiable
-members:
-top, bottom, left, right, topleft, topright,
-bottomleft, bottomright, size, width, height,
-center, centerx, centery. When changing these
-members, the rectangle will be moved to given
-assignment. (except when changing the size, width,
-or height member, which will resize the rectangle
-around the center).
-<br>&nbsp;<br>
-The rectstyle arguments used frequently with the
-Rect object (and elsewhere in PyGame) is one of
-the following things. First, an actual Rect
-object. Second, a sequence of [xpos, ypos, width,
-height]. Lastly, a pair of sequences, representing
-the position and size [[xpos, ypos], [width,
-height]]. Also, if a method takes a rectstyle
-argument as its only argument, you can simply pass
-four arguments representing xpos, ypos, width,
-height.
-
-<hr>
-
-<table>
-<tr><td><a href=#clamp>clamp</a></td><td> -
-move rectangle inside another</td></tr>
-
-
-<tr><td><a href=#clip>clip</a></td><td> -
-rectangle cropped inside another</td></tr>
-
-
-<tr><td><a href=#collidepoint>collidepoint</a></td><td> -
-point inside rectangle</td></tr>
-
-
-<tr><td><a href=#colliderect>colliderect</a></td><td> -
-check overlapping rectangles</td></tr>
-
-
-<tr><td><a href=#colliderect>colliderect</a></td><td> -
-find overlapping rectangle</td></tr>
-
-
-<tr><td><a href=#colliderectall>colliderectall</a></td><td> -
-find all overlapping rectangles</td></tr>
-
-
-<tr><td><a href=#contains>contains</a></td><td> -
-check if rectangle fully inside another</td></tr>
-
-
-<tr><td><a href=#inflate>inflate</a></td><td> -
-new rectangle with size changed</td></tr>
-
-
-<tr><td><a href=#move>move</a></td><td> -
-new rectangle with position changed</td></tr>
-
-
-<tr><td><a href=#normalize>normalize</a></td><td> -
-corrects negative sizes</td></tr>
-
-
-<tr><td><a href=#union>union</a></td><td> -
-rectangle covering both input</td></tr>
-
-
-</table>
-
-<hr>
-
-<a name=clamp><font size=+2><b>clamp
-</b></font><br><font size=+1><tt>
-Rect.clamp(rectstyle) -> Rect
-</tt></font><ul>
-Returns a new rectangle that is moved to be
-completely inside the base rectangle. If the given
-rectangle is too large for the base rectangle in
-an axis, it will be centered on that axis.
-</ul><br>&nbsp;<br>
-
-<a name=clip><font size=+2><b>clip
-</b></font><br><font size=+1><tt>
-Rect.clip(rectstyle) -> Rect
-</tt></font><ul>
-Returns a new rectangle that is the given
-rectangle cropped to the inside of the base
-rectangle. If the two rectangles do not overlap to
-begin with, you will get a rectangle with 0 size.
-</ul><br>&nbsp;<br>
-
-<a name=collidepoint><font size=+2><b>collidepoint
-</b></font><br><font size=+1><tt>
-Rect.collidepoint(x, y) -> bool
-</tt></font><ul>
-Returns true if the given point position is inside
-the rectangle. If a point is on the border, it is
-counted as inside.
-</ul><br>&nbsp;<br>
-
-<a name=colliderect><font size=+2><b>colliderect
-</b></font><br><font size=+1><tt>
-Rect.colliderect(rectstyle) -> bool
-</tt></font><ul>
-Returns true if any area of the two rectangles
-overlaps. If rectangles only share an edge, they
-will be counted as overlapping.
-</ul><br>&nbsp;<br>
-
-<a name=colliderect><font size=+2><b>colliderect
-</b></font><br><font size=+1><tt>
-Rect.colliderect(rectstyle list) -> int index
-</tt></font><ul>
-Returns the index of the first rectangle in the
-list to overlap the base rectangle. Once an
-overlap is found, this will stop checking the
-remaining list. If no overlap is found, it will
-return -1.
-</ul><br>&nbsp;<br>
-
-<a name=colliderectall><font size=+2><b>colliderectall
-</b></font><br><font size=+1><tt>
-Rect.colliderectall(rectstyle list) -> int index
-</tt></font><ul>
-Returns a list of the indexes that contain
-rectangles overlapping the base rectangle. If no
-overlap is found, it will return an empty
-sequence.
-</ul><br>&nbsp;<br>
-
-<a name=contains><font size=+2><b>contains
-</b></font><br><font size=+1><tt>
-Rect.contains(rectstyle) -> bool
-</tt></font><ul>
-Returns true when the given rectangle is entirely
-inside the base rectangle.
-</ul><br>&nbsp;<br>
-
-<a name=inflate><font size=+2><b>inflate
-</b></font><br><font size=+1><tt>
-Rect.inflate(x, y) -> Rect
-</tt></font><ul>
-Returns a new rectangle which has the sizes
-changed by the given amounts. The rectangle
-shrinks and expands around the rectangle's center.
-Negative values will shrink the rectangle.
-</ul><br>&nbsp;<br>
-
-<a name=move><font size=+2><b>move
-</b></font><br><font size=+1><tt>
-Rect.move(x, y) -> Rect
-</tt></font><ul>
-Returns a new rectangle which is the base
-rectangle moved by the given amount.
-</ul><br>&nbsp;<br>
-
-<a name=normalize><font size=+2><b>normalize
-</b></font><br><font size=+1><tt>
-Rect.normalize() -> None
-</tt></font><ul>
-If the rectangle has a a negative size in width or
-height, this will flip that axis so the sizes are
-positive, and the rectangle remains in the same
-place.
-</ul><br>&nbsp;<br>
-
-<a name=union><font size=+2><b>union
-</b></font><br><font size=+1><tt>
-Rect.union(rectstyle) -> Rect
-</tt></font><ul>
-Returns a new rectangle that completely covers the
-given inputs. There may be area inside the new
-rectangle that is not covered by the inputs.
-</ul><br>&nbsp;<br>
-
-
-<hr>
-
-</body></html>

docs/Sound.html

-<html>
-<title>Sound</title>
-<body bgcolor=#dddddd text=#333377 link=#7777bb vlink=#7777bb>
-
-<table border=0 width=100% cellpadding=0 cellspacing=0 bgcolor=#f5f5f5><tr valign=top>
-<td rowspan=2><table border=0 cellpadding=5 cellspacing=0 bgcolor=#333377>
-<tr height=86 align=left><td valign=middle><font color=#ffffff size=+5>
-	<a href=../><font size=+5 color=#ffffff><i><b>
-      pygame</b></i></font></a>&nbsp;&nbsp;</td>
-<td valign=middle><tt><font color=#dddddd><br>
-	PyGame<br>Documentation</font>
-</td></tr></table></td><td width=100% align=center valign=middle>
-
-	||&nbsp;
-	<a href=../>Home</a> &nbsp;||&nbsp;
-	<a href=index.html>Help Contents</a> &nbsp;||
-	<br>&nbsp;<br>
-
-|| <a href=CD.html>CD</a> || 
-<a href=Channel.html>Channel</a> || 
-<a href=Font.html>Font</a> || 
-<a href=Joystick.html>Joystick</a> || 
-<a href=Rect.html>Rect</a> ||<br>
-|| <a href=pygame.html>pygame</a> || 
-<a href=pygame_cdrom.html>cdrom</a> || 
-<a href=pygame_constants.html>constants</a> || 
-<a href=pygame_display.html>display</a> || 
-<a href=pygame_event.html>event</a> ||<br>
-|| <a href=pygame_joystick.html>joystick</a> || 
-<a href=pygame_key.html>key</a> || 
-<a href=pygame_mixer.html>mixer</a> || 
-<a href=pygame_mouse.html>mouse</a> || 
-<a href=pygame_music.html>music</a> ||<br>
-
-
-</td></tr></table>
-<br>
-<h2 align=center>Sound</h2>
-Sound objects represent actual sound data. Sound objects are
-created from the function pygame.mixer.load(). Sound objects can
-be playing on multiple channels simultaneously. Calling functions
-like Sound.stop() from the sound objects will effect all channels
-playing that Sound object.
-<br>&nbsp;<br>
-All sound objects have the same frequency and format as the
-pygame.mixer module's initialization.
-
-<hr>
-
-<table>
-<tr><td><a href=#fadeout>fadeout</a></td><td> -
-fadeout all channels playing this sound</td></tr>
-
-
-<tr><td><a href=#get_num_channels>get_num_channels</a></td><td> -
-number of channels with sound</td></tr>
-
-
-<tr><td><a href=#get_volume>get_volume</a></td><td> -
-query volume for sound</td></tr>
-
-
-<tr><td><a href=#play>play</a></td><td> -
-play sound</td></tr>
-
-
-<tr><td><a href=#set_volume>set_volume</a></td><td> -
-change volume for sound</td></tr>
-
-
-<tr><td><a href=#stop>stop</a></td><td> -
-stop all channels playing this sound</td></tr>
-
-
-</table>
-
-<hr>
-
-<a name=fadeout><font size=+2><b>fadeout
-</b></font><br><font size=+1><tt>
-Sound.fadeout(millisec) -> None
-</tt></font><ul>
-Fade out all the playing channels playing this sound over the.
-All channels playing this sound will be stopped after the given
-milliseconds.
-</ul><br>&nbsp;<br>
-
-<a name=get_num_channels><font size=+2><b>get_num_channels
-</b></font><br><font size=+1><tt>
-Sound.get_num_channels() -> int
-</tt></font><ul>
-Returns the number of channels that have been using this sound.
-The channels may have already finished, but have not started
-playing any other sounds.
-</ul><br>&nbsp;<br>
-
-<a name=get_volume><font size=+2><b>get_volume
-</b></font><br><font size=+1><tt>
-Sound.get_volume() -> val
-</tt></font><ul>
-Returns the current volume for this sound object. The value is
-0.0 to 1.0.
-</ul><br>&nbsp;<br>
-
-<a name=play><font size=+2><b>play
-</b></font><br><font size=+1><tt>
-Sound.play([loops, [maxtime]]) -> Channel
-</tt></font><ul>
-Starts playing a song on an available channel. If no channels are
-available, it will not play and return None. Loops controls how
-many extra times the sound will play, a negative loop will play
-indefinitely, it defaults to 0. Maxtime is the number of total
-milliseconds that the sound will play. It defaults to forever
-(-1).
-<br>&nbsp;<br>
-Returns a channel object for the channel that is selected to play
-the sound.
-</ul><br>&nbsp;<br>
-
-<a name=set_volume><font size=+2><b>set_volume
-</b></font><br><font size=+1><tt>
-Sound.set_volume(val) -> None
-</tt></font><ul>
-Set the play volume for this sound. This will effect any channels
-currently playing this sound, along with all subsequent calls to
-play. The value is 0.0 to 1.0.
-</ul><br>&nbsp;<br>
-
-<a name=stop><font size=+2><b>stop
-</b></font><br><font size=+1><tt>
-Sound.stop() -> None
-</tt></font><ul>
-This will instantly stop all channels playing this sound.
-</ul><br>&nbsp;<br>
-
-
-<hr>
-
-</body></html>

docs/Surface.html

-<html>
-<title>Surface</title>
-<body bgcolor=#dddddd text=#333377 link=#7777bb vlink=#7777bb>
-
-<table border=0 width=100% cellpadding=0 cellspacing=0 bgcolor=#f5f5f5><tr valign=top>
-<td rowspan=2><table border=0 cellpadding=5 cellspacing=0 bgcolor=#333377>
-<tr height=86 align=left><td valign=middle><font color=#ffffff size=+5>
-	<a href=../><font size=+5 color=#ffffff><i><b>
-      pygame</b></i></font></a>&nbsp;&nbsp;</td>
-<td valign=middle><tt><font color=#dddddd><br>
-	PyGame<br>Documentation</font>
-</td></tr></table></td><td width=100% align=center valign=middle>
-
-	||&nbsp;
-	<a href=../>Home</a> &nbsp;||&nbsp;
-	<a href=index.html>Help Contents</a> &nbsp;||
-	<br>&nbsp;<br>
-
-|| <a href=CD.html>CD</a> || 
-<a href=Channel.html>Channel</a> || 
-<a href=Font.html>Font</a> || 
-<a href=Joystick.html>Joystick</a> || 
-<a href=Rect.html>Rect</a> ||<br>
-|| <a href=pygame.html>pygame</a> || 
-<a href=pygame_cdrom.html>cdrom</a> || 
-<a href=pygame_constants.html>constants</a> || 
-<a href=pygame_display.html>display</a> || 
-<a href=pygame_event.html>event</a> ||<br>
-|| <a href=pygame_joystick.html>joystick</a> || 
-<a href=pygame_key.html>key</a> || 
-<a href=pygame_mixer.html>mixer</a> || 
-<a href=pygame_mouse.html>mouse</a> || 
-<a href=pygame_music.html>music</a> ||<br>
-
-
-</td></tr></table>
-<br>
-<h2 align=center>Surface</h2>
-Surface objects represent a simple memory buffer of pixels.
-Surface objects can reside in system memory, or in special
-hardware memory, which can be hardware accelerated. Surfaces that
-are 8 bits per pixel use a colormap to represent their color
-values. All Surfaces with higher bits per pixel use a packed
-pixels to store their color values.
-<br>&nbsp;<br>
-Surfaces can have many extra attributes like alpha planes,
-colorkeys, source rectangle clipping. These functions mainly
-effect how the Surface is blitted to other Surfaces. The blit
-routines will attempt to use hardware acceleration when possible,
-otherwise will use highly optimized software blitting methods.
-<br>&nbsp;<br>
-There is support for pixel access for the Surfaces. Pixel access
-on hardware surfaces is slow and not recommended. Pixels can be
-accessed using the get_at() and set_at() functions. These methods
-are fine for simple access, but will be considerably slow when
-doing of pixel work with them. If you plan on doing a lot of
-pixel level work, it is recommended to use the pygame.surfarray
-module, which can treat the surfaces like large multidimensional
-arrays (and it's quite quick). Some surfaces need to be locked
-before they can be used. Surfaces with flags like HWSURFACE and
-RLEACCEL generally require calls to lock() and unlock()
-surrounding pixel access. It is safe to lock() and unlock()
-surfaces that do not require locking. Nonetheless, you can check
-to see if a Surface really needs to be locked with the mustlock()
-function.
-<br>&nbsp;<br>
-The packed pixel values are a single interger with the red,
-green, and blue components packed in to match the current
-bitdepth for the Surface. You generally don't need to care how
-this is done, the map_rgb() and unmap_rgb() will convert back and
-forth between the packed pixel values for you. Information on how
-the pixels are packed can be retreived from the get_masks(),
-get_losses() and get_shifts() routines.
-<br>&nbsp;<br>
-Here is the quick breakdown of how these work (don't worry if you
-don't quite understand this, it is only here for informational
-purposes, it is not needed). Each colorplane mask can be used to
-isolate the values for a colorplane from the packed pixel color.
-Therefore PACKED_COLOR & RED_MASK == REDPLANE. Note that the
-REDPLANE is not exactly the red color value, but it is the red
-color value bitwise left shifted a certain amount. The losses and
-masks can be used to convert back and forth between each
-colorplane and the actual color for that plane. Here are the
-final formulas used be map and unmap (not exactly, heh).
-PACKED_COLOR = RED>>losses[0]<<shifts[0] |
-GREEN>>losses[1]<<shifts[1] | BLUE>>losses[2]<<shifts[2]
-RED = PACKED_COLOR & masks[0] >> shifts[0] << losses[0]
-GREEN = PACKED_COLOR & masks[1] >> shifts[1] << losses[1]
-BLUE = PACKED_COLOR & masks[2] >> shifts[2] << losses[2]
-There is also an alpha channel for some Surfaces. The alpha
-channel works this same exact way, and the map_rgba() and
-unmap_rgba() functions can be used to do the conversion for you.
-
-<hr>
-
-<table>
-<tr><td><a href=#blit>blit</a></td><td> -
-copy a one Surface to another.</td></tr>
-
-
-<tr><td><a href=#convert>convert</a></td><td> -
-new copy of surface with different format</td></tr>
-
-
-<tr><td><a href=#convert_alpha>convert_alpha</a></td><td> -
-new copy of surface with different format and per pixel alpha</td></tr>
-
-
-<tr><td><a href=#fill>fill</a></td><td> -
-fill areas of a Surface</td></tr>
-
-
-<tr><td><a href=#get_alpha>get_alpha</a></td><td> -
-query alpha information</td></tr>
-
-
-<tr><td><a href=#get_at>get_at</a></td><td> -
-get a pixel color</td></tr>
-
-
-<tr><td><a href=#get_bitsize>get_bitsize</a></td><td> -
-query size of pixel</td></tr>
-
-
-<tr><td><a href=#get_bytesize>get_bytesize</a></td><td> -
-query size of pixel</td></tr>
-
-
-<tr><td><a href=#get_clip>get_clip</a></td><td> -
-query the clipping area</td></tr>
-
-
-<tr><td><a href=#get_colorkey>get_colorkey</a></td><td> -
-query colorkey</td></tr>
-
-
-<tr><td><a href=#get_height>get_height</a></td><td> -
-query the surface height</td></tr>
-
-
-<tr><td><a href=#get_losses>get_losses</a></td><td> -
-get mapping losses for each colorplane</td></tr>
-
-
-<tr><td><a href=#get_masks>get_masks</a></td><td> -
-get mapping bitmasks for each colorplane</td></tr>
-
-
-<tr><td><a href=#get_palette>get_palette</a></td><td> -
-get the palette</td></tr>
-
-
-<tr><td><a href=#get_palette_at>get_palette_at</a></td><td> -
-get a palette entry</td></tr>
-
-
-<tr><td><a href=#get_rect>get_rect</a></td><td> -
-get a rectangle covering the entire surface</td></tr>
-
-
-<tr><td><a href=#get_shifts>get_shifts</a></td><td> -
-alphashift</td></tr>
-
-
-<tr><td><a href=#get_size>get_size</a></td><td> -
-query the surface size</td></tr>
-
-
-<tr><td><a href=#get_width>get_width</a></td><td> -
-query the surface width</td></tr>
-
-
-<tr><td><a href=#lock>lock</a></td><td> -
-locks Surface for pixel access</td></tr>
-
-
-<tr><td><a href=#map_rgb>map_rgb</a></td><td> -
-convert RGB into a mapped color</td></tr>
-
-
-<tr><td><a href=#map_rgba>map_rgba</a></td><td> -
-convert RGBA into a mapped color</td></tr>
-
-
-<tr><td><a href=#mustlock>mustlock</a></td><td> -
-check if the surface needs locking</td></tr>
-
-
-<tr><td><a href=#set_alpha>set_alpha</a></td><td> -
-change alpha information</td></tr>
-
-
-<tr><td><a href=#set_at>set_at</a></td><td> -
-set pixel at given position</td></tr>
-
-
-<tr><td><a href=#set_clip>set_clip</a></td><td> -
-assign destination clipping rectangle</td></tr>
-
-
-<tr><td><a href=#set_colorkey>set_colorkey</a></td><td> -
-change colorkey information</td></tr>
-
-
-<tr><td><a href=#set_palette>set_palette</a></td><td> -
-set the palette</td></tr>
-
-
-<tr><td><a href=#set_palette_at>set_palette_at</a></td><td> -
-set a palette entry</td></tr>
-
-
-<tr><td><a href=#unlock>unlock</a></td><td> -
-locks Surface for pixel access</td></tr>
-
-
-<tr><td><a href=#unmap_rgb>unmap_rgb</a></td><td> -
-convert mapped color into RGB</td></tr>
-
-
-<tr><td><a href=#unmap_rgba>unmap_rgba</a></td><td> -
-convert mapped color into RGBA</td></tr>
-
-
-</table>
-
-<hr>
-
-<a name=blit><font size=+2><b>blit
-</b></font><br><font size=+1><tt>
-Surface.blit(source, destoffset, [srcoffset, [size]]) -> Rect
-</tt></font><ul>
-The blitting will transfer one surface to another. It will
-respect any special modes like colorkeying and alpha. If hardware
-support is available, it will be used. The given source is the
-Surface to copy from. The destoffset is a 2-number-sequence that
-specifies where on the destination Surface the blit happens.
-Without srcoffset and size supplied, the blit will copy the
-entire source surface. If you would like to copy only a portion
-of the source, use the srcoffset and size arguements to control
-what area is copied.
-<br>&nbsp;<br>
-The blit is subject to be clipped by the active clipping
-rectangle. The return value contains the actual area blitted.
-</ul><br>&nbsp;<br>
-
-<a name=convert><font size=+2><b>convert
-</b></font><br><font size=+1><tt>
-Surface.convert([src_surface]) -> Surface
-</tt></font><ul>
-Creates a new copy of the surface with the desired pixel format.
-Surfaces with the same pixel format will blit much faster than
-those with mixed formats. The pixel format of the new surface
-will match the format given as the argument. If no surface is
-given, the new surface will have the same pixel format as the
-current display.
-</ul><br>&nbsp;<br>
-
-<a name=convert_alpha><font size=+2><b>convert_alpha
-</b></font><br><font size=+1><tt>
-Surface.convert_alpha([src_surface]) -> Surface
-</tt></font><ul>
-Creates a new copy of the surface with the desired pixel format.
-The new surface will be in a format suited for quick blitting to
-the given format with per pixel alpha. If no surface is given,
-the new surface will be optimized for blittint to the current
-display.
-<br>&nbsp;<br>
-Unlike the <a href=#convert>convert()</a> method, the pixel format for the new image
-will not be exactly the same as the requested source, but it will
-be optimized for fast alpha blitting to the destination.
-</ul><br>&nbsp;<br>
-
-<a name=fill><font size=+2><b>fill
-</b></font><br><font size=+1><tt>
-Surface.fill(color, [rectstyle])) -> Rect
-</tt></font><ul>
-Fills the specified area of the Surface with the mapped color
-value. If no destination rectangle is supplied, it will fill the
-entire Surface.
-<br>&nbsp;<br>
-The fill is subject to be clipped by the active clipping
-rectangle. The return value contains the actual area filled.
-</ul><br>&nbsp;<br>
-
-<a name=get_alpha><font size=+2><b>get_alpha
-</b></font><br><font size=+1><tt>
-Surface.get_alpha() -> alpha
-</tt></font><ul>
-Returns the current alpha value for the Surface. If transparency
-is disabled for the Surface, it returns None.
-</ul><br>&nbsp;<br>
-
-<a name=get_at><font size=+2><b>get_at
-</b></font><br><font size=+1><tt>
-Surface.get_at([x, y]) -> int
-</tt></font><ul>
-Returns the mapped pixel color at the coordinates
-given point.
-</ul><br>&nbsp;<br>
-
-<a name=get_bitsize><font size=+2><b>get_bitsize
-</b></font><br><font size=+1><tt>
-Surface.get_bitsize() -> int
-</tt></font><ul>
-Returns the number of bits used to represent each pixel. This
-value may not exactly fill the number of bytes used per pixel.
-For example a 15 bit Surface still requires a full 2 bytes.
-</ul><br>&nbsp;<br>
-
-<a name=get_bytesize><font size=+2><b>get_bytesize
-</b></font><br><font size=+1><tt>
-Surface.get_bytesize() -> int
-</tt></font><ul>
-Returns the number of bytes used to store each pixel.
-</ul><br>&nbsp;<br>
-
-<a name=get_clip><font size=+2><b>get_clip
-</b></font><br><font size=+1><tt>
-Surface.get_clip() -> rect
-</tt></font><ul>
-Returns the current destination clipping area being used by the
-Surface. If the clipping area is not set, it will return a
-rectangle containing the full Surface area.
-</ul><br>&nbsp;<br>
-
-<a name=get_colorkey><font size=+2><b>get_colorkey
-</b></font><br><font size=+1><tt>
-Surface.get_colorkey() -> color
-</tt></font><ul>
-Returns the current mapped color value being used for
-colorkeying. If colorkeying is not enabled for this surface, it
-returns None
-</ul><br>&nbsp;<br>
-
-<a name=get_height><font size=+2><b>get_height
-</b></font><br><font size=+1><tt>
-Surface.get_height() -> height
-</tt></font><ul>
-Returns the height of the Surface.
-</ul><br>&nbsp;<br>
-
-<a name=get_losses><font size=+2><b>get_losses
-</b></font><br><font size=+1><tt>
-Surface.get_losses() -> redloss, greenloss, blueloss, alphaloss
-</tt></font><ul>
-Returns the bitloss for each color plane. The loss is the number
-of bits removed for each colorplane from a full 8 bits of
-resolution. A value of 8 usually indicates that colorplane is not
-used (like the alpha)
-</ul><br>&nbsp;<br>
-
-<a name=get_masks><font size=+2><b>get_masks
-</b></font><br><font size=+1><tt>
-Surface.get_masks() -> redmask, greenmask, bluemask, alphamask
-</tt></font><ul>
-Returns the bitmasks for each color plane. The bitmask is used to
-isolate each colorplane value from a mapped color value. A value
-of zero means that colorplane is not used (like alpha)
-</ul><br>&nbsp;<br>
-
-<a name=get_palette><font size=+2><b>get_palette
-</b></font><br><font size=+1><tt>
-Surface.get_palette() -> [[r, g, b], ...]
-</tt></font><ul>
-This will return the an array of all the color indexes in the
-Surface's palette.
-</ul><br>&nbsp;<br>
-
-<a name=get_palette_at><font size=+2><b>get_palette_at
-</b></font><br><font size=+1><tt>
-Surface.get_palette_at(index) -> r, g, b
-</tt></font><ul>
-This will retreive an individual color entry from the Surface's
-palette.
-</ul><br>&nbsp;<br>
-
-<a name=get_rect><font size=+2><b>get_rect
-</b></font><br><font size=+1><tt>
-Surface.get_rect() -> rect
-</tt></font><ul>
-Returns a new rectangle covering the entire surface.
-This rectangle will always start at 0, 0 with a width.
-and height the same size as the image.
-</ul><br>&nbsp;<br>
-
-<a name=get_shifts><font size=+2><b>get_shifts
-</b></font><br><font size=+1><tt>
-Surface.get_shifts() -> redshift, greenshift, blueshift,
-</tt></font><ul>
-<br>&nbsp;<br>
-Returns the bitshifts used for each color plane. The shift is
-determine how many bits left-shifted a colorplane value is in a
-mapped color value.
-</ul><br>&nbsp;<br>
-
-<a name=get_size><font size=+2><b>get_size
-</b></font><br><font size=+1><tt>
-Surface.get_size() -> x, y
-</tt></font><ul>
-Returns the width and height of the Surface.
-</ul><br>&nbsp;<br>
-
-<a name=get_width><font size=+2><b>get_width
-</b></font><br><font size=+1><tt>
-Surface.get_width() -> width
-</tt></font><ul>
-Returns the width of the Surface.
-</ul><br>&nbsp;<br>
-
-<a name=lock><font size=+2><b>lock
-</b></font><br><font size=+1><tt>
-Surface.lock() -> None
-</tt></font><ul>
-On accelerated surfaces, it is usually required to lock the
-surface before you can access the pixel values. To be safe, it is
-always a good idea to lock the surface before entering a block of
-code that changes or accesses the pixel values. The surface must
-not be locked when performing other pyGame functions on it like
-fill and blit.
-<br>&nbsp;<br>
-You can doublecheck to really make sure a lock is needed by
-calling the <a href=#mustlock>mustlock()</a> member. This should not be needed, since
-it is usually recommended to lock anyways and work with all
-surface types. If the surface does not need to be locked, the
-operation will return quickly with minute overhead.
-<br>&nbsp;<br>
-On some platforms a necessary lock can shut off some parts of the
-system. This is not a problem unless you leave surfaces locked
-for long periouds of time. Only keep the surface locked when you
-need the pixel access. At the same time, it is not a good too
-repeatedly lock and unlock the surface inside tight loops. It is
-fine to leave the surface locked while needed, just don't be
-lazy.
-</ul><br>&nbsp;<br>
-
-<a name=map_rgb><font size=+2><b>map_rgb
-</b></font><br><font size=+1><tt>
-Surface.map_rgb([r, g, b]) -> int
-</tt></font><ul>
-Uses the Surface format to convert RGB into a mapped color value.
-Note that this will work if the RGB is passed as three arguments
-instead of a sequence.
-</ul><br>&nbsp;<br>
-
-<a name=map_rgba><font size=+2><b>map_rgba
-</b></font><br><font size=+1><tt>
-Surface.map_rgba([r, g, b, a]) -> int
-</tt></font><ul>
-Uses the Surface format to convert RGBA into a mapped color
-value. It is safe to call this on a surface with no pixel alpha.
-The alpha will simply be ignored.
-</ul><br>&nbsp;<br>
-
-<a name=mustlock><font size=+2><b>mustlock
-</b></font><br><font size=+1><tt>
-Surface.mustlock() -> bool
-</tt></font><ul>
-Returns true if the surface really does need locking to gain
-pixel access. Usually the overhead of checking before locking
-outweight the overhead of just locking any surface before access.
-</ul><br>&nbsp;<br>
-
-<a name=set_alpha><font size=+2><b>set_alpha
-</b></font><br><font size=+1><tt>
-Surface.set_alpha([alpha, [flags]]) -> None
-</tt></font><ul>
-Set the overall transparency for the surface. If no alpha is
-passed, alpha blending is disabled for the surface. An alpha of 0
-is fully transparent, an alpha of 255 is fully opaque.
-<br>&nbsp;<br>
-If your surface has a pixel alpha channel, it will override the
-overall surface transparency. You'll need to change the actual
-pixel transparency to make changes.
-<br>&nbsp;<br>
-If your image is nonchanging and will be used repeatedly, you
-will probably want to pass the RLEACCEL flag to the call. This
-will take a short time to compile your surface, and increase the
-blitting speed.
-</ul><br>&nbsp;<br>
-
-<a name=set_at><font size=+2><b>set_at
-</b></font><br><font size=+1><tt>
-Surface.set_at([x, y], pixel) -> None
-</tt></font><ul>
-Assigns a mapped pixel color to the image at the give position.
-</ul><br>&nbsp;<br>
-
-<a name=set_clip><font size=+2><b>set_clip
-</b></font><br><font size=+1><tt>
-Surface.set_clip([rectstyle])) -> Rect
-</tt></font><ul>
-Assigns the destination clipping rectangle for the Surface. When
-blit or fill operations are performed on the Surface, they are
-restricted to the inside of the clipping rectangle. If no
-rectangle is passed, the clipping region is set to the entire
-Surface area.
-</ul><br>&nbsp;<br>
-
-<a name=set_colorkey><font size=+2><b>set_colorkey
-</b></font><br><font size=+1><tt>
-Surface.set_colorkey([color, [flags]]) -> None
-</tt></font><ul>
-Set the colorkey for the surface by passing a mapped color value
-as the color argument. If no arguments are passed, colorkeying
-will be disabled for this surface.
-<br>&nbsp;<br>
-If your image is nonchanging and will be used repeatedly, you
-will probably want to pass the RLEACCEL flag to the call. This
-will take a short time to compile your surface, and increase the
-blitting speed.
-</ul><br>&nbsp;<br>
-
-<a name=set_palette><font size=+2><b>set_palette
-</b></font><br><font size=+1><tt>
-Surface.set_palette([[r, g, b], ...]) -> None
-</tt></font><ul>
-This will replace the entire palette with color
-information you provide.
-</ul><br>&nbsp;<br>
-
-<a name=set_palette_at><font size=+2><b>set_palette_at
-</b></font><br><font size=+1><tt>
-Surface.set_palette_at(index, [r, g, b]) -> None
-</tt></font><ul>
-This function sets the palette color at a specific entry.
-</ul><br>&nbsp;<br>
-
-<a name=unlock><font size=+2><b>unlock
-</b></font><br><font size=+1><tt>
-Surface.unlock() -> None
-</tt></font><ul>
-After a surface has been locked, you will need to unlock it when
-you are done.
-<br>&nbsp;<br>
-You can doublecheck to really make sure a lock is needed by
-calling the <a href=#mustlock>mustlock()</a> member. This should not be needed, since
-it is usually recommended to lock anyways and work with all
-surface types. If the surface does not need to be locked, the
-operation will return quickly with minute overhead.
-</ul><br>&nbsp;<br>
-
-<a name=unmap_rgb><font size=+2><b>unmap_rgb
-</b></font><br><font size=+1><tt>
-Surface.unmap_rgb(color) -> r, g, b
-</tt></font><ul>
-This function returns the RGB components for a mapped color
-value.
-</ul><br>&nbsp;<br>
-
-<a name=unmap_rgba><font size=+2><b>unmap_rgba
-</b></font><br><font size=+1><tt>
-Surface.unmap_rgba(color) -> r, g, b, a
-</tt></font><ul>
-This function returns the RGB components for a mapped color
-value. For surfaces with no alpha, the alpha will always be 255.
-</ul><br>&nbsp;<br>
-
-
-<hr>
-
-</body></html>
 <html>
-<title>CD</title>
+<title>Pygame Documentation</title>
 <body bgcolor=#dddddd text=#333377 link=#7777bb vlink=#7777bb>
 
 <table border=0 width=100% cellpadding=0 cellspacing=0 bgcolor=#f5f5f5><tr valign=top>
-<td rowspan=2 width=60%><table border=0 cellpadding=5 cellspacing=0 bgcolor=#333377>
+<td rowspan=2><table border=0 cellpadding=5 cellspacing=0 bgcolor=#333377>
 <tr height=86 align=left><td valign=middle><font color=#ffffff size=+5>
 	<a href=../><font size=+5 color=#ffffff><i><b>
       pygame</b></i></font></a>&nbsp;&nbsp;</td>
 <td valign=middle><tt><font color=#dddddd><br>
 	PyGame<br>Documentation</font>
-</td></tr></table></td><td width=100% height=100% align=center valign=middle>
+</td></tr></table></td><td width=100% align=center valign=middle>
 
 	||&nbsp;
-	<a href=../>Home</a> &nbsp;||&nbsp;
+	<a href=http://pygame.seul.org>Home</a> &nbsp;||&nbsp;
 	<a href=index.html>Help Contents</a> &nbsp;||
 	<br>&nbsp;<br>
 
-|| <a href=CD.html>CD</a> || 
-<a href=Channel.html>Channel</a> || 
-<a href=Font.html>Font</a> || 
-<a href=Joystick.html>Joystick</a> || 
-<a href=Rect.html>Rect</a> ||<br>
-|| <a href=Sound.html>Sound</a> || 
-<a href=Surface.html>Surface</a> || 
-<a href=pygame.html>pygame</a> || 
-<a href=pygame_cdrom.html>cdrom</a> || 
-<a href=pygame_display.html>display</a> ||<br>
-|| <a href=pygame_event.html>event</a> || 
-<a href=pygame_font.html>font</a> || 
-<a href=pygame_image.html>image</a> || 
-<a href=pygame_joystick.html>joystick</a> || 
-<a href=pygame_key.html>key</a> ||<br>
-|| <a href=pygame_mixer.html>mixer</a> || 
-<a href=pygame_mouse.html>mouse</a> || 
-<a href=pygame_music.html>music</a> || 
-<a href=pygame_surfarray.html>surfarray</a> || 
-<a href=pygame_time.html>time</a> ||<br>
+|| <a href=ref/CD.html>CD</a> || 
+<a href=ref/Channel.html>Channel</a> || 
+<a href=ref/Font.html>Font</a> || 
+<a href=ref/Joystick.html>Joystick</a> || 
+<a href=ref/Rect.html>Rect</a> ||<br>
+|| <a href=ref/pygame.html>pygame</a> || 
+<a href=ref/pygame_cdrom.html>cdrom</a> || 
+<a href=ref/pygame_constants.html>constants</a> || 
+<a href=ref/pygame_display.html>display</a> || 
+<a href=ref/pygame_event.html>event</a> ||<br>
+|| <a href=ref/pygame_joystick.html>joystick</a> || 
+<a href=ref/pygame_key.html>key</a> || 
+<a href=ref/pygame_mixer.html>mixer</a> || 
+<a href=ref/pygame_mouse.html>mouse</a> || 
+<a href=ref/pygame_music.html>music</a> ||<br>
 
 
 </td></tr></table>
 <br>
-The autogenerated helpfiles are coming along. As you can see, big improvements over what came out in the first release. At this point, things are looking good the the documentation generation, there's still information to be added to the docs though... (whew)
-<br>&nbsp;<br>
-Do checkout the following textfiles also included...<br>
-<font size=+2>
-<a href=init.txt>init.txt</a><br>
-<a href=install.txt>install.txt</a><br>
-</font>
+<h2 align=center>Pygame Documentation</h2>
+ 
+
+<hr>
+
+<table>
+
+The pygame documentation is broken into several parts. First there is
+the reference docs. These are automatically generated from the pygame
+sources. They have the most up to date information about each function
+and module.<br>
+<br>
+There is also the set of tutorials, which is currently slim, but in
+the process of expanding. The navigation links on the top of this page
+should be enough to get you comfortable around the site. The list of
+tutorials is offered below.<br>
+</table>
+
+<hr>
+
+<font size=+1><b>Text File Documentation</b></font><br><li><a href=init.txt>init</a> - Information about importing and initializing pygame
+</li>
+<li><a href=install.txt>install</a> - Quickie build instructions for building and installing pyGame
+</li><br>&nbsp;<br><font size=+1><b>Tutorials</b></font><br><li><a href=tut/DisplayModes.html>tut/DisplayModes</a> - Setting Display Modes
+</li>
+
+<hr>
 
 </body></html>
 
 Early in the game you will need to initialize your pygame modules. There are
 two methods to doing this. The simplest and recommended way is to use the
-command "pygame.init()" to intialize all the imported pyGame modules. If you
+command "pygame.init()" to intialize all the imported pygame modules. If you
 prefer a little control over the initialization process, you can initialize
 the modules by hand. Modules that need initialization will have an "init()"
 method in them (and usually a get_init() to check if a module is
 "pygame.display.init(); pygame.cdrom.init()".
 Using this method you can initialize only the modules important to you.
 
-All modules will automatically quit themselves when pyGame is exiting.
+All modules will automatically quit themselves when pygame is exiting.
 You can force all modules to uninitialize with the call to "pygame.quit()".
 You can also initialize an individual module by calling the quit function
 from that module.
 
 Not all modules need to be intialized. These will not have an init()
-and quit() method. If initializing by hand, remember that most platforms
+and quit() method. If initializing by hand, remember that some platforms
 require the display module to be initialized before others.
-Quickie build instructions for building and installing pyGame
+Quickie build instructions for building and installing pygame
 Oct 23, 2000
 -------------------------------------------------------------
 pygame is built and installed using the python distutils.
 
 The majority of your work will likely be preparing the
-dependencies for pyGame. You will obviously need Python 2.0
+dependencies for pygame. You will obviously need Python 2.0
 installed and ready for development work. The only other
 requirement is SDL. You should be able to get this compiled
 without difficulty. (There is an available devel download
 for windows which will suit your needs on that platform).
-This is all you'll need for the base pyGame installation.
+This is all you'll need for the base pygame installation.
 There are extra modules you can use which require other
 dependencies like Numeric python and many of the
 SDL daughter libraries, like SDL_image and SDL_ttf.
Add a comment to this file

docs/mainlogo.gif

Removed
Old image

docs/pygame.html

-<html>
-<title>pygame</title>
-<body bgcolor=#dddddd text=#333377 link=#7777bb vlink=#7777bb>
-
-<table border=0 width=100% cellpadding=0 cellspacing=0 bgcolor=#f5f5f5><tr valign=top>
-<td rowspan=2><table border=0 cellpadding=5 cellspacing=0 bgcolor=#333377>
-<tr height=86 align=left><td valign=middle><font color=#ffffff size=+5>
-	<a href=../><font size=+5 color=#ffffff><i><b>
-      pygame</b></i></font></a>&nbsp;&nbsp;</td>
-<td valign=middle><tt><font color=#dddddd><br>
-	PyGame<br>Documentation</font>
-</td></tr></table></td><td width=100% align=center valign=middle>
-
-	||&nbsp;
-	<a href=../>Home</a> &nbsp;||&nbsp;
-	<a href=index.html>Help Contents</a> &nbsp;||
-	<br>&nbsp;<br>
-
-|| <a href=CD.html>CD</a> || 
-<a href=Channel.html>Channel</a> || 
-<a href=Font.html>Font</a> || 
-<a href=Joystick.html>Joystick</a> || 
-<a href=Rect.html>Rect</a> ||<br>
-|| <a href=pygame.html>pygame</a> || 
-<a href=pygame_cdrom.html>cdrom</a> || 
-<a href=pygame_constants.html>constants</a> || 
-<a href=pygame_display.html>display</a> || 
-<a href=pygame_event.html>event</a> ||<br>
-|| <a href=pygame_joystick.html>joystick</a> || 
-<a href=pygame_key.html>key</a> || 
-<a href=pygame_mixer.html>mixer</a> || 
-<a href=pygame_mouse.html>mouse</a> || 
-<a href=pygame_music.html>music</a> ||<br>
-
-
-</td></tr></table>
-<br>
-<h2 align=center>pygame</h2>
-Contains the core routines that are used by the rest of the
-pyGame modules. It's routines are merged directly into the pygame
-namespace. This mainly includes the autoinitialization init() and
-quit() routines.
-<br>&nbsp;<br>
-There is a small module named 'locals' that also gets merged into
-this namespace. This contains all the constants needed by pygame.
-Object constructors also get placed into this namespace, you can
-call functions like rect() and surface() to create objects of
-that type. As a convenience, you can import the members of
-pygame.locals directly into your module's namespace with 'from
-pygame.locals import *'. Most of the pygame examples do this if
-you'd like to take a look.
-
-<hr>
-
-<table>
-<tr><td><a href=#font>font</a></td><td> -
-create a new font object</td></tr>
-
-
-<tr><td><a href=#get_error>get_error</a></td><td> -
-get current error message</td></tr>
-
-
-<tr><td><a href=#get_grab>get_grab</a></td><td> -
-query the state of input grabbing</td></tr>
-
-
-<tr><td><a href=#init>init</a></td><td> -
-autoinitialize all imported pygame modules</td></tr>
-
-
-<tr><td><a href=#quit>quit</a></td><td> -
-uninitialize all pygame modules</td></tr>
-
-
-<tr><td><a href=#rect>rect</a></td><td> -
-create a new rectangle</td></tr>
-
-
-<tr><td><a href=#register_quit>register_quit</a></td><td> -
-routine to call when pyGame quits</td></tr>
-
-
-<tr><td><a href=#surface>surface</a></td><td> -
-Surface</td></tr>
-
-
-</table>
-
-<hr>
-
-<a name=font><font size=+2><b>font
-</b></font><br><font size=+1><tt>
-pygame.font(file, size) -> Font
-</tt></font><ul>
-This will create a new font object. The given file must be an
-existing filename. The font loader does not work with python
-file-like objects. The size represents the height of the font in
-pixels.
-</ul><br>&nbsp;<br>
-
-<a name=get_error><font size=+2><b>get_error
-</b></font><br><font size=+1><tt>
-pygame.get_error() -> errorstring
-</tt></font><ul>
-SDL maintains an internal current error message. This message is
-usually given to you when an SDL related exception occurs, but
-sometimes you may want to call this directly yourself.
-</ul><br>&nbsp;<br>
-
-<a name=get_grab><font size=+2><b>get_grab
-</b></font><br><font size=+1><tt>
-pygame.get_grab() -> bool
-</tt></font><ul>
-Returns true if the input is currently grabbed to your
-application.
-</ul><br>&nbsp;<br>
-
-<a name=init><font size=+2><b>init
-</b></font><br><font size=+1><tt>
-pygame.init() -> passed, failed
-</tt></font><ul>
-Initialize all imported pygame modules. Including pygame modules
-that are not part of the base modules (like font and image).
-<br>&nbsp;<br>
-It does not raise exceptions, but instead silently counts which
-modules have failed to init. The return argument contains a count
-of the number of modules initialized, and the number of modules
-that failed to initialize.
-<br>&nbsp;<br>
-You can always initialize the modules you want by hand. The
-modules that need it have an <u>init()</u> and <a href=#quit>quit()</a> routine built in,
-which you can call directly. They also have a <a href=pygame_cdrom.html#get_init>get_init()</a> routine
-which you can use to doublecheck the initialization. Note that
-the manual <u>init()</u> routines will raise an exception on error. Be
-aware that most platforms require the display module to be
-initialized before others. This <u>init()</u> will handle that for you,
-but if you initialize by hand, be aware of this constraint.
-<br>&nbsp;<br>
-As with the manual <u>init()</u> routines. It is safe to call this
-init() as often as you like. If you have imported pygame modules
-since the.
-</ul><br>&nbsp;<br>
-
-<a name=quit><font size=+2><b>quit
-</b></font><br><font size=+1><tt>
-pygame.quit() -> none
-</tt></font><ul>
-Uninitialize all pygame modules that have been initialized. Even
-if you initialized the module by hand, this <u>quit()</u> will
-uninitialize it for you.
-<br>&nbsp;<br>
-All the pygame modules are uninitialized automatically when your
-program exits, so you will usually not need this routine. If you
-program plans to keep running after it is done with pygame, then
-would be a good time to make this call.
-</ul><br>&nbsp;<br>
-
-<a name=rect><font size=+2><b>rect
-</b></font><br><font size=+1><tt>
-pygame.rect(rectstyle) -> Rect
-</tt></font><ul>
-Creates a new rectangle object. The given
-rectstyle represents one of the various ways of
-representing rectangle data. This is usually a
-sequence of x and y position for the topleft
-corner, and the width and height.
-</ul><br>&nbsp;<br>
-
-<a name=register_quit><font size=+2><b>register_quit
-</b></font><br><font size=+1><tt>
-pygame.register_quit(callback) -> None
-</tt></font><ul>
-The given callback routine will be called when. pygame is
-quitting. Quit callbacks are served on a 'last in, first out'
-basis. Also be aware that your callback may be called more than
-once.
-</ul><br>&nbsp;<br>
-
-<a name=surface><font size=+2><b>surface
-</b></font><br><font size=+1><tt>
-pygame.surface(size, [flags, [depth|Surface, [masks]]]) ->
-</tt></font><ul>
-<br>&nbsp;<br>
-Creates a new surface object. Size is a 2-int-sequence containing
-width and height. Depth is the number of bits used per pixel. If
-omitted, depth will use the current display depth. Masks is a
-four item sequence containing the bitmask for r,g,b, and a. If
-omitted, masks will default to the usual values for the given
-bitdepth. Flags is a mix of the following flags: SWSURFACE,
-HWSURFACE, ASYNCBLIT, SRCCOLORKEY, or SRCALPHA. (flags = 0 is the
-same as SWSURFACE). depth and masks can be substituted for
-another surface object which will create the new surface with the
-same format as the given one. When using default masks, alpha
-will always be ignored. Note, if you pass SRCOLORKEY and/or
-SRCALPHA, the surface won't immediately have these features
-enabled. SDL will use these flags to help optimize the surface
-for use with the blitters. Also, for a plain software surface, 0
-can be used for the flag. A plain hardware surface can just use 1
-for the flag.
-</ul><br>&nbsp;<br>
-
-
-<hr>
-
-</body></html>

docs/pygame_cdrom.html

-<html>
-<title>pygame.cdrom</title>
-<body bgcolor=#dddddd text=#333377 link=#7777bb vlink=#7777bb>
-
-<table border=0 width=100% cellpadding=0 cellspacing=0 bgcolor=#f5f5f5><tr valign=top>
-<td rowspan=2><table border=0 cellpadding=5 cellspacing=0 bgcolor=#333377>
-<tr height=86 align=left><td valign=middle><font color=#ffffff size=+5>
-	<a href=../><font size=+5 color=#ffffff><i><b>
-      pygame</b></i></font></a>&nbsp;&nbsp;</td>
-<td valign=middle><tt><font color=#dddddd><br>
-	PyGame<br>Documentation</font>
-</td></tr></table></td><td width=100% align=center valign=middle>
-
-	||&nbsp;
-	<a href=../>Home</a> &nbsp;||&nbsp;
-	<a href=index.html>Help Contents</a> &nbsp;||
-	<br>&nbsp;<br>
-
-|| <a href=CD.html>CD</a> || 
-<a href=Channel.html>Channel</a> || 
-<a href=Font.html>Font</a> || 
-<a href=Joystick.html>Joystick</a> || 
-<a href=Rect.html>Rect</a> ||<br>
-|| <a href=pygame.html>pygame</a> || 
-<a href=pygame_cdrom.html>cdrom</a> || 
-<a href=pygame_constants.html>constants</a> || 
-<a href=pygame_display.html>display</a> || 
-<a href=pygame_event.html>event</a> ||<br>
-|| <a href=pygame_joystick.html>joystick</a> || 
-<a href=pygame_key.html>key</a> || 
-<a href=pygame_mixer.html>mixer</a> || 
-<a href=pygame_mouse.html>mouse</a> || 
-<a href=pygame_music.html>music</a> ||<br>
-
-
-</td></tr></table>
-<br>
-<h2 align=center>pygame.cdrom</h2>
-thin wrapper around the SDL CDROM api, likely to
-change
-
-<hr>
-
-<table>
-<tr><td><a href=#count>count</a></td><td> -
-query number of cdroms on system</td></tr>
-
-
-<tr><td><a href=#get_init>get_init</a></td><td> -
-query init of cdrom module</td></tr>
-
-
-<tr><td><a href=#init>init</a></td><td> -
-initialize the cdrom subsystem</td></tr>
-
-
-<tr><td><a href=#name>name</a></td><td> -
-query name of cdrom drive</td></tr>
-
-
-<tr><td><a href=#open>open</a></td><td> -
-open cd device</td></tr>
-
-
-<tr><td><a href=#quit>quit</a></td><td> -
-uninitialize the cdrom subsystem</td></tr>
-
-
-</table>
-
-<hr>
-
-<a name=count><font size=+2><b>count
-</b></font><br><font size=+1><tt>
-pygame.cdrom.count() -> int
-</tt></font><ul>
-Returns the number of CDROM drives available on
-the system
-</ul><br>&nbsp;<br>
-
-<a name=get_init><font size=+2><b>get_init
-</b></font><br><font size=+1><tt>
-pygame.cdrom.get_init() -> bool
-</tt></font><ul>
-Returns true of the cdrom module is initialized
-</ul><br>&nbsp;<br>
-
-<a name=init><font size=+2><b>init
-</b></font><br><font size=+1><tt>
-pygame.cdrom.init() -> None
-</tt></font><ul>
-Initialize the CDROM module manually
-</ul><br>&nbsp;<br>
-
-<a name=name><font size=+2><b>name
-</b></font><br><font size=+1><tt>
-pygame.cdrom.name(id) -> string
-</tt></font><ul>
-Returns the name of the CDROM device, given by the
-system.
-</ul><br>&nbsp;<br>
-
-<a name=open><font size=+2><b>open
-</b></font><br><font size=+1><tt>
-pygame.cdrom.open(id) -> CD
-</tt></font><ul>
-Creates a new CD object for the given CDROM id.
-</ul><br>&nbsp;<br>
-
-<a name=quit><font size=+2><b>quit
-</b></font><br><font size=+1><tt>
-pygame.cdrom.quit() -> None
-</tt></font><ul>
-Uninitialize the CDROM module manually
-</ul><br>&nbsp;<br>
-
-
-<hr>
-
-</body></html>

docs/pygame_constants.html

-<html>
-<title>pygame.constants</title>
-<body bgcolor=#dddddd text=#333377 link=#7777bb vlink=#7777bb>
-
-<table border=0 width=100% cellpadding=0 cellspacing=0 bgcolor=#f5f5f5><tr valign=top>
-<td rowspan=2><table border=0 cellpadding=5 cellspacing=0 bgcolor=#333377>
-<tr height=86 align=left><td valign=middle><font color=#ffffff size=+5>
-	<a href=../><font size=+5 color=#ffffff><i><b>
-      pygame</b></i></font></a>&nbsp;&nbsp;</td>
-<td valign=middle><tt><font color=#dddddd><br>
-	PyGame<br>Documentation</font>
-</td></tr></table></td><td width=100% align=center valign=middle>
-
-	||&nbsp;
-	<a href=../>Home</a> &nbsp;||&nbsp;
-	<a href=index.html>Help Contents</a> &nbsp;||
-	<br>&nbsp;<br>
-
-|| <a href=CD.html>CD</a> || 
-<a href=Channel.html>Channel</a> || 
-<a href=Font.html>Font</a> || 
-<a href=Joystick.html>Joystick</a> || 
-<a href=Rect.html>Rect</a> ||<br>
-|| <a href=pygame.html>pygame</a> || 
-<a href=pygame_cdrom.html>cdrom</a> || 
-<a href=pygame_constants.html>constants</a> || 
-<a href=pygame_display.html>display</a> || 
-<a href=pygame_event.html>event</a> ||<br>
-|| <a href=pygame_joystick.html>joystick</a> || 
-<a href=pygame_key.html>key</a> || 
-<a href=pygame_mixer.html>mixer</a> || 
-<a href=pygame_mouse.html>mouse</a> || 
-<a href=pygame_music.html>music</a> ||<br>
-
-
-</td></tr></table>
-<br>
-<h2 align=center>pygame.constants</h2>
-These constants are defined by SDL, and needed in pygame. Note
-that many of the flags for SDL are not needed in pygame, and are
-not included here. These constants are generally accessed from
-the pygame.locals module. This module is automatically placed in
-the pygame namespace, but you will usually want to place them
-directly into your module's namespace with the following command,
-'from pygame.locals import *'.
-
-<hr>
-
-<table>
-<tr><td><a href=#display >display </a></td><td> -
-The following constants are used by the display module and Surfaces</td></tr>
-
-
-<tr><td><a href=#events >events </a></td><td> -
-These constants define the various event types</td></tr>
-
-
-<tr><td><a href=#keyboard >keyboard </a></td><td> -
-These constants represent the keys on the keyboard.</td></tr>
-
-
-<tr><td><a href=#modifiers >modifiers </a></td><td> -
-These constants represent the modifier keys on the keyboard.</td></tr>
-
-
-<tr><td><a href=#zdepracated >zdepracated </a></td><td> -
-The following constants are made available, but generally not needed</td></tr>
-
-
-</table>
-
-<hr>
-
-<a name=display ><font size=+2><b>display 
-</b></font><br><font size=+1><tt>
-pygame.constants.display (constants)
-</tt></font><ul>
-HWSURFACE - surface in hardware video memory. (equal to 1)<br>
-RESIZEABLE - display window is resizeable<br>
-ASYNCBLIT - surface blits happen asynchronously (threaded)<br>
-OPENGL - display surface will be controlled by opengl<br>
-OPENGLBLIT - opengl controlled display surface will allow sdl
-blits<br>
-HWPALETTE - display surface has animatable hardware palette
-entries<br>
-DOUBLEBUF - hardware display surface is page flippable<br>
-FULLSCREEN - display surface is fullscreen (nonwindowed)<br>
-RLEACCEL - compile for quick alpha blits, only set in alpha or
-colorkey funcs<br>
-</ul><br>&nbsp;<br>
-
-<a name=events ><font size=+2><b>events 
-</b></font><br><font size=+1><tt>
-pygame.constants.events (constants)
-</tt></font><ul>
-NOEVENT - no event, represents an empty event list, equal to 0<br>
-ACTIVEEVENT - window has gain/lost mouse/keyboard/visiblity focus<br>
-KEYDOWN - keyboard button has been pressed (or down and repeating)<br>
-KEYUP - keyboard button has been released<br>
-MOUSEMOTION - mouse has moved<br>
-MOUSEBUTTONDOWN- mouse button has been pressed<br>
-MOUSEBUTTONUP - mouse button has been released<br>
-JOYAXISMOTION - an opened joystick axis has changed<br>
-JOYBALLMOTION - an opened joystick ball has moved<br>
-JOYHATMOTION - an opened joystick hat has moved<br>
-JOYBUTTONDOWN - an opened joystick button has been pressed<br>
-JOYBUTTONUP - an opened joystick button has been released<br>
-VIDEORESIZE - the display window has been resized by the user<br>
-QUIT - the user has requested the game to quit<br>
-SYSWMEVENT - currently unsupported, system dependant<br>
-USEREVENTS - all user messages are this or higher<br>
-NUMEVENTS - all user messages must be lower than this, equal to 32<br>
-</ul><br>&nbsp;<br>
-
-<a name=keyboard ><font size=+2><b>keyboard 
-</b></font><br><font size=+1><tt>
-pygame.constants.keyboard (constants)
-</tt></font><ul>
-There are many keyboard constants, they are used to represent
-keys on the keyboard. The following is a list of all keyboard
-constants
-<br>&nbsp;<br>
-K_UNKNOWN, K_FIRST, K_BACKSPACE, K_TAB, K_CLEAR, K_RETURN,
-K_PAUSE,<br>