- FLTK
-
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 wurden, überall gleich aussehen und funktionieren. FLTK ist freie Software und enthält einen eigenen GUI-Designer fluid (Abk. FLTK User Interface Designer)
Im Gegensatz zu Bibliotheken wie Qt und wxWidgets stellt FLTK ausschließlich Funktionalität für eine Benutzeroberfläche zur Verfügung. Dies ist der Grund dafür, dass FLTK so kompakt ist und üblicherweise statisch in Applikationen gelinkt wird. Die Lizenzbedingungen von FLTK beinhalten eine deutliche Aussage, die statisches Linken auch für Nicht-LGPL-Programme erlaubt[1]. Trotz statischen Einbindens der FLTK-Bibliothek ist ein Hallo-Welt-Programm nur etwas über 100 kB groß.
Inhaltsverzeichnis
Herkunft der Bezeichnung FLTK
Das Toolkit FLTK wurde ursprünglich dafür entwickelt mit der Forms-Library von SGI Workstations kompatibel zu sein. Eine abgeleitete Variante dieser Bibliothek für X11 namens XForms kommt bei den meisten Unix-Betriebssystemen zum Einsatz. In der Forms-Library fangen alle Funktionen und Strukturen mit "fl_" an. Diese Namensgebung wurde bei der Neuimplementierung beibehalten und zieht sich durch allen neuen Methoden und Widgets der in C++ geschriebenen Bibliothek. Der Präfix "FL" wurde daher auch als Name für die neue Bibliothek genommen.
Nachdem FL als quelloffene Software veröffentlicht wurde, stellte es sich heraus, dass es unmöglich war nach "FL" im Internet zu suchen, da es unter anderem auch die postalische Abkürzung für Florida war. Nach vielen Debatten und der Suche nach einem geeigneten neuen Namen für das Toolkit, welches sich bereits bei vielen Leuten im produktiven Einsatz befand, präsentierte Bill Spitzak letztlich als Ersatz das Quasi-Backronym "FLTK" mit der Bedeutung "Fast Light Tool Kit".
Beispielcode
Hier ein kleines Beispiel für ein Fenster mit „Okay“-Schaltfläche:
# include <FL/Fl.H> # include <FL/Fl_Double_Window.H> # include <FL/Fl_Button.H> 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(); }
Kompatibilität
Mit FLTK geschriebene Programme können meist ohne Änderungen im Source Code auf vielen Betriebssystemen kompiliert werden und laufen dort "nativ", also in voller Geschwindigkeit.
FLTK unterstützt Microsoft Windows 2000, XP, Vista und 7 (Cygwin, Visual C++ und MinGW) , Apple OS X PPC, Intel 32 und 64 bit (Makefile, Xcode), die meisten Unix-Implementierungen (Linux, Irix, etc.) mit X11 (Makefile, CMake), sowie Embedded Devices mit Microwindows. Externe Entwickler haben FLTK auf weitere Plattformen portiert, z. B. OS/2, AmigaOS, Classic Mac und andere.
Siehe auch
Weblinks
- Offizielle Website (englisch)
- Tutorial für FLTK-Anfänger mit Links auf Videotutorials (englisch)
- Equinox: Eine auf FLTK basierende Benutzerumgebung für das X Window System (englisch)
Einzelnachweise
Kategorien:- GUI-Framework
- Freie Systemsoftware
- Programmiersprache C++
Wikimedia Foundation.