Commits

pygame  committed bbe0639

fix cursors documentation

  • Participants
  • Parent commits a11dcfe

Comments (0)

Files changed (33)

File docs/index.html

 || <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_cursor.html>cursor</a> || 
 <a href=ref/pygame_display.html>display</a> || 
-<a href=ref/pygame_draw.html>draw</a> ||<br>
-|| <a href=ref/pygame_event.html>event</a> || 
+<a href=ref/pygame_draw.html>draw</a> || 
+<a href=ref/pygame_event.html>event</a> ||<br>
+|| <a href=ref/pygame_fastevent.html>fastevent</a> || 
 <a href=ref/pygame_font.html>font</a> || 
 <a href=ref/pygame_image.html>image</a> || 
 <a href=ref/pygame_joystick.html>joystick</a> || 
 <a href=ref/pygame_constants.html#keyboard >constants.keyboard </a> - These constants represent the keys on the keyboard.<br>
 <a href=ref/pygame_constants.html#modifiers >constants.modifiers </a> - These constants represent the modifier keys on the keyboard.<br>
 <a href=ref/pygame_constants.html#time >constants.time </a> - These constants define the various time constants<br>
-<a href=ref/pygame_cursor.html#compile>cursor.compile</a> - compile cursor strings into cursor data<br>
+<a href=ref/pygame_cursors.html#compile>cursors.compile</a> - compile cursor strings into cursor data<br>
 <a href=ref/pygame_cursors.html#load_xbm>cursors.load_xbm</a> - reads a pair of XBM files into set_cursor arguments<br>
 <a href=ref/pygame_display.html#Info>display.Info</a> - get display capabilities and settings<br>
 <a href=ref/pygame_display.html#flip>display.flip</a> - update the display<br>
 <a href=ref/pygame_event.html#set_blocked>event.set_blocked</a> - blocks certain events from the queue<br>
 <a href=ref/pygame_event.html#set_grab>event.set_grab</a> - grab all input events<br>
 <a href=ref/pygame_event.html#wait>event.wait</a> - wait for an event<br>
+<a href=ref/pygame_fastevent.html#get>fastevent.get</a> - get all events from the queue<br>
+<a href=ref/pygame_fastevent.html#init>fastevent.init</a> - initialize pygame.fastevent.<br>
+<a href=ref/pygame_fastevent.html#poll>fastevent.poll</a> - get an available event<br>
+<a href=ref/pygame_fastevent.html#post>fastevent.post</a> - place an event on the queue<br>
+<a href=ref/pygame_fastevent.html#pump>fastevent.pump</a> - update the internal messages<br>
+<a href=ref/pygame_fastevent.html#wait>fastevent.wait</a> - wait for an event<br>
 <a href=ref/pygame_font.html#Font>font.Font</a> - create a new font object<br>
 <a href=ref/pygame_font.html#SysFont>font.SysFont</a> -        create a pygame Font from system font resources<br>
 <a href=ref/pygame_font.html#get_default_font>font.get_default_font</a> - get the name of the default font<br>
 <a href=ref/pygame_sndarray.html#array>sndarray.array</a> - get an array copied from a sound<br>
 <a href=ref/pygame_sndarray.html#make_sound>sndarray.make_sound</a> - create a new Sound object from array data<br>
 <a href=ref/pygame_sndarray.html#samples>sndarray.samples</a> - get a reference to the sound samples<br>
-<a href=ref/pygame_sprite.html#AbstractGroup.add>sprite.AbstractGroup.add</a> -            add sprite to group<br>
-<a href=ref/pygame_sprite.html#AbstractGroup.clear>sprite.AbstractGroup.clear</a> -            erase the previous position of all sprites<br>
-<a href=ref/pygame_sprite.html#AbstractGroup.copy>sprite.AbstractGroup.copy</a> -            copy a group with all the same sprites<br>
-<a href=ref/pygame_sprite.html#AbstractGroup.draw>sprite.AbstractGroup.draw</a> -            draw all sprites onto the surface<br>
-<a href=ref/pygame_sprite.html#AbstractGroup.empty>sprite.AbstractGroup.empty</a> -            remove all sprites<br>
-<a href=ref/pygame_sprite.html#AbstractGroup.has>sprite.AbstractGroup.has</a> -            ask if group has a sprite or sprites<br>
-<a href=ref/pygame_sprite.html#AbstractGroup.remove>sprite.AbstractGroup.remove</a> -            remove sprite from group<br>
-<a href=ref/pygame_sprite.html#AbstractGroup.sprites>sprite.AbstractGroup.sprites</a> -            get a list of sprites in the group<br>
-<a href=ref/pygame_sprite.html#AbstractGroup.update>sprite.AbstractGroup.update</a> -            call update for all member sprites<br>
-<a href=ref/pygame_sprite.html#AbstractGroup>sprite.AbstractGroup</a> - <b>(class)</b> - A base for containers for sprites. It does everything<br>
-<a href=ref/pygame_sprite.html#Group>sprite.Group</a> - <b>(class)</b> - The basic Group class you will want to use.<br>
-<a href=ref/pygame_sprite.html#GroupSingle>sprite.GroupSingle</a> - <b>(class)</b> - A group container that holds a single most recent item.<br>
-<a href=ref/pygame_sprite.html#OrderedUpdates>sprite.OrderedUpdates</a> - <b>(class)</b> - RenderUpdates, but the sprites are drawn in the order they were added.<br>
-<a href=ref/pygame_sprite.html#RenderClear>sprite.RenderClear</a> - <b>(class)</b> - The basic Group class you will want to use.<br>
-<a href=ref/pygame_sprite.html#RenderPlain>sprite.RenderPlain</a> - <b>(class)</b> - The basic Group class you will want to use.<br>
-<a href=ref/pygame_sprite.html#RenderUpdates>sprite.RenderUpdates</a> - <b>(class)</b> - A sprite group that's more efficient at updating.<br>
+<a href=ref/pygame_sprite.html#Group.add>sprite.Group.add</a> -            add sprite to group<br>
+<a href=ref/pygame_sprite.html#Group.copy>sprite.Group.copy</a> -            copy a group with all the same sprites<br>
+<a href=ref/pygame_sprite.html#Group.empty>sprite.Group.empty</a> -            remove all sprites<br>
+<a href=ref/pygame_sprite.html#Group.has>sprite.Group.has</a> -            ask if group has sprite<br>
+<a href=ref/pygame_sprite.html#Group.remove>sprite.Group.remove</a> -            remove sprite from group<br>
+<a href=ref/pygame_sprite.html#Group.sprites>sprite.Group.sprites</a> -            return an object to loop over each sprite<br>
+<a href=ref/pygame_sprite.html#Group.update>sprite.Group.update</a> -            call update for all member sprites<br>
+<a href=ref/pygame_sprite.html#Group>sprite.Group</a> - <b>(class)</b> - the Group class is a container for sprites<br>
+<a href=ref/pygame_sprite.html#GroupSingle>sprite.GroupSingle</a> - <b>(class)</b> - a group container that holds a single most recent item<br>
+<a href=ref/pygame_sprite.html#RenderClear.clear>sprite.RenderClear.clear</a> -            erase the previous position of all sprites<br>
+<a href=ref/pygame_sprite.html#RenderClear.draw>sprite.RenderClear.draw</a> -            draw all sprites onto a surface<br>
+<a href=ref/pygame_sprite.html#RenderClear>sprite.RenderClear</a> - <b>(class)</b> - a group container that can draw and clear its sprites<br>
+<a href=ref/pygame_sprite.html#RenderPlain.draw>sprite.RenderPlain.draw</a> -            draw all sprites onto a surface<br>
+<a href=ref/pygame_sprite.html#RenderPlain>sprite.RenderPlain</a> - <b>(class)</b> - a sprite group that can draw all its sprites<br>
+<a href=ref/pygame_sprite.html#RenderUpdates.draw>sprite.RenderUpdates.draw</a> -            draw all sprites onto the surface<br>
+<a href=ref/pygame_sprite.html#RenderUpdates>sprite.RenderUpdates</a> - <b>(class)</b> - a sprite group that can draw and clear with update rectangles<br>
 <a href=ref/pygame_sprite.html#Sprite.add>sprite.Sprite.add</a> -            add a sprite to container<br>
