- FLTK
Infobox Software
name = FLTK
caption =
developer =
released = 1998
frequently_updated = yes
programming language =C++
operating system =Unix /Linux /BSD (X11),Mac OS X , Windows
genre =Widget toolkit
license =GNU Lesser General Public License
website = [http://www.fltk.org/ www.fltk.org] The "Fast, Light Toolkit" (generally pronounced "fulltick") is across-platform GUI library, developed by Bill Spitzak and others. Made with 3D graphics programming in mind, it has an interface toOpenGL , but it is still suitable for general GUI programming.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 system s.FLTK is
free software , licensed underLGPL with an additional clause permitting static linking from applications with incompatible licenses. It includes "FLUID " ("FLTK User Interface Designer"), a graphical GUIdesign er that generates C++ source and header files.In contrast to libraries like Qt and
wxWidgets , FLTK uses a more lightweight design and restricts itself to GUI functionality. Because of this, the library is very small (the FLTK "Hello World" program is around 100KiB ), and is usually statically linked. It also avoids complicated macros and separate code preprocessors, and does not use the following advanced C++ features: templates, exceptions,RTTI or, for FLTK 1.x, namespaces. Combined with the modest size of the package, this leads to a relatively short learning curve for new users.These advantages come with corresponding disadvantages. FLTK offers fewer widgets than most GUI toolkits and, because of its use of non-native widgets, does not have native look-and-feel on any platform.
What Does "FLTK" Mean?
FLTK was originally designed to be compatible with the Forms Library written for SGI machines (a derivative of this library called "XForms" is still used quite often). In that library all the functions and structures started with "fl_". This naming was extended to all new methods and widgets in the C++ library, and this prefix "FL" was taken as the name of the library. After FL was released as open source, it was discovered it was impossible to search "FL" on the Internet, due to the fact that it is also the abbreviation for
Florida . After much debating and searching for a new name for the toolkit, which was already in use by several people, Bill Spitzak came up with "FLTK", with the bogus excuse that it stands for the "Fast Light Tool Kit".Using FLTK in programming languages
FLTK was primarily designed for, and is written in, the
C++ programming language . However, bindings exist for otherobject-oriented programming languages, for example Python [ [http://pyfltk.sourceforge.net/ pyFLTK Home Page] ] and Ruby. [ [http://ruby-fltk.sourceforge.net/ Ruby/FLTK Home Page] ]The following example for FLTK 1.x creates a window with an "Okay" button:
Software built on FLTK
* The open-source deep-paint software
CinePaint is migrating fromGTK+ to FLTK.
* [http://flwm.sourceforge.net flwm] , anX window manager
* Nuke, a piece of high-end digital compositing software
* The Windows port ofSmallBASIC
* The open-source poster printing software [http://posterazor.sourceforge.net PosteRazor] (Windows, Mac OS X, Linux).
* The BVH editorAvimator
*Dillo web browser
* [http://geuz.org/gmsh Gmsh] , an open-sourceFinite element mesh generator
*EDE - Equinox Desktop Environment
* [http://www.openmovieeditor.org/ Open Movie Editor]
*ZynAddSubFX , an open-sourcesoftware synthesizer
* TheAgenda VR3 Linux -basedPersonal Digital Assistant 's software was based on FLTK, as was much of the software developed for it by third-partiesSee also
*
Widget toolkit
*List of widget toolkits
* Qt
*wxWidgets
*GTK+
*FOX toolkit
* VCF
*Juce References
External links
* [http://www.fltk.org Official FLTK website]
* [http://www3.telus.net/public/robark/ Beginner FLTK Tutorial]
* [http://www.seriss.com/people/erco/fltk/ Erco's FLTK Cheat Page]
Wikimedia Foundation. 2010.