Simple DirectMedia Layer is a cross-platform multimedia library
designed to provide low level access to audio, keyboard, mouse,
joystick, 3D hardware via OpenGL, and 2D video framebuffer. It is
used by MPEG playback software, emulators, and many popular games,
including the award winning Linux port of "Civilization: Call To
Simple DirectMedia Layer supports Linux, Windows, BeOS, MacOS
Classic, MacOS X, FreeBSD, OpenBSD, BSD/OS, Solaris, IRIX, and QNX.
There is also code, but no official support, for Windows CE,
AmigaOS, Dreamcast, Atari, NetBSD, AIX, OSF/Tru64, RISC OS, and
SDL is written in C, but works with C++ natively, and has bindings
to several other languages, including Ada, Eiffel, Java, Lua, ML,
Perl, PHP, Pike, Python, and Ruby.