изначальный выпуск | 1998 |
---|---|
Стабильный выпуск | 1.3.5 (3 марта 2019 г . [1] ) [±] |
Предварительный выпуск | 1.4.x-20200821-4c012bd7 (21 августа 2020 г . [±] | )
Репозиторий | |
Написано в | C ++ |
Операционная система | Unix-подобный с X11 , macOS , Microsoft Windows , AmigaOS 4 |
Тип | Библиотека пользовательского интерфейса |
Лицензия | Стандартная общественная лицензия ограниченного применения GNU версии 2, за исключением разрешения статической ссылки [2] |
Интернет сайт | www |
Fast Light Toolkit ( FLTK , произносится fulltick ) [3] - это кроссплатформенная библиотека виджетов (графических элементов управления) для графических пользовательских интерфейсов (GUI), разработанная Биллом Спицаком и другими. Созданный для программирования трехмерной графики , он имеет интерфейс для OpenGL , но также подходит для общего программирования с графическим интерфейсом.
Используя собственный виджет, системы рисования и событий, абстрагированные от базового системно-зависимого кода, он позволяет писать программы, которые выглядят одинаково во всех поддерживаемых операционных системах .
FLTK - это бесплатное программное обеспечение с открытым исходным кодом , работающее под лицензией GNU Lesser General Public License (LGPL) с добавленным пунктом, разрешающим статическое связывание из приложений с несовместимыми лицензиями.
В отличие от библиотек пользовательского интерфейса, таких как GTK , Qt и wxWidgets , FLTK использует более легкий дизайн и ограничивается функциональностью графического интерфейса. Из-за этого библиотека очень мала (программа FLTK «Hello World» составляет около 100 КиБ ) и обычно статически связана . Он также избегает сложных макросов, отдельных препроцессоров кода и использования некоторых расширенных функций C ++ : шаблонов, исключений и информации о типах времени выполнения (RTTI) или, для FLTK 1.x, пространств имен . В сочетании со скромным размером пакета это позволяет относительно легко изучить его для новых пользователей. [4]
Эти преимущества сопровождаются соответствующими недостатками. FLTK предлагает меньше виджетов, чем большинство наборов инструментов GUI, и из-за использования неродных виджетов не имеет собственного внешнего вида ни на одной платформе.
Значение имени [ править ]
FLTK изначально был разработан для совместимости с библиотекой форм, написанной для машин Silicon Graphics (SGI) (производная от этой библиотеки под названием XForms все еще используется довольно часто). В этой библиотеке все функции и структуры начинаются с fl_
. Это именование было распространено на все новые методы и виджеты в библиотеке C ++, и этот префикс FL
был взят в качестве имени библиотеки. После того, как FL был выпущен как открытый исходный код, было обнаружено, что поиск «FL» в Интернете был проблемой, потому что это также сокращение от Флориды . После долгих споров и поиска нового названия для набора инструментов, который уже использовался несколькими людьми, Билл Спицак придумал Fast Light Tool Kit (FLTK). [5]
Архитектура [ править ]
FLTK - это объектно-ориентированный инструментарий виджетов, написанный на языке программирования C ++ . Хотя GTK в основном предназначен для системы X Window , FLTK работает на других платформах, включая Microsoft Windows (с интерфейсом Windows API ) и OS X (с Quartz ). Вейленд фоновый обсуждаются. [6] FLTK2 получил экспериментальную поддержку для необязательного использования графической библиотеки cairo .
Привязки языков [ править ]
Библиотека, написанная на одном языке программирования, может использоваться на другом языке, если написаны языковые привязки . FLTK имеет ряд привязок для разных языков. [7]
FLTK был разработан в основном для языка программирования C ++ и написан на нем . Однако привязки существуют для других языков, например Lua , [8] Perl , [9] Python , [10] Ruby , [11] Rust [12] и Tcl . [13]
Для 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 = новое Fl_Window ( 330 , 190 ); новый Fl_Button ( 110 , 130 , 100 , 35 , «Хорошо» ); ш -> конец (); w -> показать ( argc , argv ); вернуть Fl :: run (); }
Дизайнеры графического интерфейса [ править ]
FLTK включает Fast Light User Interface Designer ( FLUID ), графический дизайнер GUI, который генерирует исходные файлы и файлы заголовков C ++ .
Используйте [ редактировать ]
Многие программы и проекты используют FLTK, в том числе:
- Nanolinux , 14 МБ Дистрибутив Linux [14] [15] [16] [17] [18] [19]
- XFDOS, дистрибутив на основе FreeDOS с графическим интерфейсом пользователя , портировавший Nano-X и FLTK [20] [21] [22] [23]
- Повестка дня VR3 , Linux -На персональный цифровой помощник с программным обеспечением на основе FLTK.
- стороннее программное обеспечение Agenda VR3
- Amnesia: The Dark Descent от Frictional Games использует FLTK в качестве приложения для запуска
- MwendanoWD , Логическая головоломка для персонального компьютера от YPH. [24]
- Аудио:
- Fldigi , программа для радиолюбителей , позволяет передавать данные и текстовый чат в цифровых режимах, таких как PSK31.
- Giada, лупер, микроконтроллер, программное обеспечение для проигрывателя сэмплов, открытый исходный код [25]
- Prodatum, редактор предустановок синтезатора, использует реалистичный дизайн интерфейса [26]
- ZynAddSubFX , программный синтезатор с открытым исходным кодом
- DiSTI GL Studio, инструмент разработки человеко-машинного интерфейса [27]
- Инженерное дело:
- ForcePAD, интуитивно понятный инструмент для визуализации поведения конструкций в зависимости от нагрузки и граничных условий [28]
- Gmsh , генератор конечно-элементных сеток с открытым исходным кодом
- RoboCIM, программное обеспечение для моделирования и управления работой серво-роботизированной системы и внешних устройств [29]
- Среда рабочего стола Equinox (EDE)
- Программа для записи оптических дисков FlBurn для Linux [30]
- Графика:
- Avimator , редактор иерархии Biovision (BVH)
- CinePaint , программа для глубокой раскраски, переход с GTK на FLTK, с открытым исходным кодом
- ITK-SNAP , программное приложение для сегментации медицинских изображений, с открытым исходным кодом
- Nuke , программа для цифрового композитинга. До версии 5, теперь заменен на Qt
- Открыть редактор фильмов [31]
- OpenVSP, параметрическое создание эскизов самолетов НАСА, недавно открытый исходный код [32]
- PosteRazor, программное обеспечение для печати плакатов с открытым исходным кодом для Windows, OS X, Linux [33]
- SmallBASIC , порт Windows
- Веб-браузеры:
- Dillo , Dillo-2 был основан на FLTK-2, отказ от этой ветки FLTK без официального выпуска был основной причиной запуска Dillo-3 с использованием FLTK1.3.
- В-пятых, повторяет функционирование ранней Opera [34]
- NetRider [35]
- 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
- ^ «Лицензионное соглашение FLTK» .
- ^ "ФЛТК дома" .
- ^ "Архивная копия" . Архивировано из оригинала на 2015-05-18 . Проверено 13 мая 2015 .CS1 maint: заархивированная копия как заголовок ( ссылка )
- ^ https://www.fltk.org/articles.php?L363+I0+TFAQ+P1+Q
- ^ "STR # 3371: Поддержка протокола Wayland Display Server - Fast Light Toolkit (FLTK)" . www.fltk.org . Проверено 6 августа 2020 .
- ^ "Языковые привязки GTK" .
- ^ "Домашняя страница murgaLua" .
- ^ https://www.fltk.org/wiki.php?LC+P139+TC+Q
- ^ "Домашняя страница pyFLTK" .
- ^ "Домашняя страница Ruby / FLTK" .
- ^ "Ящик с документацией 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/
- ^ "Архивная копия" . Архивировано 20 апреля 1999 года . Проверено 15 августа 2019 .CS1 maint: заархивированная копия как заголовок ( ссылка )
- ^ http://sites.utoronto.ca/webdocs/HTMLdocs/PCTOOLS/pc_editors.html
- ^ http://www.georgpotthast.de/
- ^ https://eerielinux.wordpress.com/2012/10/12/an-extranormal-tk-example/
- ^ https://eerielinux.wordpress.com/2014/12/30/an-interview-with-the-nanolinux-developer/
- ^ "Архивная копия" . Архивировано 20 апреля 1999 года . Проверено 15 августа 2019 .CS1 maint: заархивированная копия как заголовок ( ссылка )
- ^ http://www.georgpotthast.de/
- ^ YPH
- ^ "Giada, хардкорная лупмашина" . Архивировано из оригинала на 2011-09-25 . Проверено 29 сентября 2011 .
- ^ Prodatum
- ^ DiSTI GL Студия
- ^ ForcePAD
- ^ RoboCIM - Программное обеспечение для робототехники
- ^ FlBurn
- ^ Открыть редактор фильмов
- ^ OpenVSP
- ^ PosteRazor
- ^ Пятый браузер
- ^ NetRider
- ^ "Какие есть версии FLTK?" . Проверено 23 июля 2010 .
- ^ https://www.fltk.org/articles.php?L825 Снято 5 марта 2017 г.
- ^ https://www.fltk.org/articles.php?L825 Снято 5 марта 2017 г.
Внешние ссылки [ править ]
- Официальный веб-сайт