SDL 2.0 Roadmap
This is a list of features which are in progress for the SDL 2.0 release. The features are organized by subsystem and assigned to developers. Features will move around as the design evolves.
<<TableOfContents(2)>>
Video
Complete
- Sam: Add support for multiple windows
- Sam: Create 3D accelerated texture based rendering API
- Sam: Create API for enabling/disabling the screensaver
- Sam: Add support for selecting video mode refresh rate
- Sam: Create API for clipboard support (check out PyGame)
- Sam: Add support for multiple displays
- Sam: Add concept of viewport to fullscreen windows
- Sam: Add support for synchronizing 2D updates with vblank, using SDL_HINT_RENDER_VSYNC
- Mason Wheeler and Gabriel Jacobo: Add support for render targets
Required
- Ryan: Implement landscape mode for iPhone port
- Sam: Add support for OpenGL context profiles
- Sam: Create flags for specifying foreign window event behavior
- Andreas: Support shaped windows
- Windows
- Mac OS X
- Linux
Wishlist
- Create desktop video mode change notification
- Support always-on-top window styles
- Support multiple icon sizes (e.g. for Windows Vista)
- Implement NET_WM_PING and NET_WM_PID/WM_CLIENT_MACHINE (http://standards.freedesktop.org/wm-spec/wm-spec-1.3.html#KILLINGWINDOWS)
- Support desktop windows
setAttribute(Qt::WA_X11NetWmWindowTypeDesktop);
setWindowFlags(Qt::SplashScreen);
Qt::WindowFlags flags = 0;
flags |= Qt::FramelessWindowHint;
flags |= Qt::Tool;
flags |= Qt::WindowStaysOnBottomHint;
Audio
Complete
- Ryan: Add support for float and 32-bit int audio formats
- Ryan: Add support for 7.1 speaker output
Required
- Ryan: Create audio recording API
- Windows
- Mac OS X
- Linux
- Ryan: Add support for multiple audio devices
- Windows
- Mac OS X
- Linux
- Ryan: Add support for audio device live connect and disconnect
- Ryan: Add support for non-power-of-two audio rate conversion
Wishlist
Event
Complete
- Sam: Add a way to dynamically register for custom event types
- Add a timeout parameter for SDL_WaitEvent() (http://lists.libsdl.org/pipermail/sdl-libsdl.org/2008-May/thread.html#65067)
Required
- Sam: Add modifier state to key and button events
- Sam: Resolve question of how to represent iOS events which need to be handled before dispatch returns
Wishlist
- Add a timestamp to events
Mouse Input
Complete
- Sam: Mousewheel has a separate event
- Sam: Support showing / hiding the cursor
- Sam: Add support color cursors
Required
- Sam: Reimplement mouse grab support
- Verify cursor location is correct when ungrabbed
- Verify proper behavior with Vista DPI scaling
Wishlist
- Ryan: Add support for multiple mice
- Q: What is the mapping of individual mice to pointers? Is there a "master pointer" that multiple mice share and then events for the individual mice? Is there a dual mode, where you have a single pointer that all mice affect, and you can switch to multiple pointers, each affected by a single mouse?
- Pressure/tilt support for tablet like devices
- Add support animated cursors
Keyboard Input
Complete
- Sam: Create new text input event separate from key events
Required
- Q: When you're enabling or disabling text events via keystroke, how do you ignore the text generated by the key that is toggling text input?
A: Key events are guaranteed to happen first
- Sam/Jiang/Daniel: Create IME API and support system IME interfaces
- Windows
- Mac OS X
- Linux
- Sam: Add name to keysym and name to scancode lookup functions
Joystick Input
Complete
- Edgar: Create Force Feedback API
Required
- Ryan: Add support for joystick device live connect and disconnect
Multi-touch Input
Complete
- Jim: Create multi-touch input API
Multi-threading
Complete
- Sam: Create API for getting the number of CPUs
- Bob: Create API for atomic operations on data
- Sam: Remove unsafe SDL_KillThread() API
- Sam: Create API for thread priority
Timers
Complete
- Sam: Add higher precision timers for profiling
General
Complete
- Ryan: Create API for assertions
- Sam: Public license for SDL_compat.c, tests, and SDL_main*
- Sam: Figure out the best way to support simultaneous SDL 1.2 and SDL 2.0 installations
- Sheena: Finish 2.0 API documentation
Required
- Sam: Write introductions for SDL 2.0 API documentation
Wishlist
- Create an API for live video capture
- Create an API for accelerometer data
- Create extended set of (negative) error codes and have the API functions document and return them
Other details
Ryan has more information on the SDL 2.0 changes that you can find here:
http://icculus.org/cgi-bin/finger/finger.pl?user=icculus&date=2007-10-07§ion=sdl13
[
edit
|
delete
|
history
|
feedback
|
raw
]