SDL 1.3 Roadmap
This is a list of features which are in progress for the SDL 1.3 release. The features are organized by subsystem and assigned to developers. Features will be added, removed, and moved between Complete, Required, and Wishlist as the design evolves.
Contents
Video
Complete
green
green
green
Required
- ???: Implement landscape mode for iPhone port
- Sam: Add support for multiple displays
green
green
- Linux
- Sam: Add support for selecting video mode refresh rate
green
green
- Linux
- ???: Add OpenGL 3.0 context support
Sam: Create API for clipboard support (check out PyGame)
- Sam: Create flags for specifying foreign window event behavior
Wishlist
- Create desktop video mode change notification
- Add concept of viewport to fullscreen windows
- Add support for synchronizing 2D updates with vblank (bug #406)
- Support video modes with alpha channels
- Support shaped windows
- Support always-on-top window styles
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;
- Support multiple icon sizes (e.g. for Windows Vista)
Audio
Complete
<<Color2(green, Ryan: Add support for multiple audio devices>>
green
green
green
green
green
green
green
<<Color2(green, Ryan: Add support for float and 32-bit int audio formats>>
<<Color2(green, Ryan: Add support for 7.1 speaker output>>
Required
- Ryan: Add support for non-power-of-two audio rate conversion
- Ryan: Add support for audio device live connect and disconnect
Wishlist
- PCM volume control
Event
Required
- Sam: Add a timestamp to events
- Sam: Add modifier state to key and button events
Wishlist
- 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)
Mouse Input
Complete
green
Required
- 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?
- Sam: Support showing / hiding the cursor
- Sam: Reimplement mouse grab support
- Verify cursor location is correct when ungrabbed
- Verify proper behavior with Vista DPI scaling
Wishlist
- ???: Pressure/tilt support for tablet like devices
- Sam: Add support color cursors
- Sam: Add support animated cursors
Keyboard Input
Required
- Add support for multiple keyboards (wishlist?)
green
- 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
- Q: How do you handle key repeat?
- 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?
- Sam/Jiang: Create IME API and support system IME interfaces
- Windows
green
- Linux
- Sam: Add name to keysym and name to scancode lookup functions
Joystick Input
Required
green
green - need to fix building on cygwin32
green
green
- ???: Add support for joystick device live connect and disconnect
Multi-touch Input
Required
- ???: Create multi-touch input API
Multi-threading / CPU info
Complete
green
green
green
green
green
green
Required
- Sam: Create API for thread priority
- Sam: Create API for thread processor affinity
Timers
Required
- Add higher precision timers for profiling
General
Required
- Sam: Public license for SDL_compat.c, tests, and SDL_main*
- Sam: Create extended set of (negative) error codes and have the API functions document and return them
- Sam: Figure out the best way to support simultaneous SDL 1.2 and SDL 1.3 installations
Wishlist
- Sam: Should we add SDL_image / SDL_mixer / SDL_sound / SDL_ttf as optional modules in core SDL?
- ???: Create an API for live video capture
- ???: Create an API for accelerometer data
