FLTK

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 a cross-platform GUI library, developed by Bill Spitzak and others. Made with 3D graphics programming in mind, it has an interface to OpenGL, 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 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 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 100 KiB), 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 other object-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:
#include
#include
#include

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();}

Software built on FLTK

* The open-source deep-paint software CinePaint is migrating from GTK+ to FLTK.
* [http://flwm.sourceforge.net flwm] , an X window manager
* Nuke, a piece of high-end digital compositing software
* The Windows port of SmallBASIC
* The open-source poster printing software [http://posterazor.sourceforge.net PosteRazor] (Windows, Mac OS X, Linux).
* The BVH editor Avimator
* Dillo web browser
* [http://geuz.org/gmsh Gmsh] , an open-source Finite element mesh generator
* EDE - Equinox Desktop Environment
* [http://www.openmovieeditor.org/ Open Movie Editor]
* ZynAddSubFX, an open-source software synthesizer
* The Agenda VR3 Linux-based Personal Digital Assistant's software was based on FLTK, as was much of the software developed for it by third-parties

See 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.

Игры ⚽ Поможем написать реферат

Look at other dictionaries:

  • FLTK — Saltar a navegación, búsqueda FLTK www.fltk.org Información general Última versión estable …   Wikipedia Español

  • FLTK — (Abk. Fast Light ToolKit) ist ein von Bill Spitzak entwickeltes GUI Toolkit für 3D Grafikprogrammierung und enthält eine OpenGL Anbindung. FLTK ermöglicht es Programme zu erstellen, die, wenn sie auf dem entsprechenden Betriebssystem kompiliert… …   Deutsch Wikipedia

  • FLTK — Тип библиотека элементов интерфейса (виджетов) Написана на C++ Операционная система Кроссплатформенное ПО Первый выпус …   Википедия

  • FLTK — Dernière version 1.1.9rc1 (11 avril 2008) [ …   Wikipédia en Français

  • Dillo — 3.0 displaying the English Wikipedia …   Wikipedia

  • Cairo (Bibliothek) — Cairo Basisdaten Entwickler: Das Cairo Team Aktuelle Version: 1.8.6 (13. Dezem …   Deutsch Wikipedia

  • Equinox Desktop Environment — Equinox Desktop Environment …   Deutsch Wikipedia

  • Liste von GUI-Bibliotheken — Inhaltsverzeichnis 1 Plattformübergreifende Bibliotheken 1.1 C 1.2 C++ 1.3 C# 1.4 Fortran …   Deutsch Wikipedia

  • Dillo — Saltar a navegación, búsqueda Dillo Dillo 0.8.6 mostrando la portada de …   Wikipedia Español

  • FLUID — Saltar a navegación, búsqueda Ventana de FLUID FLUID (del Inglés, Fast Light User Interface Designer) es un editor gráfico que facilita el diseño de la interfaz gráfica de usuario (IGU) de programas basados en la biblioteca FLTK. FLUID genera los …   Wikipedia Español

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”