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.
<>
- 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
- 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
- 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
<syntaxhighlight lang='c++'> setAttribute(Qt::WA_X11NetWmWindowTypeDesktop); setWindowFlags(Qt::SplashScreen);
Qt::WindowFlags flags = 0; flags |= Qt::FramelessWindowHint; flags |= Qt::Tool; flags |= Qt::WindowStaysOnBottomHint;
- Ryan: Add support for float and 32-bit int audio formats
- Ryan: Add support for 7.1 speaker output
- 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
- PCM volume control
- 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)
- 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
- Add a timestamp to events
- Sam: Mousewheel has a separate event
- Sam: Support showing / hiding the cursor
- Sam: Add support color cursors
- Sam: Reimplement mouse grab support
- Verify cursor location is correct when ungrabbed
- Verify proper behavior with Vista DPI scaling
- 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
- Sam: Create new text input event separate from key events
- 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
- Edgar: Create Force Feedback API
- Ryan: Add support for joystick device live connect and disconnect
- Jim: Create multi-touch input API
- 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
- Sam: Add higher precision timers for profiling
- 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
- Sam: Write introductions for SDL 2.0 API documentation
- 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
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