ФЛТК - FLTK

ФЛТК
FLTK shadow.svg
изначальный выпуск1998; 22 года назад (1998)
Стабильный выпуск1.3.5 (3 марта 2019 г.; 21 месяц назад (2019-03-03)[1]) [±]
Предварительный выпуск1.4.x-20200821-4c012bd7 (21 августа 2020 г.; 3 месяца назад (2020-08-21)) [±]
Репозиторий Отредактируйте это в Викиданных
Написано вC ++
Операционная системаUnix-подобный с участием X11, macOS, Майкрософт Виндоус, AmigaOS 4
ТипБиблиотека пользовательского интерфейса
ЛицензияСтандартная общественная лицензия ограниченного применения GNU версия 2 с исключением, чтобы разрешить статическое связывание[2]
Интернет сайтwww.fltk.org

Набор инструментов 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
  • Веб-браузеры:
    • Дилло, Dillo-2 был основан на FLTK-2, отказ от этой ветки FLTK без официального выпуска был основной причиной запуска Dillo-3 с использованием FLTK1.3
    • В-пятых, повторяет функционирование ранних Опера[34]
    • NetRider[35]
  • X оконные менеджеры:

Версии

Эта история версий является примером иногда непростой природы разработка с открытым исходным кодом.[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 филиал

Эта ветка в основном является концептуальной моделью для будущей работы. Сейчас неактивен.

Смотрите также

использованная литература

  1. ^ https://www.fltk.org/articles.php?L1635
  2. ^ «Лицензионное соглашение ФЛТК».
  3. ^ «ФЛТК дом».
  4. ^ «Архивная копия». Архивировано из оригинал на 2015-05-18. Получено 2015-05-13.CS1 maint: заархивированная копия как заголовок (ссылка на сайт)
  5. ^ https://www.fltk.org/articles.php?L363+I0+TFAQ+P1+Q
  6. ^ "STR # 3371: Поддержка протокола сервера Wayland Display - Fast Light Toolkit (FLTK)". www.fltk.org. Получено 2020-08-06.
  7. ^ "Языковые привязки GTK".
  8. ^ "Домашняя страница murgaLua".
  9. ^ https://www.fltk.org/wiki.php?LC+P139+TC+Q
  10. ^ "домашняя страница pyFLTK".
  11. ^ "Домашняя страница Ruby / FLTK".
  12. ^ "ящик документации ФЛТК".
  13. ^ "Домашняя страница Tcl / Fltk".
  14. ^ "Официальный сайт Nanolinux".
  15. ^ https://eerielinux.wordpress.com/2014/11/30/tiny-to-the-extreme-nanolinux/
  16. ^ https://eerielinux.wordpress.com/2014/12/30/an-interview-with-the-nanolinux-developer/
  17. ^ «Архивная копия». В архиве из оригинала 1999-04-20. Получено 2019-08-15.CS1 maint: заархивированная копия как заголовок (ссылка на сайт)
  18. ^ http://sites.utoronto.ca/webdocs/HTMLdocs/PCTOOLS/pc_editors.html
  19. ^ http://www.georgpotthast.de/
  20. ^ https://eerielinux.wordpress.com/2012/10/12/an-extraordinary-tk-example/
  21. ^ https://eerielinux.wordpress.com/2014/12/30/an-interview-with-the-nanolinux-developer/
  22. ^ «Архивная копия». В архиве из оригинала 1999-04-20. Получено 2019-08-15.CS1 maint: заархивированная копия как заголовок (ссылка на сайт)
  23. ^ http://www.georgpotthast.de/
  24. ^ YPH
  25. ^ "Giada, хардкорная машина". Архивировано из оригинал на 2011-09-25. Получено 2011-09-29.
  26. ^ Prodatum
  27. ^ Студия DiSTI GL
  28. ^ ForcePAD
  29. ^ RoboCIM - программное обеспечение для робототехники
  30. ^ FlBurn
  31. ^ Открыть редактор фильмов
  32. ^ OpenVSP
  33. ^ PosteRazor
  34. ^ Пятый браузер
  35. ^ NetRider
  36. ^ "Какие есть версии FLTK?". Получено 2010-07-23.
  37. ^ https://www.fltk.org/articles.php?L825 Сделано 5 марта 2017 года.
  38. ^ https://www.fltk.org/articles.php?L825 Сделано 5 марта 2017 года.

внешние ссылки