-<a href=ref/pygame_sprite.html#Sprite.alive>sprite.Sprite.alive</a> -            check to see if the sprite is in any groups<br>
+<a href=ref/pygame_sprite.html#Sprite.alive>sprite.Sprite.alive</a> -            ask the life of a sprite<br>
 <a href=ref/pygame_sprite.html#Sprite.groups>sprite.Sprite.groups</a> -            list used sprite containers<br>
-<a href=ref/pygame_sprite.html#Sprite.kill>sprite.Sprite.kill</a> -            remove this sprite from all groups<br>
+<a href=ref/pygame_sprite.html#Sprite.kill>sprite.Sprite.kill</a> -            end life of sprite, remove from all groups<br>
 <a href=ref/pygame_sprite.html#Sprite.remove>sprite.Sprite.remove</a> -            remove a sprite from container<br>
-<a href=ref/pygame_sprite.html#Sprite>sprite.Sprite</a> - <b>(class)</b> - The base class for your visible game objects.<br>
+<a href=ref/pygame_sprite.html#Sprite>sprite.Sprite</a> - <b>(class)</b> - the base class for your visible game objects.<br>
 <a href=ref/pygame_sprite.html#groupcollide>sprite.groupcollide</a> -        collision detection between group and group<br>
 <a href=ref/pygame_sprite.html#spritecollide>sprite.spritecollide</a> -        collision detection between sprite and group<br>
 <a href=ref/pygame_sprite.html#spritecollideany>sprite.spritecollideany</a> -        finds any sprites that collide<br>

File docs/ref/CD.html

 || <a href=pygame.html>pygame</a> || 
 <a href=pygame_cdrom.html>cdrom</a> || 
 <a href=pygame_constants.html>constants</a> || 
-<a href=pygame_cursor.html>cursor</a> || 
 <a href=pygame_display.html>display</a> || 
-<a href=pygame_draw.html>draw</a> ||<br>
-|| <a href=pygame_event.html>event</a> || 
+<a href=pygame_draw.html>draw</a> || 
+<a href=pygame_event.html>event</a> ||<br>
+|| <a href=pygame_fastevent.html>fastevent</a> || 
 <a href=pygame_font.html>font</a> || 
 <a href=pygame_image.html>image</a> || 
 <a href=pygame_joystick.html>joystick</a> || 

File docs/ref/Channel.html

 || <a href=pygame.html>pygame</a> || 
 <a href=pygame_cdrom.html>cdrom</a> || 
 <a href=pygame_constants.html>constants</a> || 
-<a href=pygame_cursor.html>cursor</a> || 
 <a href=pygame_display.html>display</a> || 
-<a href=pygame_draw.html>draw</a> ||<br>
-|| <a href=pygame_event.html>event</a> || 
+<a href=pygame_draw.html>draw</a> || 
+<a href=pygame_event.html>event</a> ||<br>
+|| <a href=pygame_fastevent.html>fastevent</a> || 
 <a href=pygame_font.html>font</a> || 
 <a href=pygame_image.html>image</a> || 
 <a href=pygame_joystick.html>joystick</a> || 
 by supplying a volume for the left and right channels. If
 SDL_mixer cannot set the panning, it will average the two
 volumes. Panning requires SDL_mixer-1.2.1.
+<br>&nbsp;<br>
+NOTE: if the second argument is used then <a href=Sound.html#get_volume>get_volume()</a>
+ will not work how you think. It will always return 1.0.
 </ul><br>&nbsp;<br>
 
 <a name=stop><font size=+2><b>stop

File docs/ref/Clock.html

 || <a href=pygame.html>pygame</a> || 
 <a href=pygame_cdrom.html>cdrom</a> || 
 <a href=pygame_constants.html>constants</a> || 
-<a href=pygame_cursor.html>cursor</a> || 
 <a href=pygame_display.html>display</a> || 
-<a href=pygame_draw.html>draw</a> ||<br>
-|| <a href=pygame_event.html>event</a> || 
+<a href=pygame_draw.html>draw</a> || 
+<a href=pygame_event.html>event</a> ||<br>
+|| <a href=pygame_fastevent.html>fastevent</a> || 
 <a href=pygame_font.html>font</a> || 
 <a href=pygame_image.html>image</a> || 
 <a href=pygame_joystick.html>joystick</a> || 

File docs/ref/Font.html

 || <a href=pygame.html>pygame</a> || 
 <a href=pygame_cdrom.html>cdrom</a> || 
 <a href=pygame_constants.html>constants</a> || 
-<a href=pygame_cursor.html>cursor</a> || 
 <a href=pygame_display.html>display</a> || 
-<a href=pygame_draw.html>draw</a> ||<br>
-|| <a href=pygame_event.html>event</a> || 
+<a href=pygame_draw.html>draw</a> || 
+<a href=pygame_event.html>event</a> ||<br>
+|| <a href=pygame_fastevent.html>fastevent</a> || 
 <a href=pygame_font.html>font</a> || 
 <a href=pygame_image.html>image</a> || 
 <a href=pygame_joystick.html>joystick</a> || 

File docs/ref/Joystick.html

 || <a href=pygame.html>pygame</a> || 
 <a href=pygame_cdrom.html>cdrom</a> || 
 <a href=pygame_constants.html>constants</a> || 
-<a href=pygame_cursor.html>cursor</a> || 
 <a href=pygame_display.html>display</a> || 
-<a href=pygame_draw.html>draw</a> ||<br>
-|| <a href=pygame_event.html>event</a> || 
+<a href=pygame_draw.html>draw</a> || 
+<a href=pygame_event.html>event</a> ||<br>
+|| <a href=pygame_fastevent.html>fastevent</a> || 
 <a href=pygame_font.html>font</a> || 
 <a href=pygame_image.html>image</a> || 
 <a href=pygame_joystick.html>joystick</a> || 

File docs/ref/Movie.html

 || <a href=pygame.html>pygame</a> || 
 <a href=pygame_cdrom.html>cdrom</a> || 
 <a href=pygame_constants.html>constants</a> || 
-<a href=pygame_cursor.html>cursor</a> || 
 <a href=pygame_display.html>display</a> || 
