Century Embedded Technologies Nano-X SDK and Developer's Guide | ||
---|---|---|
Prev | Chapter 7. Introduction to FLTK | Next |
FLTK was designed to be statically linked. This was done by splitting it into many small objects and desigining it so that functions that are not used do not have pointers to them in the parts that are used, and thus do not get linked in. This allows you to make an easy-to-install program, or to modify FLTK to the exact requirements of your application, without worrying about bloat. FLTK works fine as a shared library, though, and has started being included on Linux distributions.
Here are some of the core features unique to FLTK:
sizeof(Fl_Widget) == 40 to 48
The "core" (the "hello" program compiled & linked with a static FLTK library using gcc on a 486 and then stripped) is 110K
The FLUID program (which includes every widget) is 372k
Written directly atop Xlib (or WIN32) for maximum speed, and carefully optimized for code size and performance
Precise low-level compatability between the X11 and WIN32 version (only about 10% of the code is different)
Interactive user interface builder program. Output is human-readable and editable C++ source code
Support for the X11 double buffering extension (emulation if not available and under Windows)
Support for X11 overlay hardware (emulation if none and under WIN32)
Very small & fast portable 2-D drawing library to hide Xlib and WIN32
OpenGL/Mesa drawing area widget
Support for OpenGL overlay hardware on both X11 and WIN32. Emulation if none
Text input fields with Emacs key bindings, X cut and paste, and foreign letter compose
Compatibility header file for the GLUT library
Compatibility header file for the XForms library
Much too much to list here...