LibKSD is an Free Software project licensed under the LGPL, which aims to create a cross-platform game framework (written in C++) that would allow you write your game once and compile it for multiple operating systems and environments, including: Linux, MacOs, Windows, and BeOs. It is built on top of SDL (Simple DirectMedia Layer) and uses libSigC++ (also used in Gtk-- and libuta) for its signal sub-system. LibKSD aims to provides:
- A simple customizable widget set, including: labels, buttons, combo boxes, text editing fields, checkboxes, radio buttons, message boxes, and scroll bars.
- Fast drawing functions for simple shapes such as: rectangles, circles, ellipses and lines.
- Support painting of both bitmaped and true type fonts.
- Support for mixing OpenGL and normal LibKSD functionality including the widget set.
- A logging tool for simplified debugging.
- Multi-threading support. Easy platform independent creation of threads mnd mutexs.
- Direct access to the pixels.
- Platform independent access to shared libraries (called DLLs in the Windows world).
- A simple plug-in system that allows for future add-ons.
- A shape library used for collision detection that includes: rectangles, lines, and circles.
- Fast fixed-point math.
- Input from devices such as joysticks, the keyboard, and the mouse.
- A simple interface to the computers sound system.
- Support for system and simple delta timers.