-<a href=pygame_draw.html>draw</a> ||<br>
-|| <a href=pygame_event.html>event</a> || 
+<a href=pygame_draw.html>draw</a> || 
+<a href=pygame_event.html>event</a> ||<br>
+|| <a href=pygame_fastevent.html>fastevent</a> || 
 <a href=pygame_font.html>font</a> || 
 <a href=pygame_image.html>image</a> || 
 <a href=pygame_joystick.html>joystick</a> || 

File docs/ref/Overlay.html

 || <a href=pygame.html>pygame</a> || 
 <a href=pygame_cdrom.html>cdrom</a> || 
 <a href=pygame_constants.html>constants</a> || 
-<a href=pygame_cursor.html>cursor</a> || 
 <a href=pygame_display.html>display</a> || 
-<a href=pygame_draw.html>draw</a> ||<br>
-|| <a href=pygame_event.html>event</a> || 
+<a href=pygame_draw.html>draw</a> || 
+<a href=pygame_event.html>event</a> ||<br>
+|| <a href=pygame_fastevent.html>fastevent</a> || 
 <a href=pygame_font.html>font</a> || 
 <a href=pygame_image.html>image</a> || 
 <a href=pygame_joystick.html>joystick</a> || 

File docs/ref/Rect.html

 || <a href=pygame.html>pygame</a> || 
 <a href=pygame_cdrom.html>cdrom</a> || 
 <a href=pygame_constants.html>constants</a> || 
-<a href=pygame_cursor.html>cursor</a> || 
 <a href=pygame_display.html>display</a> || 
-<a href=pygame_draw.html>draw</a> ||<br>
-|| <a href=pygame_event.html>event</a> || 
+<a href=pygame_draw.html>draw</a> || 
+<a href=pygame_event.html>event</a> ||<br>
+|| <a href=pygame_fastevent.html>fastevent</a> || 
 <a href=pygame_font.html>font</a> || 
 <a href=pygame_image.html>image</a> || 
 <a href=pygame_joystick.html>joystick</a> || 

File docs/ref/Sound.html

 || <a href=pygame.html>pygame</a> || 
 <a href=pygame_cdrom.html>cdrom</a> || 
 <a href=pygame_constants.html>constants</a> || 
-<a href=pygame_cursor.html>cursor</a> || 
 <a href=pygame_display.html>display</a> || 
-<a href=pygame_draw.html>draw</a> ||<br>
-|| <a href=pygame_event.html>event</a> || 
+<a href=pygame_draw.html>draw</a> || 
+<a href=pygame_event.html>event</a> ||<br>
+|| <a href=pygame_fastevent.html>fastevent</a> || 
 <a href=pygame_font.html>font</a> || 
 <a href=pygame_image.html>image</a> || 
 <a href=pygame_joystick.html>joystick</a> || 

File docs/ref/Surface.html

 || <a href=pygame.html>pygame</a> || 
 <a href=pygame_cdrom.html>cdrom</a> || 
 <a href=pygame_constants.html>constants</a> || 
-<a href=pygame_cursor.html>cursor</a> || 
 <a href=pygame_display.html>display</a> || 
-<a href=pygame_draw.html>draw</a> ||<br>
-|| <a href=pygame_event.html>event</a> || 
+<a href=pygame_draw.html>draw</a> || 
+<a href=pygame_event.html>event</a> ||<br>
+|| <a href=pygame_fastevent.html>fastevent</a> || 
 <a href=pygame_font.html>font</a> || 
 <a href=pygame_image.html>image</a> || 
 <a href=pygame_joystick.html>joystick</a> || 

File docs/ref/pygame.html

 || <a href=pygame.html>pygame</a> || 
 <a href=pygame_cdrom.html>cdrom</a> || 
 <a href=pygame_constants.html>constants</a> || 
-<a href=pygame_cursor.html>cursor</a> || 
 <a href=pygame_display.html>display</a> || 
-<a href=pygame_draw.html>draw</a> ||<br>
-|| <a href=pygame_event.html>event</a> || 
+<a href=pygame_draw.html>draw</a> || 
+<a href=pygame_event.html>event</a> ||<br>
+|| <a href=pygame_fastevent.html>fastevent</a> || 
 <a href=pygame_font.html>font</a> || 
 <a href=pygame_image.html>image</a> || 
 <a href=pygame_joystick.html>joystick</a> || 
 </b></font><br><font size=+1><tt>
 pygame.get_sdl_version() -> (major, minor, patchlevel)
 </tt></font><ul>
-get the version of the linked SDL runtime
+{docs}
 </ul><br>&nbsp;<br>
 
 <a name=init><font size=+2><b>init

File docs/ref/pygame_cdrom.html

 || <a href=pygame.html>pygame</a> || 
 <a href=pygame_cdrom.html>cdrom</a> || 
 <a href=pygame_constants.html>constants</a> || 
-<a href=pygame_cursor.html>cursor</a> || 
 <a href=pygame_display.html>display</a> || 
-<a href=pygame_draw.html>draw</a> ||<br>
-|| <a href=pygame_event.html>event</a> || 
+<a href=pygame_draw.html>draw</a> || 
+<a href=pygame_event.html>event</a> ||<br>
+|| <a href=pygame_fastevent.html>fastevent</a> || 
 <a href=pygame_font.html>font</a> || 
 <a href=pygame_image.html>image</a> || 
 <a href=pygame_joystick.html>joystick</a> || 

File docs/ref/pygame_color.html

 || <a href=pygame.html>pygame</a> || 
 <a href=pygame_cdrom.html>cdrom</a> || 
 <a href=pygame_constants.html>constants</a> || 
-<a href=pygame_cursor.html>cursor</a> || 
 <a href=pygame_display.html>display</a> || 
-<a href=pygame_draw.html>draw</a> ||<br>
-|| <a href=pygame_event.html>event</a> || 
+<a href=pygame_draw.html>draw</a> || 
+<a href=pygame_event.html>event</a> ||<br>
+|| <a href=pygame_fastevent.html>fastevent</a> || 
 <a href=pygame_font.html>font</a> || 
 <a href=pygame_image.html>image</a> || 
 <a href=pygame_joystick.html>joystick</a> || 

File docs/ref/pygame_constants.html

 || <a href=pygame.html>pygame</a> || 
 <a href=pygame_cdrom.html>cdrom</a> || 
 <a href=pygame_constants.html>constants</a> || 
-<a href=pygame_cursor.html>cursor</a> || 
 <a href=pygame_display.html>display</a> || 
-<a href=pygame_draw.html>draw</a> ||<br>
-|| <a href=pygame_event.html>event</a> || 
+<a href=pygame_draw.html>draw</a> || 
+<a href=pygame_event.html>event</a> ||<br>
+|| <a href=pygame_fastevent.html>fastevent</a> || 
 <a href=pygame_font.html>font</a> || 
 <a href=pygame_image.html>image</a> || 
 <a href=pygame_joystick.html>joystick</a> || 

File docs/ref/pygame_cursors.html

 || <a href=pygame.html>pygame</a> || 
 <a href=pygame_cdrom.html>cdrom</a> || 
 <a href=pygame_constants.html>constants</a> || 
-<a href=pygame_cursor.html>cursor</a> || 
 <a href=pygame_display.html>display</a> || 
