|
Size: 5653
Comment: null
|
← Revision 36 as of 2015-01-09 22:36:44 ⇥
Size: 6701
Comment: Fixed TableOfContents macro arguments.
|
| Deletions are marked like this. | Additions are marked like this. |
| Line 1: | Line 1: |
| = SDL 1.3 Roadmap = | #pragma camelcase off |
| Line 3: | Line 3: |
| 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 move around as the design evolves. | = SDL 2.0 Roadmap = |
| Line 5: | Line 5: |
| <<TableOfContents(2, 2)>> | 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)>> |
| Line 10: | Line 12: |
| * <<Color2(green, Sam: Add support for multiple windows)>> * <<Color2(green, Sam: Create 3D accelerated texture based rendering API)>> * <<Color2(green, Sam: Create API for enabling/disabling the screensaver)>> |
* <<Color2(col=green, text="Sam: Add support for multiple windows")>> * <<Color2(col=green, text="Sam: Create 3D accelerated texture based rendering API")>> * <<Color2(col=green, text="Sam: Create API for enabling/disabling the screensaver")>> * <<Color2(col=green, text="Sam: Add support for selecting video mode refresh rate")>> * <<Color2(col=green, text="Sam: Create API for clipboard support (check out !PyGame)")>> * <<Color2(col=green, text="Sam: Add support for multiple displays")>> * <<Color2(col=green, text="Sam: Add concept of viewport to fullscreen windows")>> * <<Color2(col=green, text="Sam: Add support for synchronizing 2D updates with vblank, using SDL_HINT_RENDER_VSYNC")>> * <<Color2(col=green, text="Mason Wheeler and Gabriel Jacobo: Add support for render targets")>> |
| Line 15: | Line 24: |
| * ???: Implement landscape mode for iPhone port * Sam: Add support for multiple displays * <<Color2(green, Windows)>> * <<Color2(green, Mac OS X)>> * Linux * Sam: Add support for selecting video mode refresh rate * <<Color2(green, Windows)>> * <<Color2(green, Mac OS X)>> * Linux * ???: Add OpenGL 3.0 context support * Sam: Create API for clipboard support (check out !PyGame) |
* Ryan: Implement landscape mode for iPhone port * Sam: Add support for OpenGL context profiles |
| Line 27: | Line 27: |
| * <<Color2(col=green, text="Andreas: Support shaped windows")>> * <<Color2(col=green, text="Windows")>> * Mac OS X * <<Color2(col=green, text="Linux")>> |
|
| Line 29: | Line 33: |
| * 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 |
* <<Color2(col=gray, text="Create desktop video mode change notification")>> * <<Color2(col=gray, text="Support always-on-top window styles")>> * <<Color2(col=gray, text="Support multiple icon sizes (e.g. for Windows Vista)")>> * <<Color2(col=gray, text="Implement NET_WM_PING and NET_WM_PID/WM_CLIENT_MACHINE (http://standards.freedesktop.org/wm-spec/wm-spec-1.3.html#KILLINGWINDOWS)")>> * <<Color2(col=gray, text="Support desktop windows")>> |
| Line 46: | Line 47: |
| * Support multiple icon sizes (e.g. for Windows Vista) | |
| Line 51: | Line 51: |
| * <<Color2(green, Ryan: Add support for float and 32-bit int audio formats)>> * <<Color2(green, Ryan: Add support for 7.1 speaker output)>> |
* <<Color2(col=green, text="Ryan: Add support for float and 32-bit int audio formats")>> * <<Color2(col=green, text="Ryan: Add support for 7.1 speaker output")>> |
| Line 55: | Line 55: |
| * <<Color2(green, Ryan: Create audio recording API)>> | * <<Color2(col=green, text="Ryan: Create audio recording API")>> |
| Line 59: | Line 59: |
| * <<Color2(green, Ryan: Add support for multiple audio devices)>> | * <<Color2(col=green, text="Ryan: Add support for multiple audio devices")>> |
| Line 67: | Line 67: |
| * PCM volume control | * <<Color2(col=gray, text="PCM volume control")>> |
| Line 71: | Line 71: |
| === Complete === * <<Color2(col=green, text="Sam: Add a way to dynamically register for custom event types")>> * <<Color2(col=green, text="Add a timeout parameter for [[SDL_WaitEvent]]() (http://lists.libsdl.org/pipermail/sdl-libsdl.org/2008-May/thread.html#65067)")>> |
|
| Line 72: | Line 76: |
| * Sam: Add a timestamp to events | |
| Line 74: | Line 77: |
| * Sam: Resolve question of how to represent iOS events which need to be handled before dispatch returns | |
| Line 76: | Line 80: |
| * 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) |
* <<Color2(col=gray, text="Add a timestamp to events")>> |
| Line 82: | Line 85: |
| * <<Color2(green, Sam: Mousewheel has a separate event)>> | * <<Color2(col=green, text="Sam: Mousewheel has a separate event")>> * <<Color2(col=green, text="Sam: Support showing / hiding the cursor")>> * <<Color2(col=green, text="Sam: Add support color cursors")>> |
| Line 85: | Line 90: |
| * 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 |
|
| Line 89: | Line 91: |
| * Verify cursor location is correct when ungrabbed * Verify proper behavior with Vista DPI scaling |
* Verify cursor location is correct when ungrabbed * Verify proper behavior with Vista DPI scaling |
| Line 93: | Line 95: |
| * ???: Pressure/tilt support for tablet like devices * Sam: Add support color cursors * Sam: Add support animated cursors |
* <<Color2(col=gray, text="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? * <<Color2(col=gray, text="Pressure/tilt support for tablet like devices")>> * <<Color2(col=gray, text="Add support animated cursors")>> |
| Line 99: | Line 102: |
| === Complete === * <<Color2(col=green, text="Sam: Create new text input event separate from key events")>> |
|
| Line 100: | Line 106: |
| * ???: Add support for multiple keyboards (wishlist?) * <<Color2(green, Sam: Create new text input event separate from key events)>> |
|
| Line 104: | Line 108: |
| * Q: How do you handle key repeat? * Sam/Jiang: Create IME API and support system IME interfaces * Windows * <<Color2(green, Mac OS X)>> |
* Sam/Jiang/Daniel: Create IME API and support system IME interfaces * <<Color2(col=green, text="Windows")>> * <<Color2(col=green, text="Mac OS X")>> |
| Line 113: | Line 116: |
| === Complete === * <<Color2(col=green, text="Edgar: Create Force Feedback API")>> |
|
| Line 114: | Line 120: |
| * <<Color2(green, Edgar: Create Force Feedback API)>> * <<Color2(green, Windows)>> - need to fix building on cygwin32 * <<Color2(green, Mac OS X)>> * <<Color2(green, Linux)>> * ???: Add support for joystick device live connect and disconnect |
* Ryan: Add support for joystick device live connect and disconnect |
| Line 122: | Line 124: |
| === Required === * ???: Create multi-touch input API |
=== Complete === * <<Color2(col=green, text="Jim: Create multi-touch input API")>> |
| Line 128: | Line 130: |
| * <<Color2(green, Sam: Create API for getting the number of CPUs)>> * <<Color2(green, Windows)>> * <<Color2(green, Mac OS X)>> * <<Color2(green, Linux)>> * <<Color2(green, Bob: Create API for atomic operations on data)>> * <<Color2(green, Sam: Remove unsafe SDL_!KillThread() API)>> === Required === * Sam: Create API for thread priority * Sam: Create API for thread processor affinity |
* <<Color2(col=green, text="Sam: Create API for getting the number of CPUs")>> * <<Color2(col=green, text="Bob: Create API for atomic operations on data")>> * <<Color2(col=green, text="Sam: Remove unsafe SDL_!KillThread() API")>> * <<Color2(col=green, text="Sam: Create API for thread priority")>> |
| Line 141: | Line 137: |
| === Required === * ???: Add higher precision timers for profiling |
=== Complete === * <<Color2(col=green, text="Sam: Add higher precision timers for profiling")>> |
| Line 146: | Line 142: |
| === Complete === * <<Color2(col=green, text="Ryan: Create API for assertions")>> * <<Color2(col=green, text="Sam: Public license for SDL_compat.c, tests, and SDL_main*")>> * <<Color2(col=green, text="Sam: Figure out the best way to support simultaneous SDL 1.2 and SDL 2.0 installations")>> * <<Color2(col=green, text="Sheena: Finish 2.0 API documentation")>> |
|
| Line 147: | Line 149: |
| * 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 |
* Sam: Write introductions for SDL 2.0 API documentation |
| Line 152: | Line 152: |
| * ???: Create an API for live video capture * ???: Create an API for accelerometer data |
* <<Color2(col=gray, text="Create an API for live video capture")>> * <<Color2(col=gray, text="Create an API for accelerometer data")>> * <<Color2(col=gray, text="Create extended set of (negative) error codes and have the API functions document and return them")>> |
| Line 156: | Line 157: |
| Ryan has more information on the SDL 1.3 changes that you can find here: <<BR>> | Ryan has more information on the SDL 2.0 changes that you can find here: <<BR>> |
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.
Contents
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
PCM volume control
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
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
