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 Power."
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 SymbianOS.
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.