-<a href=pygame_draw.html>draw</a> ||<br>
-|| <a href=pygame_event.html>event</a> || 
+<a href=pygame_draw.html>draw</a> || 
+<a href=pygame_event.html>event</a> ||<br>
+|| <a href=pygame_fastevent.html>fastevent</a> || 
 <a href=pygame_font.html>font</a> || 
 <a href=pygame_image.html>image</a> || 
 <a href=pygame_joystick.html>joystick</a> || 
         broken_x, tri_left, tri_right
 <br>&nbsp;<br>
 There is also a sample string cursor named 'thickarrow_strings'.
-The <a href=pygame_cursor.html#compile>compile()</a> function can convert these string cursors into cursor byte data.
+The <a href=#compile>compile()</a> function can convert these string cursors into cursor byte data.
 <br>&nbsp;<br>
 
 <hr>
 
 <table>
+<tr><td><a href=#compile>compile</a></td><td> -
+compile cursor strings into cursor data</td></tr>
+
+
 <tr><td><a href=#load_xbm>load_xbm</a></td><td> -
 reads a pair of XBM files into set_cursor arguments</td></tr>
 
 
 <hr>
 
+<a name=compile><font size=+2><b>compile
+</b></font><br><font size=+1><tt>
+pygame.cursors.compile(strings, black, white) -> data, mask
+</tt></font><ul>
+This takes a set of strings with equal length and computes
+the binary data for that cursor. The string widths must be
+divisible by 8.
+<br>&nbsp;<br>
+The black and white arguments are single letter strings that
+tells which characters will represent black pixels, and which
+characters represent white pixels. All other characters are
+considered clear.
+<br>&nbsp;<br>
+This returns a tuple containing the cursor data and cursor mask
+data. Both these arguments are used when setting a cursor with
+<a href=pygame_mouse.html#set_cursor>pygame.mouse.set_cursor()</a>.
+<br>&nbsp;<br>
+</ul><br>&nbsp;<br>
+
 <a name=load_xbm><font size=+2><b>load_xbm
 </b></font><br><font size=+1><tt>
 pygame.cursors.load_xbm(cursorfile, maskfile) -> cursor_args

File docs/ref/pygame_display.html

 || <a href=pygame.html>pygame</a> || 
 <a href=pygame_cdrom.html>cdrom</a> || 
 <a href=pygame_constants.html>constants</a> || 
-<a href=pygame_cursor.html>cursor</a> || 
 <a href=pygame_display.html>display</a> || 
-<a href=pygame_draw.html>draw</a> ||<br>
-|| <a href=pygame_event.html>event</a> || 
+<a href=pygame_draw.html>draw</a> || 
+<a href=pygame_event.html>event</a> ||<br>
+|| <a href=pygame_fastevent.html>fastevent</a> || 
 <a href=pygame_font.html>font</a> || 
 <a href=pygame_image.html>image</a> || 
 <a href=pygame_joystick.html>joystick</a> || 

File docs/ref/pygame_draw.html

 || <a href=pygame.html>pygame</a> || 
 <a href=pygame_cdrom.html>cdrom</a> || 
 <a href=pygame_constants.html>constants</a> || 
-<a href=pygame_cursor.html>cursor</a> || 
 <a href=pygame_display.html>display</a> || 
-<a href=pygame_draw.html>draw</a> ||<br>
-|| <a href=pygame_event.html>event</a> || 
+<a href=pygame_draw.html>draw</a> || 
+<a href=pygame_event.html>event</a> ||<br>
+|| <a href=pygame_fastevent.html>fastevent</a> || 
 <a href=pygame_font.html>font</a> || 
 <a href=pygame_image.html>image</a> || 
 <a href=pygame_joystick.html>joystick</a> || 

File docs/ref/pygame_event.html

 || <a href=pygame.html>pygame</a> || 
 <a href=pygame_cdrom.html>cdrom</a> || 
 <a href=pygame_constants.html>constants</a> || 
-<a href=pygame_cursor.html>cursor</a> || 
 <a href=pygame_display.html>display</a> || 
-<a href=pygame_draw.html>draw</a> ||<br>
-|| <a href=pygame_event.html>event</a> || 
+<a href=pygame_draw.html>draw</a> || 
+<a href=pygame_event.html>event</a> ||<br>
+|| <a href=pygame_fastevent.html>fastevent</a> || 
 <a href=pygame_font.html>font</a> || 
 <a href=pygame_image.html>image</a> || 
 <a href=pygame_joystick.html>joystick</a> || 

File docs/ref/pygame_font.html

 || <a href=pygame.html>pygame</a> || 
 <a href=pygame_cdrom.html>cdrom</a> || 
 <a href=pygame_constants.html>constants</a> || 
-<a href=pygame_cursor.html>cursor</a> || 
 <a href=pygame_display.html>display</a> || 
-<a href=pygame_draw.html>draw</a> ||<br>
-|| <a href=pygame_event.html>event</a> || 
+<a href=pygame_draw.html>draw</a> || 
+<a href=pygame_event.html>event</a> ||<br>
+|| <a href=pygame_fastevent.html>fastevent</a> || 
 <a href=pygame_font.html>font</a> || 
 <a href=pygame_image.html>image</a> || 
 <a href=pygame_joystick.html>joystick</a> || 
 
 <a name=SysFont><font size=+2><b>SysFont
 </b></font><br><font size=+1><tt>
-pygame.font.SysFont(name, size, bold=False, italic=False) -> Font
+pygame.font.SysFont(name, size, bold=0, italic=0) -> Font
 </tt></font><ul>
        This will search the system fonts for the given font
        name. You can also enable bold or italic styles, and

File docs/ref/pygame_image.html

 || <a href=pygame.html>pygame</a> || 
 <a href=pygame_cdrom.html>cdrom</a> || 
 <a href=pygame_constants.html>constants</a> || 
-<a href=pygame_cursor.html>cursor</a> || 
 <a href=pygame_display.html>display</a> || 
-<a href=pygame_draw.html>draw</a> ||<br>
-|| <a href=pygame_event.html>event</a> || 
+<a href=pygame_draw.html>draw</a> || 
+<a href=pygame_event.html>event</a> ||<br>
+|| <a href=pygame_fastevent.html>fastevent</a> || 
 <a href=pygame_font.html>font</a> || 
 <a href=pygame_image.html>image</a> || 
 <a href=pygame_joystick.html>joystick</a> || 

File docs/ref/pygame_joystick.html

 || <a href=pygame.html>pygame</a> || 
 <a href=pygame_cdrom.html>cdrom</a> || 
 <a href=pygame_constants.html>constants</a> || 
-<a href=pygame_cursor.html>cursor</a> || 
 <a href=pygame_display.html>display</a> || 
-<a href=pygame_draw.html>draw</a> ||<br>
-|| <a href=pygame_event.html>event</a> || 
+<a href=pygame_draw.html>draw</a> || 
+<a href=pygame_event.html>event</a> ||<br>
+|| <a href=pygame_fastevent.html>fastevent</a> || 
 <a href=pygame_font.html>font</a> || 
 <a href=pygame_image.html>image</a> || 
 <a href=pygame_joystick.html>joystick</a> || 

File docs/ref/pygame_key.html

 || <a href=pygame.html>pygame</a> || 
 <a href=pygame_cdrom.html>cdrom</a> || 
 <a href=pygame_constants.html>constants</a> || 
