ФЛТК - FLTK
изначальный выпуск | 1998 |
---|---|
Стабильный выпуск | 1.3.5 (3 марта 2019 г.[1]) [±] |
Предварительный выпуск | 1.4.x-20200821-4c012bd7 (21 августа 2020 г.[±] | )
Репозиторий | |
Написано в | C ++ |
Операционная система | Unix-подобный с участием X11, macOS, Майкрософт Виндоус, AmigaOS 4 |
Тип | Библиотека пользовательского интерфейса |
Лицензия | Стандартная общественная лицензия ограниченного применения GNU версия 2 с исключением, чтобы разрешить статическое связывание[2] |
Интернет сайт | www |
Набор инструментов Fast Light (ФЛТК, произносится полный ход)[3] это кросс-платформенный виджет (графический элемент управления) библиотека для графический пользовательский интерфейс (GUI), разработанные Биллом Спицаком и другими. Сделано, чтобы приспособиться 3D графика программирования, он имеет интерфейс для OpenGL, но он также подходит для общего программирования с графическим интерфейсом.
Используя собственный виджет, системы рисования и событий, абстрагированные от базового системно-зависимого кода, он позволяет писать программы, которые выглядят одинаково на всех поддерживаемых устройствах. операционные системы.
ФЛТК - это бесплатное программное обеспечение с открытым исходным кодом, под лицензией Стандартная общественная лицензия ограниченного применения GNU (LGPL) с добавленным пунктом, разрешающим статические ссылки из приложений с несовместимыми лицензиями.
В отличие от библиотек пользовательского интерфейса, таких как GTK, Qt, и wxWidgets, FLTK использует более легкий дизайн и ограничивается функциональностью графического интерфейса. Из-за этого библиотека очень маленькая (FLTK Программа "Hello World" около 100 KiB ), и обычно статически связанный. Он также избегает сложных макросов, отдельных препроцессоров кода и использования некоторых продвинутых C ++ особенности: шаблоны, исключения, и информация о типе времени выполнения (RTTI) или, для FLTK 1.x, пространства имен. В сочетании со скромным размером пакета это позволяет относительно легко изучить его для новых пользователей.[4]
Эти преимущества сопровождаются соответствующими недостатками. FLTK предлагает меньше виджетов, чем большинство наборов инструментов GUI, и из-за использования неродных виджетов не имеет собственного внешнего вида ни на одной платформе.
Значение имени
FLTK изначально был разработан для совместимости с библиотекой форм, написанной для Силиконовая Графика (SGI) машины (производная от этой библиотеки, называемая XForms до сих пор используется довольно часто). В этой библиотеке все функции и структуры начинаются с fl_
. Это именование было распространено на все новые методы и виджеты в библиотеке C ++, и этот префикс FL
было принято как название библиотеки. После того, как FL был выпущен как открытый исходный код, было обнаружено, что поиск «FL» в Интернете был проблемой, потому что это также сокращение для Флорида. После долгих споров и поиска нового названия для набора инструментов, которым уже пользовались несколько человек, Билл Спицак придумал: Набор инструментов Fast Light (ФЛТК).[5]
Архитектура
ФЛТК - это объектно-ориентированный набор инструментов для виджетов написано на языке программирования C ++. Хотя GTK в основном предназначен для X Window System, FLTK работает на других платформах, в том числе Майкрософт Виндоус (взаимодействует с Windows API ), и OS X (взаимодействует с Кварцевый ). А Wayland back-end обсуждается.[6] FLTK2 получил экспериментальную поддержку для дополнительного использования Каир графическая библиотека.
Языковые привязки
Библиотека, написанная на одном языке программирования, может использоваться на другом языке, если языковые привязки написаны. FLTK имеет ряд привязок для разных языков.[7]
FLTK был в основном разработан и написан на язык программирования C ++. Однако привязки существуют для других языков, например Lua,[8] Perl,[9] Python,[10] Рубин,[11] Ржавчина[12] и Tcl.[13]
Для FLTK 1.x в этом примере создается окно с Ладно кнопка:
#включают <FL/Fl.H>#включают <FL/Fl_Window.H>#включают <FL/Fl_Button.H>int основной(int argc, char *argv[]) { Fl_Window* ш = новый Fl_Window(330, 190); новый Fl_Button(110, 130, 100, 35, "Ладно"); ш->конец(); ш->шоу(argc, argv); вернуть Fl::бегать();}
Дизайнеры графического интерфейса
ФЛТК включает Дизайнер пользовательского интерфейса Fast Light (ЖИДКОСТЬ ), графический интерфейс дизайнер что порождает C ++ исходный и заголовочный файлы.
Использовать
Многие программы и проекты используют FLTK, в том числе:
- Нанолинукс, 14 МБ Дистрибутив Linux[14][15][16][17][18][19]
- XFDOS, дистрибутив на основе FreeDOS с GUI, портирование Nano-X и ФЛТК[20][21][22][23]
- Повестка дня VR3, а Linux -на основании персональный цифровой помощник с ПО на базе ФЛТК.
- сторонний Повестка дня VR3 программного обеспечения
- Амнезия: Темный спуск, от Фрикционные игры использует FLTK в качестве приложения для запуска
- MwendanoWD, Логическая головоломка для персонального компьютера от YPH.[24]
- Аудио:
- Флдиги, любительское радио программное обеспечение, позволяющее передавать данные и текстовый чат в цифровых режимах, таких как PSK31
- Giada, лупер, микроконтроллер, программное обеспечение сэмплового проигрывателя, открытый исходный код[25]
- Prodatum, редактор предустановок синтезатора, использует реалистичный дизайн интерфейса.[26]
- ZynAddSubFX, открытый исходный код программный синтезатор
- DiSTI GL Studio, инструмент разработки человеко-машинного интерфейса[27]
- Инженерное дело:
- ForcePAD, интуитивно понятный инструмент для визуализации поведения конструкций в зависимости от нагрузки и граничных условий[28]
- Gmsh, открытый исходный код заключительный элемент генератор сетки
- RoboCIM, программное обеспечение для моделирования и управления работой серво-роботизированной системы и внешних устройств.[29]
- Среда рабочего стола Equinox (EDE)
- Программа для записи оптических дисков FlBurn для Linux[30]
- Графика:
- Авиматор, а Иерархия Биовидения (BVH) редактор
- CinePaint, программное обеспечение для глубокой раскраски, переход с GTK в FLTK, с открытым исходным кодом
- ITK-SNAP, программное приложение для сегментации медицинских изображений, с открытым исходным кодом
- Ядерная бомба, программа для цифрового композитинга. До версии 5 теперь заменен на Qt
- Открыть редактор фильмов[31]
- OpenVSP, параметрическое создание эскизов самолетов НАСА, недавно открытый исходный код[32]
- PosteRazor, программное обеспечение для печати плакатов с открытым исходным кодом для Windows, OS X, Linux[33]
- SmallBASIC, Порт Windows
- Веб-браузеры:
- X оконные менеджеры:
- FLWM
- miwm
Версии
Эта секция нуждается в расширении. Вы можете помочь добавляя к этому. (Июль 2010 г.) |
Эта история версий является примером иногда непростой природы разработка с открытым исходным кодом.[36]
1.0.x
Это предыдущая стабильная версия, в настоящее время не поддерживаемая.
1.1.x
Это предыдущая стабильная версия, в настоящее время не поддерживаемая.
2.0 филиал
Это была ветвь разработки, долгое время считавшаяся следующим шагом в развитии FLTK, с множеством новых функций и более чистым стилем программирования. Он так и не достиг стабильности, и развитие в основном остановилось. Ветка сейчас неактивна.
1.2.x
Это была попытка взять некоторые из лучших функций 2.0 и объединить их обратно в более популярную ветку 1.1. Больше не разрабатывается.
1.3.x
Текущая стабильная версия.[37] Обеспечивает поддержку UTF-8.
1.4.x
Текущая ветка разработки. Добавляет больше возможностей в 1.3.[38]
3.0 филиал
Эта ветка в основном является концептуальной моделью для будущей работы. Сейчас неактивен.
Смотрите также
- GTK
- gtkmm (Привязка GTK к C ++)
- Набор инструментов FOX
- IUP (программное обеспечение) - многоплатформенный инструментарий для создания собственных графических пользовательских интерфейсов
- Juce
- Qt (программное обеспечение)
- Каркас визуальных компонентов (VCF)
- Набор инструментов для виджетов
- wxWidgets - кроссплатформенный набор инструментов C ++ виджетов с открытым исходным кодом, разработанный сообществом
- Окончательный ++
- Список наборов инструментов для виджетов
использованная литература
- ^ https://www.fltk.org/articles.php?L1635
- ^ «Лицензионное соглашение ФЛТК».
- ^ «ФЛТК дом».
- ^ «Архивная копия». Архивировано из оригинал на 2015-05-18. Получено 2015-05-13.CS1 maint: заархивированная копия как заголовок (ссылка на сайт)
- ^ https://www.fltk.org/articles.php?L363+I0+TFAQ+P1+Q
- ^ "STR # 3371: Поддержка протокола сервера Wayland Display - Fast Light Toolkit (FLTK)". www.fltk.org. Получено 2020-08-06.
- ^ "Языковые привязки GTK".
- ^ "Домашняя страница murgaLua".
- ^ https://www.fltk.org/wiki.php?LC+P139+TC+Q
- ^ "домашняя страница pyFLTK".
- ^ "Домашняя страница Ruby / FLTK".
- ^ "ящик документации ФЛТК".
- ^ "Домашняя страница Tcl / Fltk".
- ^ "Официальный сайт Nanolinux".
- ^ https://eerielinux.wordpress.com/2014/11/30/tiny-to-the-extreme-nanolinux/
- ^ https://eerielinux.wordpress.com/2014/12/30/an-interview-with-the-nanolinux-developer/
- ^ «Архивная копия». В архиве из оригинала 1999-04-20. Получено 2019-08-15.CS1 maint: заархивированная копия как заголовок (ссылка на сайт)
- ^ http://sites.utoronto.ca/webdocs/HTMLdocs/PCTOOLS/pc_editors.html
- ^ http://www.georgpotthast.de/
- ^ https://eerielinux.wordpress.com/2012/10/12/an-extraordinary-tk-example/
- ^ https://eerielinux.wordpress.com/2014/12/30/an-interview-with-the-nanolinux-developer/
- ^ «Архивная копия». В архиве из оригинала 1999-04-20. Получено 2019-08-15.CS1 maint: заархивированная копия как заголовок (ссылка на сайт)
- ^ http://www.georgpotthast.de/
- ^ YPH
- ^ "Giada, хардкорная машина". Архивировано из оригинал на 2011-09-25. Получено 2011-09-29.
- ^ Prodatum
- ^ Студия DiSTI GL
- ^ ForcePAD
- ^ RoboCIM - программное обеспечение для робототехники
- ^ FlBurn
- ^ Открыть редактор фильмов
- ^ OpenVSP
- ^ PosteRazor
- ^ Пятый браузер
- ^ NetRider
- ^ "Какие есть версии FLTK?". Получено 2010-07-23.
- ^ https://www.fltk.org/articles.php?L825 Сделано 5 марта 2017 года.
- ^ https://www.fltk.org/articles.php?L825 Сделано 5 марта 2017 года.