andykorth/opentk — pull request #22 by thefiddler (2013-10-02 13:15:02+00:00)
Title: Support for SDL2 backend

With SDL2 officially released, it makes sense to add a SDL2 backend to OpenTK. This backend is used automatically if the correct unmanaged SDL2 library is available. Prebuilt versions of SDL2 are included in the Dependencies/ folder.

Benefits:
- Improved stability on Mac OS X
- Simplified porting to new platforms
- Future proofing
- Support for haptic and multitouch devices

Limitations:
- OpenTK.GLControl is not supported by the SDL2 backend. This is a SDL2 limitation (SDL_CreateWindowFrom does not set the SDL_WINDOW_OPENGL flag and context creation fails.)
- Only one MouseDevice and one KeyboardDevice is supported. This is a SDL2 limitation.
- "Retina" displays are not supported on Mac OS X. This is a SDL2 limitation.

Current status:
- Feature parity with the native backends, except for SDL2 limitations.
- DisplayDevice.ChangeResolution is not yet implemented (call will succeed but resolution will not change.)

This branch also contains a fix for NRE in MouseDevice on Windows and a more stable Example Browser (examples are launched on separate processes.)