-<a href=pygame_cursor.html>cursor</a> || 
 <a href=pygame_display.html>display</a> || 
-<a href=pygame_draw.html>draw</a> ||<br>
-|| <a href=pygame_event.html>event</a> || 
+<a href=pygame_draw.html>draw</a> || 
+<a href=pygame_event.html>event</a> ||<br>
+|| <a href=pygame_fastevent.html>fastevent</a> || 
 <a href=pygame_font.html>font</a> || 
 <a href=pygame_image.html>image</a> || 
 <a href=pygame_joystick.html>joystick</a> || 

File docs/ref/pygame_mixer.html

 || <a href=pygame.html>pygame</a> || 
 <a href=pygame_cdrom.html>cdrom</a> || 
 <a href=pygame_constants.html>constants</a> || 
-<a href=pygame_cursor.html>cursor</a> || 
 <a href=pygame_display.html>display</a> || 
-<a href=pygame_draw.html>draw</a> ||<br>
-|| <a href=pygame_event.html>event</a> || 
+<a href=pygame_draw.html>draw</a> || 
+<a href=pygame_event.html>event</a> ||<br>
+|| <a href=pygame_fastevent.html>fastevent</a> || 
 <a href=pygame_font.html>font</a> || 
 <a href=pygame_image.html>image</a> || 
 <a href=pygame_joystick.html>joystick</a> || 

File docs/ref/pygame_mixer_music.html

 || <a href=pygame.html>pygame</a> || 
 <a href=pygame_cdrom.html>cdrom</a> || 
 <a href=pygame_constants.html>constants</a> || 
-<a href=pygame_cursor.html>cursor</a> || 
 <a href=pygame_display.html>display</a> || 
-<a href=pygame_draw.html>draw</a> ||<br>
-|| <a href=pygame_event.html>event</a> || 
+<a href=pygame_draw.html>draw</a> || 
+<a href=pygame_event.html>event</a> ||<br>
+|| <a href=pygame_fastevent.html>fastevent</a> || 
 <a href=pygame_font.html>font</a> || 
 <a href=pygame_image.html>image</a> || 
 <a href=pygame_joystick.html>joystick</a> || 
 This will load a music file and queue it. A queued music file
 will begin as soon as the current music naturally ends. If the
 current music is ever stopped or changed, the queued song will
-be lost.
+be lost. If loading the queued song fails, the currently queued
+song will not be replaced.
 </ul><br>&nbsp;<br>
 
 <a name=rewind><font size=+2><b>rewind

File docs/ref/pygame_mouse.html

 || <a href=pygame.html>pygame</a> || 
 <a href=pygame_cdrom.html>cdrom</a> || 
 <a href=pygame_constants.html>constants</a> || 
-<a href=pygame_cursor.html>cursor</a> || 
 <a href=pygame_display.html>display</a> || 
-<a href=pygame_draw.html>draw</a> ||<br>
-|| <a href=pygame_event.html>event</a> || 
+<a href=pygame_draw.html>draw</a> || 
+<a href=pygame_event.html>event</a> ||<br>
+|| <a href=pygame_fastevent.html>fastevent</a> || 
 <a href=pygame_font.html>font</a> || 
 <a href=pygame_image.html>image</a> || 
 <a href=pygame_joystick.html>joystick</a> || 

File docs/ref/pygame_movie.html

 || <a href=pygame.html>pygame</a> || 
 <a href=pygame_cdrom.html>cdrom</a> || 
 <a href=pygame_constants.html>constants</a> || 
-<a href=pygame_cursor.html>cursor</a> || 
 <a href=pygame_display.html>display</a> || 
-<a href=pygame_draw.html>draw</a> ||<br>
-|| <a href=pygame_event.html>event</a> || 
+<a href=pygame_draw.html>draw</a> || 
+<a href=pygame_event.html>event</a> ||<br>
+|| <a href=pygame_fastevent.html>fastevent</a> || 
 <a href=pygame_font.html>font</a> || 
 <a href=pygame_image.html>image</a> || 
 <a href=pygame_joystick.html>joystick</a> || 

File docs/ref/pygame_sndarray.html

 || <a href=pygame.html>pygame</a> || 
 <a href=pygame_cdrom.html>cdrom</a> || 
 <a href=pygame_constants.html>constants</a> || 
-<a href=pygame_cursor.html>cursor</a> || 
 <a href=pygame_display.html>display</a> || 
-<a href=pygame_draw.html>draw</a> ||<br>
-|| <a href=pygame_event.html>event</a> || 
+<a href=pygame_draw.html>draw</a> || 
+<a href=pygame_event.html>event</a> ||<br>
+|| <a href=pygame_fastevent.html>fastevent</a> || 
 <a href=pygame_font.html>font</a> || 
 <a href=pygame_image.html>image</a> || 
 <a href=pygame_joystick.html>joystick</a> || 

File docs/ref/pygame_sprite.html

 || <a href=pygame.html>pygame</a> || 
 <a href=pygame_cdrom.html>cdrom</a> || 
 <a href=pygame_constants.html>constants</a> || 
-<a href=pygame_cursor.html>cursor</a> || 
 <a href=pygame_display.html>display</a> || 
-<a href=pygame_draw.html>draw</a> ||<br>
-|| <a href=pygame_event.html>event</a> || 
+<a href=pygame_draw.html>draw</a> || 
+<a href=pygame_event.html>event</a> ||<br>
+|| <a href=pygame_fastevent.html>fastevent</a> || 
 <a href=pygame_font.html>font</a> || 
 <a href=pygame_image.html>image</a> || 
 <a href=pygame_joystick.html>joystick</a> || 
 exists. You may also pass a sequence of sprites or groups
 to these functions and each one will be used.
 <br>&nbsp;<br>
-While it is possible to design sprite and group classes
-that don't derive from the Sprite and AbstractGroup classes
-below, it is strongly recommended that you extend those
-when you add a Sprite or Group class.
+The design of the sprites and groups is very flexible.
+There's no need to inherit from the provided classes, you
+can use any object you want for the sprites, as long as it
+contains "add_internal" and "remove_internal" methods,
+which are called by the groups when they remove and add
+sprites. The same is true for containers. A container
+can be any python object that has "add_internal" and
+"remove_internal" methods that the sprites call when
+they want add and remove themselves from containers. The
+containers must also have a member named "_spritegroup",
+which can be set to any dummy value.
 <br>&nbsp;<br>
 
 <hr>
 
 <table>
-<tr><td><a href=#AbstractGroup>AbstractGroup</a></td><td> -
-<b>(class)</b> - A base for containers for sprites. It does everything</td></tr>
+<tr><td><a href=#Group>Group</a></td><td> -
+<b>(class)</b> - the Group class is a container for sprites</td></tr>
 
 
-<tr><td><a href=#AbstractGroup.add>AbstractGroup.add</a></td><td> -
+<tr><td><a href=#Group.add>Group.add</a></td><td> -
            add sprite to group</td></tr>
 
 
