FLTK
From Wikipedia, the free encyclopedia
FLTK | |
OS: | Unix/Linux/BSD (X11), Mac OS X, Windows |
---|---|
Use: | Widget toolkit |
License: | GNU Lesser General Public License |
Website: | www.fltk.org/ |
The "Fast, Light Toolkit" (generally pronounced "fulltick") has been developed by Bill Spitzak for 3D graphics programming and has an interface to OpenGL. Nevertheless it is well-suited for application GUI programming in general.
Using its own widget, drawing and event systems (though FLTK2 has gained experimental support for optionally using the cairo graphics library) abstracted from the underlying system-dependent code, it allows for writing programs which look the same on all supported operating systems.
FLTK is free software, licensed under LGPL with an additional clause permitting static linking from applications with incompatible licenses. It includes fluid (FLTK User Interface Designer), a graphical GUI designer.
In contrast to libraries like Qt and wxWidgets, FLTK restricts itself to GUI functions. Therefore it is small and is usually linked to statically. The size of "Hello World" program with FLTK is only about 100 KiB.
Contents |
[edit] Using FLTK in programming languages
FLTK was primarily designed for the C++ programming language. However, bindings exist for other object-oriented programming languages, for example Python and Ruby.
The following example for FLTK 1.x creates a window with an "Okay" Button:
#include <FL/Fl.H> #include <FL/Fl_Window.H> #include <FL/Fl_Button.H> int main(int argc, char *argv[]) { Fl_Window* w = new Fl_Window(330,190); new Fl_Button(110, 130, 100, 35, "Okay"); w->end(); w->show(argc, argv); return Fl::run(); }
[edit] Software built on FLTK
- The open-source deep-paint software CinePaint is currently being ported from GTK+ to FLTK.
- The Dillo web browser is being ported to FLTK2.
- The Equinox Desktop Environment is built on a modified version called eFLTK.
- flwm[1]
- Nuke is a piece of high-end digital compositing software developed by Digital Domain.
- The Windows port of SmallBASIC.