This is a library that I'm currently working on. Here's a little description of the lib
(straight outta the manual):
"This is a library that ties together the DOS and Windows versions of
Euphoria with a common API (Linux support might be added in the future).
The purpose of this is to have multimedia applications (games, demos etc) running under
both DOS and Windows without having to change anything in the program code. Also,
the appearance and behaviour should ofcourse be as similar as possible under both OS:s."
Some features:
- Graphics
- Uses VESA (alt. VGA) under DOS and DirectDraw under Windows. No windowed mode available at the moment.
- Supports 8-, 15-, 16- and 24-bit color-depths and a variety of resolutions.
- Includes a large number of (non-harware accelerated) blitters. Among the available effects
are: stretching, mixing, alpha-blending and rgb-blending (lighting).
- Bitmaps can be loaded and saved, converted between different color-depths etc.
- Routines for drawing primitives (lines, circles, polygons etc.) might be added in the future.
- Sound
- Uses the BASS audio library under Windows. There's no soundsystem available for DOS at the moment (stubs are used to preserve platform-independance).
- Supports most available soundcards. 3D-sound and EAX are supported if available.
- Supports playback of WAV/MP3/MOD/STM/XM/IT files.
- You can set up your own stream-decoding callback to play whatever format you like (I'm not saying that it'd be easy..).
- Input
- Even though the library is quite powerful it's still fairly easy to use as most things
are hidden inside the library "core". However, the biggest advantage of this library is that
the programs you write will run under both DOS and Windows without any modification.
Here are some snapshots from two programs written using the library in its current form
(the 3D-scenes were not rendered by the programs :).
May I add that the amount of code required to produce the first two images was roughly 1.2 kB..

Alpha-blending (in 15-bit mode).

More alpha-blending.

This shot demonstrates the scaling capabilities.