gui::tk is a simple one-file C++ GUI toolkit for use with arbitrary memory framebuffers.
The toolkit draws on a surface you provide, using any size or pixel format. Create a GUI::Screen with the buffer to draw on, then pass that object (or a GUI::Window created from it) to all other widgets' constructors.
It doesn't provide an own event loop. Instead, it relies on you passing events and updating the screen regularly. This way, it can easily be integrated with any event loop available (SDL, Qt, glib, X11, Win32, selfmade, ...)
Many functions and concepts were taken from other well-known toolkits, so if you know Qt, Java or wxWindows, you may encounter (intentional) similarities. However, simplicity of code has been given priority over maximum optimization and pixel-exact replication of their appearance.
A note about font support and encodings: All text-related functions use templates to support any encoding. Fonts define the charset.
gui::tk contains an SDL adapter, so if your program is already using SDL, things are really easy. The rough sequence to get up and running is:
Look at gui_tk.h for more detailed documentation and reference of all classes.
A test program that shows off the capabilities of gui::tk is available as part of gui_tk.cpp.
Copyright (C) 2005-2007 Jörg Walter
gui::tk is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version.
gui::tk is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with this program. If not, see http://www.gnu.org/licenses/