-<tr><td><a href=#AbstractGroup.clear>AbstractGroup.clear</a></td><td> -
+<tr><td><a href=#Group.copy>Group.copy</a></td><td> -
+           copy a group with all the same sprites</td></tr>
+
+
+<tr><td><a href=#Group.empty>Group.empty</a></td><td> -
+           remove all sprites</td></tr>
+
+
+<tr><td><a href=#Group.has>Group.has</a></td><td> -
+           ask if group has sprite</td></tr>
+
+
+<tr><td><a href=#Group.remove>Group.remove</a></td><td> -
+           remove sprite from group</td></tr>
+
+
+<tr><td><a href=#Group.sprites>Group.sprites</a></td><td> -
+           return an object to loop over each sprite</td></tr>
+
+
+<tr><td><a href=#Group.update>Group.update</a></td><td> -
+           call update for all member sprites</td></tr>
+
+
+<tr><td><a href=#GroupSingle>GroupSingle</a></td><td> -
+<b>(class)</b> - a group container that holds a single most recent item</td></tr>
+
+
+<tr><td><a href=#RenderClear>RenderClear</a></td><td> -
+<b>(class)</b> - a group container that can draw and clear its sprites</td></tr>
+
+
+<tr><td><a href=#RenderClear.clear>RenderClear.clear</a></td><td> -
            erase the previous position of all sprites</td></tr>
 
 
-<tr><td><a href=#AbstractGroup.copy>AbstractGroup.copy</a></td><td> -
-           copy a group with all the same sprites</td></tr>
+<tr><td><a href=#RenderClear.draw>RenderClear.draw</a></td><td> -
+           draw all sprites onto a surface</td></tr>
 
 
-<tr><td><a href=#AbstractGroup.draw>AbstractGroup.draw</a></td><td> -
+<tr><td><a href=#RenderPlain>RenderPlain</a></td><td> -
+<b>(class)</b> - a sprite group that can draw all its sprites</td></tr>
+
+
+<tr><td><a href=#RenderPlain.draw>RenderPlain.draw</a></td><td> -
+           draw all sprites onto a surface</td></tr>
+
+
+<tr><td><a href=#RenderUpdates>RenderUpdates</a></td><td> -
+<b>(class)</b> - a sprite group that can draw and clear with update rectangles</td></tr>
+
+
+<tr><td><a href=#RenderUpdates.draw>RenderUpdates.draw</a></td><td> -
            draw all sprites onto the surface</td></tr>
 
 
-<tr><td><a href=#AbstractGroup.empty>AbstractGroup.empty</a></td><td> -
-           remove all sprites</td></tr>
-
-
-<tr><td><a href=#AbstractGroup.has>AbstractGroup.has</a></td><td> -
-           ask if group has a sprite or sprites</td></tr>
-
-
-<tr><td><a href=#AbstractGroup.remove>AbstractGroup.remove</a></td><td> -
-           remove sprite from group</td></tr>
-
-
-<tr><td><a href=#AbstractGroup.sprites>AbstractGroup.sprites</a></td><td> -
-           get a list of sprites in the group</td></tr>
-
-
-<tr><td><a href=#AbstractGroup.update>AbstractGroup.update</a></td><td> -
-           call update for all member sprites</td></tr>
-
-
-<tr><td><a href=#Group>Group</a></td><td> -
-<b>(class)</b> - The basic Group class you will want to use.</td></tr>
-
-
-<tr><td><a href=#GroupSingle>GroupSingle</a></td><td> -
-<b>(class)</b> - A group container that holds a single most recent item.</td></tr>
-
-
-<tr><td><a href=#OrderedUpdates>OrderedUpdates</a></td><td> -
-<b>(class)</b> - RenderUpdates, but the sprites are drawn in the order they were added.</td></tr>
-
-
-<tr><td><a href=#RenderClear>RenderClear</a></td><td> -
-<b>(class)</b> - The basic Group class you will want to use.</td></tr>
-
-
-<tr><td><a href=#RenderPlain>RenderPlain</a></td><td> -
-<b>(class)</b> - The basic Group class you will want to use.</td></tr>
-
-
-<tr><td><a href=#RenderUpdates>RenderUpdates</a></td><td> -
-<b>(class)</b> - A sprite group that's more efficient at updating.</td></tr>
-
-
 <tr><td><a href=#Sprite>Sprite</a></td><td> -
-<b>(class)</b> - The base class for your visible game objects.</td></tr>
+<b>(class)</b> - the base class for your visible game objects.</td></tr>
 
 
 <tr><td><a href=#Sprite.add>Sprite.add</a></td><td> -
 
 
 <tr><td><a href=#Sprite.alive>Sprite.alive</a></td><td> -
-           check to see if the sprite is in any groups</td></tr>
+           ask the life of a sprite</td></tr>
 
 
 <tr><td><a href=#Sprite.groups>Sprite.groups</a></td><td> -
 
 
 <tr><td><a href=#Sprite.kill>Sprite.kill</a></td><td> -
-           remove this sprite from all groups</td></tr>
+           end life of sprite, remove from all groups</td></tr>
 
 
 <tr><td><a href=#Sprite.remove>Sprite.remove</a></td><td> -
 
 <hr>
 
-<a name=AbstractGroup><font size=+2><b>AbstractGroup
+<a name=Group><font size=+2><b>Group
 </b></font><br><font size=+1><tt>
-pygame.sprite.AbstractGroup()
+pygame.sprite.Group(sprite=())
 </tt></font><ul>
-A base for containers for sprites. It does everything
+the Group class is a container for sprites
+       This is the base sprite group class. It does everything
        needed to behave as a normal group. You can easily inherit
-       a new group class from this, or the other groups below,
-       if you want to add more features.
+       a new group class from this if you want to add more features.
 <br>&nbsp;<br>
-       Any AbstractGroup-derived sprite groups act like sequences,
-       and support iteration, len, and so on.
 <br>&nbsp;<br>
+           You can initialize a group by passing it a
+           sprite or sequence of sprites to be contained.
 </ul><br>&nbsp;<br>
 
-<a name=AbstractGroup.add><font size=+2><b>AbstractGroup.add
+<a name=Group.add><font size=+2><b>Group.add
 </b></font><br><font size=+1><tt>
-pygame.sprite.AbstractGroup.add(sprite, list, or group, ...)
+pygame.sprite.Group.add(sprite)
 </tt></font><ul>
            Add a sprite or sequence of sprites to a group.
 </ul><br>&nbsp;<br>
 
-<a name=AbstractGroup.clear><font size=+2><b>AbstractGroup.clear
+<a name=Group.copy><font size=+2><b>Group.copy
 </b></font><br><font size=+1><tt>
