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

FLTK
Информация
Начална версия1998
Програмен езикC++
Операционна системаUnix-Linux-BSD (X11), OS X, Windows, AmigaOS 4
Вид софтуерWidget toolkit
ЛицензGNU Lesser General Public License (с изключение позволяващо static linking)
Уебсайтwww.fltk.org
FLTK в Общомедия

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.[2]

Използване в езици за програмиране редактиране

FLTK е проектиран за, и написан на програмния език C++. Въпреки това FLTK може да се използва и с други езици, сред които са Perl,[3] Python,[4] Lua[5] и Ruby.[6]

Следващият пример за 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 редактиране

  1. TorApp.Info Online Security Printing Platform
  2. Prodatum
  3. ITK-SNAP
  4. CinePaint е в процес на миграция от GTK+ към FLTK.
  5. FLWM, е мениджър за прозорци използващ FLTK и библиотеката X
  6. miwm е мениджър за прозорци, който също използва FLTK и библиотеката X
  7. Nuke използва FLTK до версия 5, който впоследствие заменя с Qt (toolkit)
  8. SmallBasic за Уиндоус
  9. PosteRazor – Програма с отворен код за принтиране на постери работеща под Уиндоус, Мак ОС Х и Линукс
  10. Avimator – Базов BVH редактор с отворен код. Работи под Уиндоус, Мак и Линукс
  11. Dillo – Минималистичен уеб браузър. Dillo-2 е бил базиран на FLTK-2, но изоставянето на тази версия без официален релийз, е бил главен фактор в започването на Dillo-3, който използва FLTK1.3.
  12. Gmsh – генератор на Крайни Елементи с отворен код
  13. EDE – (Съкращение за Equinox Desktop Environment) e лека десктоп среда с отворен код.
  14. Open Movie Editor Базов видео редактор насочен предимно към аматьори във филмовото редактиране поради по-малкият набор от функции сравнено с професионалните редактори. Отворен код.
  15. Agenda VR3
  16. ForcePAD
  17. FlBurn Линукс софтуер за изпичане на оптични дискове
  18. DiSTI's GL Studio Архив на оригинала от 2012-08-15 в Wayback Machine.
  19. [Amnesia: The Dark Descent] е игра на [Frictional Games], която използва FLTK за своята лаунчер апликация
  20. FIdigi, е софтуер за амарьорско радио, който позволява размяна на информация и обмяна на текстови съобщения чрез PSK32.
  21. Giada – Your Hardcore Loopmachine Архив на оригинала от 2011-09-25 в Wayback Machine. – Отворен код.
  22. OpenVSP – Софтуер за чертаене на въздушни превозни средства. От скоро е отворен код.

Версии редактиране

1.0.x редактиране

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

1.1.x редактиране

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

Клон 2.0 редактиране

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

1.2.x редактиране

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

1.3.x редактиране

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

Клон 3.0 редактиране

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

Източници редактиране

  1. FLTK home
  2. www.fltk.org
  3. www.fltk.org
  4. pyFLTK homepage
  5. murgaLua homepage // Архивиран от оригинала на 2012-07-07. Посетен на 2012-08-16.
  6. Ruby/FLTK homepage www.fltk.org]

Външни препратки редактиране

    Тази страница частично или изцяло представлява превод на страницата FLTK в Уикипедия на английски. Оригиналният текст, както и този превод, са защитени от Лиценза „Криейтив Комънс – Признание – Споделяне на споделеното“, а за съдържание, създадено преди юни 2009 година – от Лиценза за свободна документация на ГНУ. Прегледайте историята на редакциите на оригиналната страница, както и на преводната страница, за да видите списъка на съавторите. ​

ВАЖНО: Този шаблон се отнася единствено до авторските права върху съдържанието на статията. Добавянето му не отменя изискването да се посочват конкретни източници на твърденията, които да бъдат благонадеждни.​