HyperGUI
A GUI based on libSDL for C++ applications
...This library can be used in both dynamic multimedia (game), and standard (static) applications. The HyperGUI manages it by avoiding screen refreshes as much as possible. In a game or other dynamic multimedia program, the screen (or part of it) is redrawn and refreshed tens of times a second, so there is no need for GUI to ask more refreshes in response of input events; and in a static application each event may change a tiny part of the screen, and only that part needs redrawing. HyperGUI has the flexibility to work in both states.