-pygame.sprite.AbstractGroup.clear(surface, bgd)
+pygame.sprite.Group.copy() -> Group
+</tt></font><ul>
+           Returns a copy of the group that is the same class
+           type, and has the same contained sprites.
+</ul><br>&nbsp;<br>
+
+<a name=Group.empty><font size=+2><b>Group.empty
+</b></font><br><font size=+1><tt>
+pygame.sprite.Group.empty()
+</tt></font><ul>
+           Removes all the sprites from the group.
+</ul><br>&nbsp;<br>
+
+<a name=Group.has><font size=+2><b>Group.has
+</b></font><br><font size=+1><tt>
+pygame.sprite.Group.has(sprite) -> bool
+</tt></font><ul>
+           Returns true if the given sprite or sprites are
+           contained in the group
+</ul><br>&nbsp;<br>
+
+<a name=Group.remove><font size=+2><b>Group.remove
+</b></font><br><font size=+1><tt>
+pygame.sprite.Group.remove(sprite)
+</tt></font><ul>
+           Remove a sprite or sequence of sprites from a group.
+</ul><br>&nbsp;<br>
+
+<a name=Group.sprites><font size=+2><b>Group.sprites
+</b></font><br><font size=+1><tt>
+pygame.sprite.Group.sprites() -> iterator
+</tt></font><ul>
+           Returns an object that can be looped over with
+           a 'for' loop. (For now it is always a list, but
+           newer version of python could return different
+           objects, like iterators.)
+</ul><br>&nbsp;<br>
+
+<a name=Group.update><font size=+2><b>Group.update
+</b></font><br><font size=+1><tt>
+pygame.sprite.Group.update(...)
+</tt></font><ul>
+           calls the update method for all sprites in the group.
+           Passes all arguments on to the Sprite update function.
+</ul><br>&nbsp;<br>
+
+<a name=GroupSingle><font size=+2><b>GroupSingle
+</b></font><br><font size=+1><tt>
+pygame.sprite.GroupSingle()
+</tt></font><ul>
+a group container that holds a single most recent item
+       This class works just like a regular group, but it only
+       keeps a single sprite in the group. Whatever sprite has
+       been added to the group last, will be the only sprite in
+       the group.
+<br>&nbsp;<br>
+</ul><br>&nbsp;<br>
+
+<a name=RenderClear><font size=+2><b>RenderClear
+</b></font><br><font size=+1><tt>
+pygame.sprite.RenderClear()
+</tt></font><ul>
+a group container that can draw and clear its sprites
+       The RenderClear group is just like a normal group,
+       but it can draw and clear the sprites. Any sprites
+       used in this group must contain member elements
+       named "image" and "rect". These are a pygame Surface
+       and Rect, which are passed to a blit call.
+<br>&nbsp;<br>
+</ul><br>&nbsp;<br>
+
+<a name=RenderClear.clear><font size=+2><b>RenderClear.clear
+</b></font><br><font size=+1><tt>
+pygame.sprite.RenderClear.clear(surface, bgd)
 </tt></font><ul>
            Clears the area of all drawn sprites. the bgd
            argument should be Surface which is the same
            surface and the area to be cleared.
 </ul><br>&nbsp;<br>
 
-<a name=AbstractGroup.copy><font size=+2><b>AbstractGroup.copy
+<a name=RenderClear.draw><font size=+2><b>RenderClear.draw
 </b></font><br><font size=+1><tt>
-pygame.sprite.AbstractGroup.copy()
-</tt></font><ul>
-           Returns a copy of the group that is the same class
-           type, and has the same sprites in it.
-</ul><br>&nbsp;<br>
-
-<a name=AbstractGroup.draw><font size=+2><b>AbstractGroup.draw
-</b></font><br><font size=+1><tt>
-pygame.sprite.AbstractGroup.draw(surface)
+pygame.sprite.RenderClear.draw(surface)
 </tt></font><ul>
            Draws all the sprites onto the given surface.
 </ul><br>&nbsp;<br>
 
-<a name=AbstractGroup.empty><font size=+2><b>AbstractGroup.empty
+<a name=RenderPlain><font size=+2><b>RenderPlain
 </b></font><br><font size=+1><tt>
-pygame.sprite.AbstractGroup.empty()
+pygame.sprite.RenderPlain(sprite=())
 </tt></font><ul>
-           Removes all the sprites from the group.
+a sprite group that can draw all its sprites
+       The RenderPlain group is just like a normal group,
+       it just adds a "draw" method. Any sprites used with
+       this group to draw must contain two member elements
+       named "image" and "rect". These are a pygame Surface
+       and Rect object that are passed to blit.
+<br>&nbsp;<br>
+<br>&nbsp;<br>
+           You can initialize a group by passing it a
+           sprite or sequence of sprites to be contained.
 </ul><br>&nbsp;<br>
 
-<a name=AbstractGroup.has><font size=+2><b>AbstractGroup.has
+<a name=RenderPlain.draw><font size=+2><b>RenderPlain.draw
 </b></font><br><font size=+1><tt>
-pygame.sprite.AbstractGroup.has(sprite or group, ...)
+pygame.sprite.RenderPlain.draw(surface)
 </tt></font><ul>
-           Returns true if the given sprite or sprites are
-           contained in the group. You can also use 'sprite in group'
-           or 'subgroup in group'.
-</ul><br>&nbsp;<br>
-
-<a name=AbstractGroup.remove><font size=+2><b>AbstractGroup.remove
-</b></font><br><font size=+1><tt>
-pygame.sprite.AbstractGroup.remove(sprite, list, or group, ...)
-</tt></font><ul>
-           Remove a sprite or sequence of sprites from a group.
-</ul><br>&nbsp;<br>
-
-<a name=AbstractGroup.sprites><font size=+2><b>AbstractGroup.sprites
-</b></font><br><font size=+1><tt>
-pygame.sprite.AbstractGroup.sprites()
-</tt></font><ul>
-           Returns an object that can be looped over with a 'for' loop.
-           (For now it is always a list, but newer version of Python
-           could return different iterators.) You can also iterate directly
-           over the sprite group.
-</ul><br>&nbsp;<br>
-
-<a name=AbstractGroup.update><font size=+2><b>AbstractGroup.update
-</b></font><br><font size=+1><tt>
-pygame.sprite.AbstractGroup.update(*args)
-</tt></font><ul>
-           calls the update method for all sprites in the group.
-           Passes all arguments on to the Sprite update function.
-</ul><br>&nbsp;<br>
-
-<a name=Group><font size=+2><b>Group
-</b></font><br><font size=+1><tt>
-pygame.sprite.Group()
-</tt></font><ul>
-The basic Group class you will want to use.
-       It supports all of the above operations and methods.
-<br>&nbsp;<br>
-       The RenderPlain and RenderClear groups are aliases to Group
-       for compatibility.
-<br>&nbsp;<br>
-</ul><br>&nbsp;<br>
-
-<a name=GroupSingle><font size=+2><b>GroupSingle
-</b></font><br><font size=+1><tt>
-pygame.sprite.GroupSingle()
-</tt></font><ul>
-A group container that holds a single most recent item.
-       This class works just like a regular group, but it only
-       keeps a single sprite in the group. Whatever sprite has
-       been added to the group last, will be the only sprite in
-       the group.
-<br>&nbsp;<br>
-       You can access its one sprite as the .sprite attribute.
-       Assigning to this attribute will properly remove the old
-       sprite and then add the new one.
-<br>&nbsp;<br>
-</ul><br>&nbsp;<br>
-
-<a name=OrderedUpdates><font size=+2><b>OrderedUpdates
-</b></font><br><font size=+1><tt>
-pygame.sprite.OrderedUpdates()
-</tt></font><ul>
-RenderUpdates, but the sprites are drawn in the order they were added.
-       More recently added sprites are drawn last (and so, above other
-       sprites).
-<br>&nbsp;<br>
-</ul><br>&nbsp;<br>
-
-<a name=RenderClear><font size=+2><b>RenderClear
-</b></font><br><font size=+1><tt>
-pygame.sprite.RenderClear()
-</tt></font><ul>
-The basic Group class you will want to use.
-       It supports all of the above operations and methods.
-<br>&nbsp;<br>
-       The RenderPlain and RenderClear groups are aliases to Group
-       for compatibility.
-<br>&nbsp;<br>
-</ul><br>&nbsp;<br>
-
-<a name=RenderPlain><font size=+2><b>RenderPlain
-</b></font><br><font size=+1><tt>
-pygame.sprite.RenderPlain()
-</tt></font><ul>
-The basic Group class you will want to use.
-       It supports all of the above operations and methods.
-<br>&nbsp;<br>
-       The RenderPlain and RenderClear groups are aliases to Group
-       for compatibility.
-<br>&nbsp;<br>
+           Draws all the sprites onto the given surface.
 </ul><br>&nbsp;<br>
 
 <a name=RenderUpdates><font size=+2><b>RenderUpdates
 </b></font><br><font size=+1><tt>
 pygame.sprite.RenderUpdates()
 </tt></font><ul>
