pygame / TODO.txt

CRITICAL:
=========
* make LayeredGroups class independent from sdl surfaces, where possible
* check anything for possible integer/float overflows
* Check display surface tracking for multiple calls to set_mode using
  different return variables.
* Argument parsing must handle 64-bit conversions correctly.
* Check trunk 1953 (blit blend operations).
* Check trunk rev. 1937, 1947 (blit blend for self).
* Mark methods, which are limited to certain bpp ranges.
* freetype: rendering size should use the bbox height for correct ascent/descent
  values, not the real size
* freetype: correct error messages (e.g. on trying to scale pcf fonts)
* freetype: brush up docs and examples
* openal: check integrity and references for sources, buffers and listeners.

Things to FIX:
==============
* Fix eval(repr(xyz)) for most types.
* use copy.copy and copy.deepcopy for consistent object copies
* recheck and redesign X11 implementation for pygame.sdlext.scrap
* check all string/unicode conversions, esp. file I/O with !UTF-8 and !ASCII
* respect surface->clip_rect where necessary!
* sdl.mouse.cursors, NOT pygame2.sdl.cursors or whatever
* sdlext.transform.threshod_* -> clip_rect, surfaces with different sizes
* documentation
* correct argument checks in pyg_scrap* functions
* check for clipboard resource destruction within pygame.sdlext.scrap.
* uniform method and argument layout (see sdlext.draw and sdlgfx.primitives
  how not to do it)
* SDL_gfx has to set the correct errors (SDL_SetError()). Fix that and
  merge it back to the SDL_gfx upstream
* Brush up documentation for pygame2.midi.
* Rewrite and fix up numpysurfarray and numpysndarray

Things to ADD:
==============
* (re)add tests
* add examples
* reorganise and add camera module
* add movie module
* subsurfaces via surface[x:y,a:b]? Brought up by ctgPi via IRC
* Add prebuilt package for Win32 VC++ builds.
* add OpenMP support where useful (looped operations, etc.)
* freetype: description/markup language for rendering text (like e.g. pango
   has)?
* freetype: render to buffer buffer support (like new bytearray, but
  write to a buffer instead)
* >8 bpp surfaces with palettes - it is supported (although it might be
  pointless) by SDL and so should we.
* Add palette color support to sdlext.transform (trunk rev. 2242).
* Speed up blits using fast lookup tables for 8bpp to 8bpp.
* add pgcompat.h to *mod.h internal headers.
* SDL_mixer: channel groups.
* SDL_mixer: Mix_SetMusicCMD.
* SDL_mixer: finishing hooks.

Things to WRAP:
===============
* SDL_LoadObject
* SDL_LoadFunction
* SDL_UnloadObject
* SDL_Audio*
* SDL_Thread*
* SDL_gfx image filter functions
* characterXXX wrappers for sdlgdfx
Tip: Filter by directory path e.g. /media app.js to search for public/media/app.js.
Tip: Use camelCasing e.g. ProjME to search for ProjectModifiedEvent.java.
Tip: Filter by extension type e.g. /repo .js to search for all .js files in the /repo directory.
Tip: Separate your search with spaces e.g. /ssh pom.xml to search for src/ssh/pom.xml.
Tip: Use ↑ and ↓ arrow keys to navigate and return to view the file.
Tip: You can also navigate files with Ctrl+j (next) and Ctrl+k (previous) and view the file with Ctrl+o.
Tip: You can also navigate files with Alt+j (next) and Alt+k (previous) and view the file with Alt+o.