FLTK - FLTK
Pierwsze wydanie | 1998 |
---|---|
Wersja stabilna | 1.3.7 (25 lipca 2021 [±] | )
Wersja zapoznawcza | 1.4.x-20200821-4c012bd7 (21 sierpnia 2020 [±] | )
Magazyn | |
Napisane w | C++ |
System operacyjny | Uniksowy z X11 , macOS , Microsoft Windows , AmigaOS 4 |
Rodzaj | Biblioteka interfejsu użytkownika |
Licencja | GNU Lesser General Public License w wersji 2 z wyjątkiem umożliwiającym łączenie statyczne |
Strona internetowa | www |
Fast Light Toolkit ( FLTK , wymawiane fulltick ) to wieloplatformowa biblioteka widżetów (graficzny element kontrolny) dla graficznych interfejsów użytkownika (GUI), opracowana przez Billa Spitzaka i innych. Stworzony, aby dostosować się do programowania grafiki 3D , ma interfejs do OpenGL , ale nadaje się również do ogólnego programowania GUI.
Używając własnego widżetu, systemów rysowania i zdarzeń wyabstrahowanych z bazowego kodu zależnego od systemu, umożliwia pisanie programów, które wyglądają tak samo we wszystkich obsługiwanych systemach operacyjnych .
FLTK to darmowe oprogramowanie o otwartym kodzie źródłowym , na licencji GNU Lesser General Public License (LGPL) z dodaną klauzulą zezwalającą na statyczne łączenie z aplikacji z niekompatybilnymi licencjami.
W przeciwieństwie do bibliotek interfejsu użytkownika, takich jak GTK , Qt i wxWidgets , FLTK używa lżejszej konstrukcji i ogranicza się do funkcjonalności GUI. Z tego powodu biblioteka jest bardzo mała (program FLTK "Hello World" ma około 100 KiB ) i zwykle jest połączona statycznie . Pozwala również uniknąć złożonych makr, oddzielnych preprocesorów kodu i korzystania z niektórych zaawansowanych funkcji C++ : szablonów, wyjątków i informacji o typie czasu wykonywania (RTTI) lub, w przypadku FLTK 1.x, przestrzeni nazw . W połączeniu ze skromnym rozmiarem pakietu sprawia to, że nauka jest stosunkowo łatwa dla nowych użytkowników.
Te zalety mają odpowiednie wady. FLTK oferuje mniej widżetów niż większość zestawów narzędzi GUI, a ze względu na użycie nienatywnych widżetów nie ma natywnego wyglądu i działania na żadnej platformie.
Znaczenie nazwy
FLTK został pierwotnie zaprojektowany tak, aby był kompatybilny z Biblioteką formularzy napisaną dla maszyn Silicon Graphics (SGI) (pochodna tej biblioteki o nazwie XForms jest nadal dość często używana). W tej bibliotece wszystkie funkcje i struktury zaczynają się od fl_
. To nazewnictwo zostało rozszerzone na wszystkie nowe metody i widżety w bibliotece C++, a ten przedrostek FL
został przyjęty jako nazwa biblioteki. Po wydaniu FL jako open source odkryto, że wyszukiwanie „FL” w Internecie było problemem, ponieważ jest to również skrót od Florida . Po wielu debatach i poszukiwaniach nowej nazwy dla zestawu narzędzi, która była już używana przez kilka osób, Bill Spitzak wymyślił Fast Light Tool Kit (FLTK).
Architektura
FLTK to zorientowany obiektowo zestaw narzędzi widgetów napisany w języku programowania C++ . Podczas gdy GTK jest głównie dla X Window System , FLTK działa na innych platformach, w tym Microsoft Windows (interfejs z Windows API ) i OS X (interfejs z Quartz ). Wayland back-end jest dyskutowany. FLTK2 zyskał eksperymentalne wsparcie dla opcjonalnego korzystania z biblioteki graficznej cairo .
Wiązania językowe
Biblioteka napisana w jednym języku programowania może być używana w innym języku, jeśli napisane są powiązania języka . FLTK posiada szereg wiązań dla różnych języków.
FLTK został zaprojektowany głównie i jest napisany w języku programowania C++ . Istnieją jednak powiązania dla innych języków, na przykład Lua , Perl , Python , Ruby , Rust i Tcl .
Dla FLTK 1.x ten przykład tworzy okno z przyciskiem OK :
#include <FL/Fl.H>
#include <FL/Fl_Window.H>
#include <FL/Fl_Button.H>
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();
}
Projektanci GUI
FLTK zawiera Fast Light User Interface Designer ( FLUID ), graficzny projektant GUI , który generuje pliki źródłowe i nagłówkowe C++ .
Posługiwać się
Wiele programów i projektów korzysta z FLTK, w tym:
- Nanolinux , 14 MB dystrybucja Linuksa
- XFDOS, dystrybucja oparta na FreeDOS z graficznym interfejsem użytkownika , przenosząca Nano-X i FLTK
-
Agenda VR3 , A Linux -na osobisty asystent cyfrowy z oprogramowaniem opartym na FLTK.
- oprogramowanie Agenda VR3 innej firmy
- Amnesia: The Dark Descent od Frictional Games używa FLTK jako aplikacji uruchamiającej
- MwendanoWD , puzzle logiczne na komputer osobisty firmy YPH.
- Audio:
- Fldigi , oprogramowanie radia amatorskiego , umożliwia transmisję danych i czat tekstowy za pośrednictwem trybów cyfrowych, takich jak PSK31
- Giada, looper, mikrosekwencer, oprogramowanie odtwarzacza sampli, open-source
- Prodatum, edytor ustawień syntezatora, wykorzystuje realistyczny projekt interfejsu
- ZynAddSubFX , syntezator oprogramowania o otwartym kodzie źródłowym
- DiSTI GL Studio, narzędzie do tworzenia interfejsu człowiek-maszyna
- Inżynieria:
- ForcePAD, intuicyjne narzędzie do wizualizacji zachowania konstrukcji poddanych obciążeniom i warunkom brzegowym
- Gmsh , generator siatki elementów skończonych typu open source
- RoboCIM, oprogramowanie do symulacji i sterowania pracą systemu serwo robota i urządzeń zewnętrznych
- Środowisko pulpitu Equinox (EDE)
- Oprogramowanie do nagrywania dysków optycznych FlBurn dla systemu Linux
- Grafika:
- Avimator , redaktor Hierarchii Biowizji (BVH)
- CinePaint , oprogramowanie do głębokiego malowania, migracja z GTK do FLTK, open-source
- ITK-SNAP , aplikacja do segmentacji obrazów medycznych, open-source
- Nuke , cyfrowy program do komponowania. Do wersji 5, teraz zastąpione przez Qt
- Otwórz edytor filmów
- OpenVSP, parametryczne szkicowanie samolotów NASA, niedawno udostępnione na zasadach open source
- PosteRazor, oprogramowanie do drukowania plakatów typu open source dla systemów Windows, OS X, Linux
- Tilemap Studio, edytor map kafelkowych typu open source dla projektów Game Boy, Color, Advance, DS i SNES
- SmallBASIC , port Windows
- Przeglądarki internetowe:
- Wizualizator mózgu: interaktywny wizualizator typu open source do trójwymiarowych modeli mózgu na dużą skalę. Część systemu symulacji organizacji mózgu (BOSS) opracowanego na Uniwersytecie Stony Brook
-
Menedżery okien X :
- FLWM
- miwm
Wersje
Ta historia wersji jest przykładem czasami burzliwej natury rozwoju oprogramowania typu open source .
1.0.x
To jest poprzednia stabilna wersja, teraz nieutrzymywana.
1.1.x
To jest poprzednia stabilna wersja, teraz nieutrzymywana.
Oddział 2.0
Była to gałąź programistyczna, od dawna uważana za kolejny krok w ewolucji FLTK, z wieloma nowymi funkcjami i czystszym stylem programowania. Nigdy nie osiągnął stabilności, a rozwój w dużej mierze ustał. Oddział jest teraz nieaktywny.
1.2.x
Była to próba wzięcia niektórych z najlepszych funkcji 2.0 i połączenia ich z powrotem do bardziej popularnej gałęzi 1.1. Nie jest już rozwijany.
1.3.x
Aktualna stabilna wersja. Zapewnia obsługę UTF-8.
1.4.x
Aktualna gałąź rozwoju. Dodaje więcej funkcji do 1.3.
Oddział 3.0
Ta gałąź to przede wszystkim konceptualny model przyszłej pracy. Teraz nieaktywny.
Zobacz też
- GTK
- gtkmm (wiązanie C++ GTK)
- Zestaw narzędzi FOX
- IUP (oprogramowanie) - wieloplatformowy zestaw narzędzi do budowania natywnych graficznych interfejsów użytkownika
- Juce
- Qt (oprogramowanie)
- Struktura komponentów wizualnych (VCF)
- Zestaw narzędzi do widżetów
- wxWidgets - wieloplatformowy zestaw narzędzi do widżetów C++ o otwartym kodzie źródłowym opracowany przez społeczność
- Ostateczny++
- Lista zestawów widżetów
Bibliografia
Zewnętrzne linki