FLTK ( Fast Light ToolKit abbr, pronunciation: full tick ) is a system developed by Bill Spitzak GUI toolkit for 3D graphics programming and OpenGL contains a connection.

FLTK makes it possible to create programs that, if they were compiled on the corresponding operating system look the same everywhere and work. FLTK is free software and contains its own GUI designer fluid (abbr. FLTK User Interface Designer )

In contrast to libraries like Qt and wxWidgets, FLTK provides only functionality for a user interface. This is the reason that FLTK is small and is usually statically linked into applications. The license conditions of FLTK include a clear statement that static linking also allows for non- LGPL programs. Despite static Einbindens the FLTK library a hello world program is only about 100 kB in size.

Origin of the name FLTK

The toolkit FLTK was originally designed to be compatible with the Forms Library from SGI workstations. A derived version of this library for X11 called XForms comes with most Unix operating systems are used. In the Forms Library to catch the names of all functions and structures with " FL_ " to. This has been retained in the new implementation and runs through all the new methods and widgets written in C library. The prefix "FL" was therefore taken as the name for the new library.

After FL was released as open source software, it turned out that it was impossible to find the project on the Internet, a search for "FL" (FL, among other things, the postal abbreviation for Florida). After much debate and the search for an appropriate new name for the toolkit that was already a lot of people in productive use, Bill Spitzak presented as a replacement backronym the " FLTK ", meaning " Fast Light Tool Kit ".

Sample Code

Here is a small example of a window with "OK " button:

# Include # Include # Include   void ok_callback ( Fl_Widget *, void * ) {     ... }   int main (int argc, char * argv [ ]) {     Fl_Double_Window * w = new Fl_Double_Window (330, 190);     Fl_Button * b = new Fl_Button (110, 130, 100, 35, "OK");     b -> callback ( ok_callback );     w -> end ();     w -> show ( argc, argv );     return Fl :: run (); } compatibility

With FLTK programs written code can be compiled on many operating systems, usually without changes in the source and run there, " native", ie at full speed.

FLTK supports Microsoft Windows 2000, XP, Vista and 7 ( Cygwin, Visual C and MinGW ), Apple OS X PPC, Intel 32 and 64 bit ( Makefile, Xcode ), most Unix implementations (BSD, Irix, etc.) with X11 ( Makefile, CMake ), and embedded devices with Micro Windows. External developers have FLTK ported to other platforms, such as OS / 2, AmigaOS, Mac Classic and others.