Wiki Page Content

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.

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

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&section=sdl13

None: Roadmap (last edited 2015-01-09 22:36:44 by PhilippWiesemann)

Feedback
Please include your contact information if you'd like to receive a reply.
Submit