Первоначальный выпуск | 1998 г.; 22 года назад (1998 г.) |
---|---|
Стабильный выпуск | 1.3.5 (3 марта 2019 г.; 19 месяцев назад (03.03.2019)) |
Предварительный выпуск | 1.4.x-20200821-4c012bd7 ( 21 августа 2020 г.; 2 месяца назад (2020-08-21) |
Репозиторий | |
Написано на | C ++ |
Операционная система | Unix-подобная с X11, macOS, Microsoft Windows, AmigaOS 4 |
Тип | Библиотека пользовательского интерфейса |
Лицензия | Стандартная общественная лицензия ограниченного применения GNU версия 2 с исключением, позволяющим статическое связывание |
Веб-сайт | www.fltk.org |
Fast Light Toolkit (FLTK, произносится как fulltick) - это кроссплатформенная библиотека виджета (графический элемент управления) для графических пользовательских интерфейсов. (GUI), разработанный Биллом Спицаком и другими. Созданный для программирования 3D-графики, он имеет интерфейс к OpenGL, но он также подходит для общего программирования GUI.
Использование собственных виджетов, систем рисования и событий, абстрагированных от базового системно-зависимого кода, позволяет писать программы, которые выглядят одинаково во всех поддерживаемых операционных системах.
FLTK бесплатен и программное обеспечение с открытым исходным кодом под лицензией GNU Lesser General Public License (LGPL) с добавленным пунктом, разрешающим статические ссылки из приложений с несовместимыми лицензиями.
В отличие от библиотек пользовательского интерфейса, таких как GTK, Qt и wxWidgets, FLTK использует более легкий дизайн и ограничивается функциональностью графического интерфейса. Из-за этого библиотека очень мала (программа FLTK «Hello World» составляет около 100 KiB ) и обычно статически связана. Он также избегает сложных макросов, отдельных препроцессоров кода и использования некоторых расширенных функций C ++ : шаблонов, исключений и информации о типе времени выполнения (RTTI) или, для FLTK 1.x, пространства имен. В сочетании со скромным размером пакета это позволяет относительно легко изучить его для новых пользователей.
Эти преимущества имеют соответствующие недостатки. FLTK предлагает меньше виджетов, чем большинство наборов инструментов GUI, и из-за использования неродных виджетов не имеет собственного внешнего вида ни на одной платформе.
FLTK изначально был разработан для совместимости с библиотекой форм, написанной для машин Silicon Graphics (SGI) (производная от этой библиотеки под названием XForms все еще используется довольно часто). В этой библиотеке все функции и структуры начинаются с fl_
. Это именование было распространено на все новые методы и виджеты в библиотеке C ++, и этот префикс FL
был взят в качестве имени библиотеки. После того, как FL был выпущен как открытый исходный код, было обнаружено, что поиск «FL» в Интернете был проблемой, потому что это также сокращение от Florida. После долгих споров и поиска нового названия для набора инструментов, который уже использовался несколькими людьми, Билл Спицак придумал Fast Light Tool Kit (FLTK).
FLTK - это объектно-ориентированный инструментарий виджетов, написанный на языке программирования C ++. Хотя GTK в основном предназначен для X Window System, FLTK работает на других платформах, включая Microsoft Windows (взаимодействует с Windows API ) и ОС. X (сопряжен с Quartz ). Обсуждается бэкэнд Wayland. FLTK2 получил экспериментальную поддержку для необязательного использования графической библиотеки cairo.
Библиотека, написанная на одном языке программирования, может использоваться на другом языке, если написаны языковые привязки. FLTK имеет ряд привязок для различных языков.
FLTK был в основном разработан для языка программирования C ++ и написан на нем. Однако привязки существуют для других языков, например Lua, Perl, Python, Ruby, Rust и Tcl.
Для FLTK 1.x в этом примере создается окно с кнопкой ОК :
#include#include #include int main (int argc, char * argv) {Fl_Window * w = новое Fl_Window (330, 190); новый Fl_Button (110, 130, 100, 35, «Хорошо»); w->конец (); w->показать (argc, argv); вернуть Fl :: run (); }
FLTK включает Fast Light User Interface Designer (FLUID ), графический GUI дизайнер, который генерирует исходный код C ++ и заголовочные файлы.
FLTK используется во многих программах и проектах, в том числе:
Эта история версий является примером иногда бурного характера разработки с открытым исходным кодом.
Это предыдущая стабильная версия, в настоящее время не поддерживаемая.
Это предыдущая стабильная версия, в настоящее время не поддерживаемая.
Это ветвь разработки, долгое время считавшаяся следующим шагом в развитии FLTK, с множеством новых функций и более чистым стилем программирования. Он так и не достиг стабильности, и развитие в основном остановилось. Ветка сейчас неактивна.
Это была попытка взять некоторые из лучших возможностей 2.0 и объединить их обратно в более популярную ветку 1.1. Больше не разрабатывается.
Текущая стабильная версия. Обеспечивает поддержку UTF-8.
Текущая ветвь разработки. Добавляет больше возможностей в 1.3.
Эта ветка в основном представляет собой концептуальную модель для будущей работы. Сейчас неактивен.
.