-A sprite group that's more efficient at updating.
-       This group supports drawing to the screen, but its draw method
-       also returns a list of the Rects updated by the draw (and any
-       clears in between the last draw and the current one). You
-       can use <a href=pygame_display.html#update>pygame.display.update(renderupdates_group.draw(screen)</a>)
-       to minimize the updated part of the screen. This can usually
-       make things much faster.
+a sprite group that can draw and clear with update rectangles
+       The RenderUpdates is derived from the RenderClear group
+       and keeps track of all the areas drawn and cleared. It
+       also smartly handles overlapping areas between where a
+       sprite was drawn and cleared when generating the update
+       rectangles.
 <br>&nbsp;<br>
 </ul><br>&nbsp;<br>
 
+<a name=RenderUpdates.draw><font size=+2><b>RenderUpdates.draw
+</b></font><br><font size=+1><tt>
+pygame.sprite.RenderUpdates.draw(surface)
+</tt></font><ul>
+           Draws all the sprites onto the given surface. It
+           returns a list of rectangles, which should be passed
+           to <a href=pygame_display.html#update>pygame.display.update()</a>
+</ul><br>&nbsp;<br>
+
 <a name=Sprite><font size=+2><b>Sprite
 </b></font><br><font size=+1><tt>
-pygame.sprite.Sprite()
+pygame.sprite.Sprite(group=())
 </tt></font><ul>
-The base class for your visible game objects.
+the base class for your visible game objects.
        The sprite class is meant to be used as a base class
        for the objects in your game. It just provides functions
-       to maintain itself in different groups.
+       to maintain itself in different groups. A sprite is
+       considered 'alive' as long as it is a member of one
+       or more groups. The kill() method simply removes this
+       sprite from all groups.
 <br>&nbsp;<br>
-       You can initialize a sprite by passing it a group or sequence
-       of groups to be contained in.
 <br>&nbsp;<br>
-       When you subclass Sprite, you must call this
-       pygame.sprite.Sprite.__init__(self) before you add the sprite
-       to any groups, or you will get an error.
-<br>&nbsp;<br>
+           You can initialize a sprite by passing it a
+           group or sequence of groups to be contained in.
 </ul><br>&nbsp;<br>
 
 <a name=Sprite.add><font size=+2><b>Sprite.add
 </b></font><br><font size=+1><tt>
-pygame.sprite.Sprite.add(group or list of of groups, ...)
+pygame.sprite.Sprite.add(group)
 </tt></font><ul>
            Add the sprite to a group or sequence of groups.
 </ul><br>&nbsp;<br>
 
 <a name=Sprite.groups><font size=+2><b>Sprite.groups
 </b></font><br><font size=+1><tt>
-pygame.sprite.Sprite.groups() -> list of groups
+pygame.sprite.Sprite.groups() -> list
 </tt></font><ul>
            Returns a list of all the groups that contain this
-           sprite. These are not returned in any meaningful order.
+           sprite.
 </ul><br>&nbsp;<br>
 
 <a name=Sprite.kill><font size=+2><b>Sprite.kill
 pygame.sprite.Sprite.kill()
 </tt></font><ul>
            Removes the sprite from all the groups that contain
-           it. The sprite still exists after calling this,
+           it. The sprite is still fine after calling this kill()
            so you could use it to remove a sprite from all groups,
            and then add it to some other groups.
 </ul><br>&nbsp;<br>
 
 <a name=Sprite.remove><font size=+2><b>Sprite.remove
 </b></font><br><font size=+1><tt>
-pygame.sprite.Sprite.remove(group or list of groups, ...)
+pygame.sprite.Sprite.remove(group)
 </tt></font><ul>
            Remove the sprite from a group or sequence of groups.
 </ul><br>&nbsp;<br>

File docs/ref/pygame_surfarray.html

 || <a href=pygame.html>pygame</a> || 
 <a href=pygame_cdrom.html>cdrom</a> || 
 <a href=pygame_constants.html>constants</a> || 
-<a href=pygame_cursor.html>cursor</a> || 
 <a href=pygame_display.html>display</a> || 
-<a href=pygame_draw.html>draw</a> ||<br>
-|| <a href=pygame_event.html>event</a> || 
+<a href=pygame_draw.html>draw</a> || 
+<a href=pygame_event.html>event</a> ||<br>
+|| <a href=pygame_fastevent.html>fastevent</a> || 
 <a href=pygame_font.html>font</a> || 
 <a href=pygame_image.html>image</a> || 
 <a href=pygame_joystick.html>joystick</a> || 

File docs/ref/pygame_time.html

 || <a href=pygame.html>pygame</a> || 
 <a href=pygame_cdrom.html>cdrom</a> || 
 <a href=pygame_constants.html>constants</a> || 
-<a href=pygame_cursor.html>cursor</a> || 
 <a href=pygame_display.html>display</a> || 
-<a href=pygame_draw.html>draw</a> ||<br>
-|| <a href=pygame_event.html>event</a> || 
+<a href=pygame_draw.html>draw</a> || 
+<a href=pygame_event.html>event</a> ||<br>
+|| <a href=pygame_fastevent.html>fastevent</a> || 
 <a href=pygame_font.html>font</a> || 
 <a href=pygame_image.html>image</a> || 
 <a href=pygame_joystick.html>joystick</a> || 

File docs/ref/pygame_transform.html

 || <a href=pygame.html>pygame</a> || 
 <a href=pygame_cdrom.html>cdrom</a> || 
 <a href=pygame_constants.html>constants</a> || 
-<a href=pygame_cursor.html>cursor</a> || 
 <a href=pygame_display.html>display</a> || 
-<a href=pygame_draw.html>draw</a> ||<br>
-|| <a href=pygame_event.html>event</a> || 
+<a href=pygame_draw.html>draw</a> || 
+<a href=pygame_event.html>event</a> ||<br>
+|| <a href=pygame_fastevent.html>fastevent</a> || 
 <a href=pygame_font.html>font</a> || 
 <a href=pygame_image.html>image</a> || 
 <a href=pygame_joystick.html>joystick</a> || 

File lib/cursors.py

 
 
 def compile(strings, black='X', white='.',xor='o'):
-   """pygame.cursor.compile(strings, black, white,xor) -> data, mask
+   """pygame.cursors.compile(strings, black, white,xor) -> data, mask
 compile cursor strings into cursor data
 
 This takes a set of strings with equal length and computes