ФЛТК
![]() | |
Первоначальный выпуск | 1998 год |
---|---|
Стабильная версия | 1.3.9 (9 декабря 2023 г [1] ) [±] |
Предварительный выпуск | экспериментальный-2022-01 (23 января 2022 [±] | )
Репозиторий | |
Написано в | С++ |
Операционная система | Unix-подобный с X11 , macOS , Microsoft Windows , AmigaOS 4 |
Тип | Библиотека пользовательского интерфейса |
Лицензия | GNU Lesser General Public License версии 2 с исключением, позволяющим статическое связывание [2] |
Веб-сайт | www |
Набор инструментов для быстрого освещения ( FLTK ) [3] — это кроссплатформенная библиотека виджетов (элементов графического управления) для графических пользовательских интерфейсов (GUI), разработанная Биллом Спитцаком и другими. Созданный для программирования 3D-графики , он имеет интерфейс для OpenGL , но также подходит для общего программирования с графическим интерфейсом.
Используя собственные виджеты, системы рисования и событий, абстрагированные от базового системно-зависимого кода, он позволяет писать программы, которые выглядят одинаково во всех поддерживаемых операционных системах .
FLTK — это бесплатное программное обеспечение с открытым исходным кодом , лицензированное по лицензии GNU Lesser General Public License (LGPL) с добавленным пунктом, разрешающим статическое связывание из приложений с несовместимыми лицензиями.
В отличие от библиотек пользовательского интерфейса, таких как GTK , Qt и wxWidgets , FLTK использует более легкий дизайн и ограничивается функциональностью графического интерфейса. Из-за этого библиотека очень маленькая ( программа FLTK «Hello World» занимает около 100 КиБ ), и обычно линкуется статически . Он также избегает сложных макросов, отдельных препроцессоров кода и использования некоторых расширенных функций C++ : шаблонов, исключений и информации о типах времени выполнения (RTTI) или, для FLTK 1.x, пространств имен . В сочетании со скромным размером пакета это делает его относительно простым в освоении для новых пользователей. [4]
Эти преимущества сопровождаются соответствующими недостатками. FLTK предлагает меньше виджетов, чем большинство наборов инструментов с графическим интерфейсом, и из-за использования неродных виджетов не имеет собственного внешнего вида ни на одной платформе.
Значение имени
[ редактировать ]FLTK изначально был разработан для совместимости с библиотекой форм, написанной для машин Silicon Graphics (SGI) (производная этой библиотеки под названием XForms до сих пор используется довольно часто). В этой библиотеке все функции и структуры начинаются с fl_
. Это наименование было распространено на все новые методы и виджеты в библиотеке C++, и этот префикс FL
было взято в качестве названия библиотеки. После того, как FL был выпущен с открытым исходным кодом, было обнаружено, что поиск «FL» в Интернете представляет собой проблему, поскольку это также аббревиатура Флориды . После долгих дебатов и поиска нового названия для набора инструментов, который уже использовался несколькими людьми, Билл Спитзак придумал Fast Light Tool Kit (FLTK). [5]
Архитектура
[ редактировать ]FLTK — это объектно-ориентированный набор инструментов виджетов , написанный на языке программирования C++ . В то время как GTK в основном оптимизирован для X Window System , FLTK работает и на других платформах, включая Microsoft Windows (с интерфейсом Windows API ) и OS X (с интерфейсом с Quartz ). Серверная часть Wayland реализована и будет доступна в версии 1.4.0. [6] FLTK2 получил экспериментальную поддержку опционального использования графической библиотеки cairo .
Языковые привязки
[ редактировать ]Библиотека, написанная на одном языке программирования, может использоваться на другом языке, если привязки языка написаны . FLTK имеет ряд привязок для разных языков.
FLTK был в основном разработан и написан на языке программирования C++ . Однако существуют привязки для других языков, например Lua , [7] Перл , [8] Питон , [9] Руби , [10] Ржавчина [11] и Ткл . [12]
Для 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 ), графический дизайнер графического интерфейса , который генерирует C++ исходные файлы и файлы заголовков.
Использовать
[ редактировать ]Многие программы и проекты используют FLTK, в том числе:
- Nanolinux , дистрибутив Linux 14 МБ [13] [14] [15] [16] [17] [18]
- XFDOS, дистрибутив на базе FreeDOS с графическим интерфейсом , портирующий Nano-X и FLTK. [19] [15] [16] [18]
- Agenda VR3 — Linux на базе персональный цифровой помощник с программным обеспечением на базе FLTK.
- стороннее Agenda VR3 программное обеспечение
- Amnesia: The Dark Descent от Frictional Games использует FLTK в качестве приложения запуска.
- MwendanoWD , Логическая головоломка для персонального компьютера от YPH. [20]
- Аудио:
- Fldigi , программное обеспечение для любительской радиосвязи , позволяет передавать данные и вести текстовый чат через цифровые виды связи, такие как PSK31.
- Giada, лупер, микросеквенсор, программное обеспечение проигрывателя сэмплов, с открытым исходным кодом [21]
- Prodatum, редактор пресетов синтезатора, использует реалистичный дизайн интерфейса. [22]
- ZynAddSubFX с открытым исходным кодом. — программный синтезатор
- DiSTI GL Studio, инструмент разработки человеко-машинного интерфейса [23]
- Инженерное дело:
- ForcePAD, интуитивно понятный инструмент для визуализации поведения конструкций под действием нагрузки и граничных условий. [24]
- Gmsh с открытым исходным кодом. конечных элементов — генератор сеток
- RoboCIM, программное обеспечение для моделирования и управления работой системы сервороботов и внешних устройств. [25]
- Среда рабочего стола Equinox (EDE)
- Программа для записи оптических дисков FlBurn для Linux [26]
- Графика:
- CinePaint , программное обеспечение для глубокой рисования, переход с GTK на FLTK, с открытым исходным кодом.
- ITK-SNAP , программное приложение для сегментации медицинских изображений, с открытым исходным кодом.
- Nuke — программа для цифрового композитинга. До версии 5, теперь заменен Qt
- Открыть редактор фильмов [27]
- OpenVSP, параметрические эскизы самолетов НАСА, недавно выложенные в открытый доступ. [28]
- PosteRazor, программное обеспечение для печати плакатов с открытым исходным кодом для Windows, OS X, Linux [29]
- Tilemap Studio, редактор тайловых карт с открытым исходным кодом для проектов Game Boy, Color, Advance, DS и SNES. [30]
- SmallBASIC , порт для Windows
- Веб-браузеры:
- Визуализатор мозга: интерактивный визуализатор с открытым исходным кодом для крупномасштабных 3D-моделей мозга. Часть системы моделирования организации мозга (BOSS), разработанной в Университете Стоуни-Брук. [33]
- X оконные менеджеры :
- ФЛЮМ
- мама
Версии
[ редактировать ]![]() | Этот раздел нуждается в расширении . Вы можете помочь, добавив к нему . ( июль 2010 г. ) |
Эта история версий является примером порой бурного характера разработки с открытым исходным кодом . [34]
1.0.х
[ редактировать ]Это предыдущая стабильная версия, которая сейчас не поддерживается.
1.1.х
[ редактировать ]Это предыдущая стабильная версия, которая сейчас не поддерживается.
2.0 ветка
[ редактировать ]Это была ветка разработки, которая долгое время считалась следующим шагом в эволюции FLTK, с множеством новых функций и более чистым стилем программирования. Он так и не достиг стабильности, и развитие практически прекратилось. Филиал сейчас неактивен.
1.2.х
[ редактировать ]Это была попытка взять некоторые из лучших функций версии 2.0 и объединить их обратно в более популярную ветку 1.1. Он больше не разрабатывается.
1.3.х
[ редактировать ]Текущая стабильная версия. [35] Обеспечивает поддержку UTF-8.
1.4.х
[ редактировать ]Текущая ветка разработки. Добавляет больше возможностей в 1.3. [35]
3.0 ветка
[ редактировать ]Эта ветка по большей части представляет собой концептуальную модель для будущей работы. Сейчас неактивен.
См. также
[ редактировать ]- ГТК
- gtkmm (привязка GTK к C++)
- Инструментарий FOX
- IUP (программное обеспечение) — многоплатформенный набор инструментов для создания собственных графических пользовательских интерфейсов.
- Вчера
- Qt (программное обеспечение)
- Набор инструментов для виджетов
- wxWidgets — кроссплатформенный набор инструментов для виджетов C++ с открытым исходным кодом, разработанный сообществом.
- У++
- Список наборов виджетов
Ссылки
[ редактировать ]- ^ https://www.fltk.org/articles.php?L1898.
- ^ «Лицензионное соглашение ФЛТК» . Архивировано из оригинала 18 декабря 2001 г. Проверено 30 января 2020 г.
- ^ «Набор инструментов Fast Light — Набор инструментов Fast Light (FLTK)» . www.fltk.org . Архивировано из оригинала 2 февраля 2020 г. Проверено 30 января 2020 г.
- ^ «Fast Light ToolKit (FLTK) » CppLibs» . Архивировано из оригинала 18 мая 2015 г. Проверено 13 мая 2015 г.
- ^ «Статья № 363: Что означает «FLTK»? - Набор инструментов Fast Light (FLTK)» . www.fltk.org . Архивировано из оригинала 31 июля 2020 г. Проверено 30 января 2020 г.
- ^ «STR #3371: Поддержка протокола сервера отображения Wayland — Fast Light Toolkit (FLTK)» . www.fltk.org . Архивировано из оригинала 19 ноября 2022 г. Проверено 6 августа 2020 г.
- ^ «Домашняя страница murgaLua» . Архивировано из оригинала 7 июля 2012 г. Проверено 18 декабря 2008 г.
- ^ «Ссылки: По категориям — Ссылки — Fast Light Toolkit (FLTK)» . www.fltk.org . Архивировано из оригинала 15 марта 2023 г. Проверено 7 апреля 2023 г.
- ^ «Домашняя страница pyFLTK» . pyfltk.sourceforge.io . Архивировано из оригинала 7 апреля 2023 г. Проверено 7 апреля 2023 г.
- ^ «Рубин/ФЛТК» . Ruby-fltk.sourceforge.net . Архивировано из оригинала 13 апреля 2023 г. Проверено 7 апреля 2023 г.
- ^ "fltk - Руст" . docs.rs. Архивировано из оригинала 7 апреля 2023 г. Проверено 7 апреля 2023 г.
- ^ «Динамическое расширение Tcl/Fltk для Tcl» . СоурсФордж . 3 апреля 2013 г. Архивировано из оригинала 7 апреля 2023 г. . Проверено 7 апреля 2023 г.
- ^ «Нанолинукс» . СоурсФордж . 8 октября 2016 г. Архивировано из оригинала 11 ноября 2020 г. . Проверено 15 апреля 2018 г.
- ^ «Малое до крайности: Nanolinux» . 30 ноября 2014 г. Архивировано из оригинала 16 апреля 2018 г. Проверено 15 апреля 2018 г.
- ^ Перейти обратно: а б «Интервью с разработчиком Nanolinux» . 30 декабря 2014 г. Архивировано из оригинала 16 апреля 2018 г. Проверено 15 апреля 2018 г.
- ^ Перейти обратно: а б «Методы искусственного интеллекта» . Архивировано из оригинала 20 апреля 1999 г. Проверено 15 августа 2019 г.
- ^ «Редакторы HTML для ПК» . Архивировано из оригинала 16 апреля 2018 г. Проверено 15 апреля 2018 г.
- ^ Перейти обратно: а б «Личная домашняя страница Георга» . www.georgpotthast.de . Архивировано из оригинала 17 августа 2018 г. Проверено 15 апреля 2018 г.
- ^ «Необычайный пример ТЗ!» . 12 октября 2012 г. Архивировано из оригинала 16 апреля 2018 г. . Проверено 15 апреля 2018 г.
- ^ «ЯПХ» . Архивировано из оригинала 27 октября 2018 г. Проверено 27 октября 2018 г.
- ^ «Джиада, хардкорная луп-машина» . Архивировано из оригинала 25 сентября 2011 г. Проверено 29 сентября 2011 г.
- ^ "prodatum - официальная домашняя страница" . prodatum.sourceforge.net . Архивировано из оригинала 7 апреля 2023 г. Проверено 7 апреля 2023 г.
- ^ «ДиСТИ ГЛ Студия» . Архивировано из оригинала 15 августа 2012 г. Проверено 29 июля 2010 г.
- ^ «ФорсПАД» . Forcepad.sourceforge.net . Архивировано из оригинала 7 апреля 2023 г. Проверено 7 апреля 2023 г.
- ^ «RoboCIM — Программное обеспечение для робототехники» . Архивировано из оригинала 4 мая 2013 г. Проверено 29 июня 2013 г.
- ^ «Бесплатное | программное обеспечение для записи компакт-дисков и DVD-дисков для Linux» . flburn.sourceforge.net . Архивировано из оригинала 10 апреля 2023 г. Проверено 7 апреля 2023 г.
- ^ «Open Movie Editor — бесплатный видеоредактор с открытым исходным кодом» . www.openmovieeditor.org . Архивировано из оригинала 18 мая 2012 г. Проверено 12 апреля 2008 г.
- ^ «ОпенВСП» . openvsp.org . Архивировано из оригинала 7 апреля 2023 г. Проверено 7 апреля 2023 г.
- ^ «PosteRazor — Создайте свой собственный плакат!» . постерazor.sourceforge.io . Архивировано из оригинала 7 апреля 2023 г. Проверено 7 апреля 2023 г.
- ^ «Тайлмап Студия» . Гитхаб . 18 октября 2021 года. Архивировано из оригинала 8 сентября 2021 года . Проверено 8 сентября 2021 г.
- ^ «Пятый – Дом» . пятый-браузер.sourceforge.net . Архивировано из оригинала 14 апреля 2023 г. Проверено 7 апреля 2023 г.
- ^ «НетРидер» . СоурсФордж . 23 февраля 2016 г. Архивировано из оригинала 7 апреля 2023 г. . Проверено 7 апреля 2023 г.
- ^ «Виз (Визуализатор мозга)» . Гитхаб . 25 августа 2021 года. Архивировано из оригинала 8 сентября 2021 года . Проверено 8 сентября 2021 г.
- ^ «Какие версии FLTK?» . Архивировано из оригинала 28 июня 2010 г. Проверено 23 июля 2010 г.
- ^ Перейти обратно: а б https://www.fltk.org/articles.php?L825. Архивировано 2 августа 2019 г. на Wayback Machine. Снято 5 марта 2017 г.
Внешние ссылки
[ редактировать ]- ФЛТК
- Кроссплатформенное бесплатное программное обеспечение
- Бесплатные компьютерные библиотеки
- Бесплатное программное обеспечение, написанное на C++.
- Программное обеспечение, использующее Cairo (графика)
- Программное обеспечение, использующее лицензию LGPL
- Наборы инструментов для виджетов
- Библиотеки на основе X