FLTK ( http://www.fltk.org/ ) is a cross-platform application framework that natively supports OpenGL. It's lightweight, can be statically linked, and comes with a graphical GUI designer named FLUID.
This book is about FLTK 2.0 which is still under development. The current stable version (1.0) already has a comprehensive documentation, though it is mostly a reference.
Version 2.0 adds UTF-8 support, theming, as well as many improvements for the developer. The FLTK roadmap listing missing features and bugs is available here: FLTK roadmap.
Note that there's no release date for FLTK 2.0 and some of its parts are still in alpha state. Moreover, the API can change before the official release. If you need a stable framework, please use FLTK 1.1 (though it has an entirely different API).
FLTK framework uses a modified GNU Lesser General Public License version 2.0 (LGPL 2.0). The modifications allow not to publish your own source code, except changes to FLTK framework code itself or of any program that uses an altered version of FLTK with static linking (a derived LGPL version of the framework can be used with a closed source project). You are also required to name FLTK somewhere in you application or documentation.
FLTK based applications usually build without source modification on the following platforms:
- Unix and Linux (through X11),
- Mac OS X,
- and other less common platforms, such as OS/2, QNX or GNU/HURD.
FLTK documentation and information is available through the official site. It hosts active forums, documentation, articles and links to many FLTK based application which you can download, play with and get their source code (when available). The FLTK framework code also comes with a lot of examples in its 'test/' directory.