FLTK

aus Wikipedia, der freien Enzyklopädie
Wechseln zu: Navigation, Suche
FLTK
Logo des FLTK-Projekts
Aktuelle Version 1.3.2
(9. Dezember 2012)
Programmier­sprache C++
Kategorie GUI-Toolkit
Lizenz LGPL
www.fltk.org

FLTK (Abk. Fast Light ToolKit, Aussprache: fulltick) 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ß.

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 allen 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 wurde, 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, "OK");
   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 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 (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]

Weblinks[Bearbeiten]

Einzelnachweise[Bearbeiten]

  1. http://www.fltk.org/articles.php?L364+I0+TFAQ+P1+Q