Fast Light Toolkit

GUI-Bibliothek
(Weitergeleitet von PyFLTK)

FLTK (Abk. Fast Light ToolKit) ist ein von Bill Spitzak entwickeltes GUI-Toolkit für 3D-Grafikprogrammierung und enthält eine OpenGL-Anbindung.

Fast Light Toolkit

Logo des FLTK-Projekts
Screenshot von FLTK
Basisdaten

Aktuelle Version 1.4.0-1[1]
(18. November 2024)
Betriebssystem Unix, Linux (X11+Wayland), macOS, Windows
Programmier­sprache C++[2]
Kategorie GUI-Toolkit
Lizenz LGPL mit Ausnahme
www.fltk.org

FLTK ermöglicht es Programme zu erstellen, die überall gleich aussehen und funktionieren, sofern sie für das entsprechende Betriebssystem kompiliert wurden. 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.[3] Trotz statischen Einbindens der FLTK-Bibliothek ist ein Hallo-Welt-Programm nur etwas über 100 kB groß.

Herkunft der Bezeichnung FLTK

Bearbeiten

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 die Namen aller Funktionen und Strukturen mit „fl_“ an. Dies wurde bei der Neuimplementierung beibehalten und zieht sich durch alle neuen Methoden und Widgets der in C++ geschriebenen Bibliothek. Das Präfix „FL“ wurde daher auch als Name für die neue Bibliothek genommen.

Nachdem FL als quelloffene Software veröffentlicht worden war, stellte sich heraus, dass es unmöglich war, das Projekt im Internet bei einer Suche nach „FL“ zu finden (FL ist unter anderem auch die postalische Abkürzung für Florida). Nach vielen Debatten und der Suche nach einem geeigneten neuen Namen für das Toolkit, das sich bereits bei vielen Leuten im produktiven Einsatz befand, präsentierte Bill Spitzak als Ersatz das Backronym „FLTK“ mit der Bedeutung „Fast Light Tool Kit“.

Beispielcode

Bearbeiten

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, "Okay");
   b->callback(ok_callback);
   w->end();
   w->show(argc, argv);
   return Fl::run();
}

Kompatibilität

Bearbeiten

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 Windows (ab Windows 2000) (Cygwin, Visual C++ und MinGW), Apple macOS PPC, Intel 32 und 64 bit (Makefile, Xcode), die meisten Unix-Implementierungen (Linux, BSD, 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

Bearbeiten
Bearbeiten

Einzelnachweise

Bearbeiten
  1. FLTK 1.4.0-1 released on Nov. 18, 2024. 18. November 2024 (abgerufen am 19. November 2024).
  2. The fltk Open Source Project on Open Hub: Languages Page. In: Open Hub. (abgerufen am 26. September 2018).
  3. https://www.fltk.org/articles.php?L364+I0+TFAQ+P1+Q