libksd is a cross-platform (C++) game framework which is built on top of SDL and also uses libSigC++ for its signal system. It provides drawing functions, a simple widget set, multi-threading, plug-ins, collision detection, joysticks, image loading/saving, simple audio playing/loading/saving, true-type fonts, and some other stuff too.