Fast Light Tool Kit (FLTK, произнася се „фултик“)FLTK home е многоплатформена библиотека за създаване на графичен потребителски интерфейс (GUI), разработена от Бил Спитзак и други. Създадена за пресъздаване на 3D графики, има интерфейс към OpenGL, но също така е подходяща за общото GUI програмиране.

FLTK използва своите собствени системи за рисуване и реагиране към събития, въпреки че FLTK2 придобива експериментална поддръжка на графичната библиотека cairo), което позволява писането на програми, които изглеждат еднакво независимо от операционната система на която работят.

FLTK е свободен софтуер, лицензиран под LGPL с допълнителна клауза, позволяваща статично свързване от приложения с несъвместими лицензи. Тя включва FLUID (FLTK User Interface Designer), графичен GUI дизайнер, който възпроизвежда C++ код.

В контраст с библиотеки като Qt и wxWidgets, FLTK използва по-лек дизайн и има по-ограничен набор от елементи. Поради това, библиотеката е много лека (Една FLTK Hello World програма е около 100 KiB), и обикновено е статично свързана. В библиотеката също така се избягват сложни макроси, отделни предпроцесори, и липсва поддръжка за следните напреднали C++ функции: темплейти, изключения, RTTI и (единствено за FLTK 1.x) namespaces. В комбинация със скромните размери на библиотеката, това води до относително кратък период на обучение за нови потребители.

Тези предимства идват със съответните недостатъци. FLTK предлага по-малко елементи, отколкото повечето GUI библиотеки. Фактът, че FLTK използва само собствени елементи, може да пречи на програмата да се „слее“ със стила наложен от операционната система.

Значение на името FLTK първоначално е проектиран да бъде съвместим с библиотеката Forms, написана за SGI машини (Производна на тази библиотека все още се използва често под името XForms). В тази библиотека всички функции и структури започват с fl_. Това наименование продължило да се използва за всички нови функции и елементи в C++ библиотеката. Така представката FL е взета за име на библиотеката. След като кодът на FL започва да се разпространява като свободен, се установява, че е невъзможно библиотеката да се намира лесно от интернет търсачките, поради факта, че FL е също така съкращение и за Флорида. След много дебати и търсене за ново име за библиотеката, която по това време е използвана от няколко души, Бил Спитзак я кръщава FLTK, което е съкращение от Fast Light Tool Kit.www.fltk.org

Използване в езици за програмиране FLTK е проектиран за, и написан на програмния език C++. Въпреки това FLTK може да се използва и с други езици, сред които са Perl,www.fltk.org Python,pyFLTK homepage Lua и Ruby.Ruby/FLTK homepage www.fltk.org]

Следващият пример за FLTK 1.x възпроизвежда прозорец с Okay бутон

#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(); }

Списък със софтуер, използващ FLTK TorApp.Info Online Security Printing Platform Prodatum ITK-SNAP CinePaint е в процес на миграция от GTK+ към FLTK. FLWM, е мениджър за прозорци използващ FLTK и библиотеката X miwm е мениджър за прозорци, който също използва FLTK и библиотеката X Nuke използва FLTK до версия 5, който впоследствие заменя с Qt (toolkit) SmallBasic за Уиндоус PosteRazor – Програма с отворен код за принтиране на постери работеща под Уиндоус, Мак ОС Х и Линукс Avimator – Базов BVH редактор с отворен код. Работи под Уиндоус, Мак и Линукс Dillo – Минималистичен уеб браузър. Dillo-2 е бил базиран на FLTK-2, но изоставянето на тази версия без официален релийз, е бил главен фактор в започването на Dillo-3, който използва FLTK1.3. Gmsh – генератор на Крайни Елементи с отворен код EDE – (Съкращение за Equinox Desktop Environment) e лека десктоп среда с отворен код. Open Movie Editor Базов видео редактор насочен предимно към аматьори във филмовото редактиране поради по-малкият набор от функции сравнено с професионалните редактори. Отворен код. Agenda VR3 ForcePAD FlBurn Линукс софтуер за изпичане на оптични дискове DiSTI's GL Studio [Amnesia: The Dark Descent] е игра на [Frictional Games], която използва FLTK за своята лаунчер апликация FIdigi, е софтуер за амарьорско радио, който позволява размяна на информация и обмяна на текстови съобщения чрез PSK32. Giada – Your Hardcore Loopmachine – Отворен код. OpenVSP – Софтуер за чертаене на въздушни превозни средства. От скоро е отворен код.

Версии 1.0.x Това е предишна стабилна версия, която вече не се поддържа

1.1.x Тази версия е стабилна и се поддържа

Клон 2.0 За този клон дълго се е смятало, че ще бъде следващата стъпка в еволюцията на FLTK, с много новости и по-чист стил на програмиране, но така и не достига стабилност и работата по него е почти спряна

1.2.x Това е бил опит да се вземат някои от най-добрите черти на 2.0 и да бъдат сляни с по-популярния клон 1.1. Работата по този клон е спряна.

1.3.x Това е клонът, по който се работи най-активно. Проектът не е толкова амбициозен колкото 2.0 е бил преди време.

Клон 3.0 Този клон е модел за бъдеща разработка

Източници

Външни препратки Официален уебсайт FLTK урок (EN) FLTK 1.3.0 урок (EN) Erco's FLTK Cheat Page (EN) Настройване на FLTK с Microsoft Visual Studio (EN)

Категория:Софтуерни библиотеки Категория:Свободен софтуер Категория:Софтуер от 1998 година