ФЛТК - FLTK
Первый выпуск | 1998 |
---|---|
Стабильный выпуск | 1.3.7 (25 июля 2021 г . [±] | )
Предварительный выпуск | 1.4.x-20200821-4c012bd7 (21 августа 2020 г . [±] | )
Репозиторий | |
Написано в | C ++ |
Операционная система | Unix-подобный с X11 , macOS , Microsoft Windows , AmigaOS 4 |
Тип | Библиотека пользовательского интерфейса |
Лицензия | Стандартная общественная лицензия ограниченного применения GNU версии 2 с исключением, позволяющим статическое связывание |
Веб-сайт | www |
Fast Light Toolkit ( FLTK , произносится fulltick ) - это кроссплатформенная библиотека виджетов (графического элемента управления) для графических пользовательских интерфейсов (GUI), разработанная Биллом Спицаком и другими. Созданный для программирования трехмерной графики , он имеет интерфейс для OpenGL , но также подходит для общего программирования с графическим интерфейсом.
Используя собственный виджет, системы рисования и событий, абстрагированные от базового системно-зависимого кода, он позволяет писать программы, которые выглядят одинаково во всех поддерживаемых операционных системах .
FLTK - это бесплатное программное обеспечение с открытым исходным кодом , работающее под лицензией GNU Lesser General Public License (LGPL) с добавленным пунктом, разрешающим статическое связывание из приложений с несовместимыми лицензиями.
В отличие от библиотек пользовательского интерфейса, таких как GTK , Qt и wxWidgets , FLTK использует более легкий дизайн и ограничивается функциональностью графического интерфейса. Из-за этого библиотека очень мала (программа FLTK "Hello World" составляет около 100 КиБ ) и обычно статически связана . Он также избегает сложных макросов, отдельных препроцессоров кода и использования некоторых расширенных функций C ++ : шаблонов, исключений и информации о типах времени выполнения (RTTI) или, для FLTK 1.x, пространств имен . В сочетании со скромным размером пакета это позволяет относительно легко изучить его для новых пользователей.
Эти преимущества сопровождаются соответствующими недостатками. FLTK предлагает меньше виджетов, чем большинство наборов инструментов GUI, и из-за использования неродных виджетов не имеет собственного внешнего вида ни на одной платформе.
Значение имени
FLTK изначально был разработан для совместимости с библиотекой форм, написанной для машин Silicon Graphics (SGI) (производная от этой библиотеки под названием XForms все еще используется довольно часто). В этой библиотеке все функции и структуры начинаются с fl_
. Это именование было распространено на все новые методы и виджеты в библиотеке C ++, и этот префикс FL
был взят в качестве имени библиотеки. После того, как FL был выпущен как открытый исходный код, было обнаружено, что поиск «FL» в Интернете был проблемой, потому что это также сокращение от Флориды . После долгих споров и поиска нового названия для набора инструментов, который уже использовался несколькими людьми, Билл Спицак придумал Fast Light Tool Kit (FLTK).
Архитектура
FLTK - это объектно-ориентированный инструментарий виджетов, написанный на языке программирования C ++ . Хотя GTK в основном предназначен для системы X Window , FLTK работает на других платформах, включая Microsoft Windows (с интерфейсом Windows API ) и OS X (с Quartz ). Вейленд фоновый обсуждаются. FLTK2 получил экспериментальную поддержку для необязательного использования графической библиотеки cairo .
Языковые привязки
Библиотека, написанная на одном языке программирования, может использоваться на другом языке, если написаны языковые привязки . FLTK имеет ряд привязок для разных языков.
FLTK был разработан в основном для языка программирования C ++ и написан на нем . Однако привязки существуют для других языков, например Lua , Perl , Python , Ruby , Rust и Tcl .
Для FLTK 1.x в этом примере создается окно с кнопкой ОК :
#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 включает Fast Light User Interface Designer ( FLUID ), графический дизайнер GUI, который генерирует исходные файлы и файлы заголовков C ++ .
Использовать
Многие программы и проекты используют FLTK, в том числе:
- Nanolinux , 14 МБ дистрибутив Linux
- XFDOS, дистрибутив на основе FreeDOS с графическим интерфейсом , портированием Nano-X и FLTK
-
Повестка дня VR3 , Linux -На персональный цифровой помощник с программным обеспечением на основе FLTK.
- стороннее программное обеспечение Agenda VR3
- Amnesia: The Dark Descent от Frictional Games использует FLTK в качестве приложения для запуска
- MwendanoWD , Логическая головоломка для персонального компьютера от YPH.
- Аудио:
- Fldigi , программное обеспечение для радиолюбителей , позволяет передавать данные и текстовый чат в цифровых режимах, таких как PSK31.
- Giada, лупер, микроконтроллер, программное обеспечение для проигрывателя сэмплов, открытый исходный код
- Prodatum, редактор предустановок синтезатора, использует реалистичный дизайн интерфейса.
- ZynAddSubFX , программный синтезатор с открытым исходным кодом
- DiSTI GL Studio, инструмент разработки человеко-машинного интерфейса
- Инженерное дело:
- ForcePAD, интуитивно понятный инструмент для визуализации поведения конструкций в зависимости от нагрузки и граничных условий
- Gmsh , генератор конечно-элементных сеток с открытым исходным кодом
- RoboCIM, программное обеспечение для моделирования и управления работой серво-роботизированной системы и внешних устройств.
- Среда рабочего стола Equinox (EDE)
- Программа для записи оптических дисков FlBurn для Linux
- Графика:
- Avimator , редактор иерархии Biovision (BVH)
- CinePaint , программа для глубокой раскраски, переход с GTK на FLTK, с открытым исходным кодом
- ITK-SNAP , программное обеспечение для сегментации медицинских изображений, с открытым исходным кодом
- Nuke , программа для цифрового композитинга. До версии 5, теперь заменен на Qt
- Открыть редактор фильмов
- OpenVSP, параметрическое создание эскизов самолетов НАСА, недавно открытый исходный код
- PosteRazor, программное обеспечение для печати плакатов с открытым исходным кодом для Windows, OS X, Linux
- Tilemap Studio, редактор тайловых карт с открытым исходным кодом для проектов Game Boy, Color, Advance, DS и SNES.
- SmallBASIC , порт Windows
- Веб-браузеры:
- Визуализатор мозга: интерактивный визуализатор с открытым исходным кодом для крупномасштабных трехмерных моделей мозга. Часть системы моделирования организации мозга (BOSS), разработанной в Университете Стони Брук.
-
X оконные менеджеры :
- FLWM
- miwm
Версии
Эта история версий является примером порой бурного характера разработки ПО с открытым исходным кодом .
1.0.x
Это предыдущая стабильная версия, в настоящее время не поддерживаемая.
1.1.x
Это предыдущая стабильная версия, в настоящее время не поддерживаемая.
2.0 филиал
Это была ветвь разработки, которая долгое время считалась следующим шагом в эволюции FLTK, с множеством новых функций и более чистым стилем программирования. Он так и не достиг стабильности, и развитие в основном прекратилось. Ветка сейчас неактивна.
1.2.x
Это была попытка взять некоторые из лучших функций 2.0 и объединить их обратно в более популярную ветку 1.1. Больше не разрабатывается.
1.3.x
Текущая стабильная версия. Обеспечивает поддержку UTF-8.
1.4.x
Текущая ветка разработки. Добавляет больше возможностей в 1.3.
3.0 филиал
Эта ветка - в основном концептуальная модель для будущей работы. Сейчас неактивен.
Смотрите также
- GTK
- gtkmm (привязка GTK к C ++)
- Набор инструментов FOX
- IUP (программное обеспечение) - многоплатформенный инструментарий для создания собственных графических пользовательских интерфейсов.
- Juce
- Qt (программное обеспечение)
- Платформа визуальных компонентов (VCF)
- Набор инструментов для виджетов
- wxWidgets - кроссплатформенный набор инструментов C ++ виджетов с открытым исходным кодом, разработанный сообществом
- Окончательный ++
- Список наборов инструментов для виджетов
использованная литература
внешние ссылки