FLTK

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

Fast Light Tool Kit (FLTK, произнася се "фултик")[1] е мулти-платформена библиотека за създаване на графичен потребителски интерфейс (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 използва само собствени елементи, може да пречи на програмата да се "слее" със стила наложен от операционната система.

Значение на името[редактиране | edit source]

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

Използване в езици за програмиране[редактиране | edit source]

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[редактиране | edit source]

  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
  19. [Amnesia: The Dark Descent] е игра на [Frictional Games], която използва FLTK за своята лаунчер апликация
  20. FIdigi, е софтуер за амарьорско радио, който позволява размяна на информация и обмяна на текстови съобщения чрез PSK32.
  21. Giada - Your Hardcore Loopmachine - Отворен код.
  22. OpenVSP - Софтуер за чертаене на въздушни превозни средства. От скоро е отворен код.

Версии[редактиране | edit source]

1.0.x[редактиране | edit source]

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

1.1.x[редактиране | edit source]

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

Клон 2.0[редактиране | edit source]

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

1.2.x[редактиране | edit source]

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

1.3.x[редактиране | edit source]

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

Клон 3.0[редактиране | edit source]

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

Източници[редактиране | edit source]

Външни препратки[редактиране | edit source]

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