I just released an alpha version of libu - a C++ widget library for SDL.
It is available at http://www.rhrk.uni-kl.de/~klaux/libu.html. There is a
little testprogramm as well.
The library is put under the LGPL.
The library libu provides c++ classes for the structs in SDL, these are URect and UBitmap namely.
However to make life easier the number of “helper classes” is steadily growing. UImage provides reading and
writing of Windows bitmap files as well as PNG files. (by the use of libpng).
UFont tries to benefit from both Truetype fonts and bitmap fonts, by prerendering the characters; thus once you
have created a UFont instance of a specified font at a specified size, blitting of text is as fast as using a bitmap
font. (UFont uses libttf)
The widget set consists of UApplication, which handles the initialization and
event handling, and a growing bunch of widgets: ULabel, ULineEdit,
UMultiLineEdit, UButton, UPushButton, UToggleButton, UDialog. The widgets and
objects within UApplication talk to each other using a signal - slot -
mechanism, which provides typesafe callbacks and is able to handle adding and
removing of objects at runtime. Finally UMouse features an animated software
mouse cursor, which can have different pointer bitmaps for each region on the
screen. (it does not flicker under XWindows, as the hardware
mousepointer usually does, at least on my Xserver)
Since this is an alpha release, some of the class interfaces are inconsistent. I
expect to improve the eventhandling, once I switch to use the new multithreaded
eventqueue of SDL.