FLTK

от Уикипедия, свободната енциклопедия
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 в Общомедия

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 използва само собствени елементи, може да пречи на програмата да се „слее“ със стила наложен от операционната система.

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

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 година – от Лиценза за свободна документация на ГНУ. Прегледайте историята на редакциите на оригиналната страница, както и на преводната страница, за да видите списъка на съавторите. ​

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