22 мая, после более полутора лет разработки, состоялся выпуск 0.9.0 C++ библиотеки FINAL CUT, предназначенной для создания приложений с текстовым интерфейсом, не зависящей от библиотек ncurses, termbox или подобных, и распространяемой по лицензии LGPL-3.0.
Список изменений:
- переход на использование стандарта C++14;
- строгое использование trailing return type;
- полностью переписано управление виртуальными окнами, что ускорило отрисовку;
- изменён способ получения фокуса виджетом. Отправка событий фокуса больше не является отдельным шагом;
- ускорение парсинга UTF-8;
- использование кольцевого буфера для хранения необработанного ввода с клавиатуры и мыши;
- очередь буфера вывода также была заменена на кольцевой буфер для повышения производительности;
- использование хэш-таблицы для ускорения идентификации нажатых клавиш;
- ускорено отображение теней и линий;
- в виджет
FTextView
добавлена возможность подсветки текста (цветом и стилем); - пункты виджета
FDialogListMenu
теперь автоматически разрешаются и запрещаются в зависимости от количества диалогов; - в строке заголовка виджета
FFileDialog
теперь показывается фильтр файлов; - виртуальные окна можно перемещать вверх из области виртуального терминала;
- для большего контроля в виджеты
FLineEdit
иFTextView
добавлены дополнительные публичные методы; - в виджет
FLineEdit
добавлена возможность выравнивания содержимого (слева, по центру или справа); - в виджет
FListView
добавлена возможность показывать и скрывать отдельные столбцы; - в виджет
FListView
добавлены методы для удаления колонокremoveColumn()
иremoveAllColumns()
; - флаги виджетов сгруппированы в иерархическую структуру;
- класс вывода терминала (производный от
FOutput
) теперь можно изменить с помощью конструктора классаFVTerm
; - теперь приложение уведомляется об изменении фокуса в окне терминала с помощью новых событий
onTermFocusIn()
иonTermFocusOut()
; - в класс
FObject
добавлена поддержка обратных итераторов; - изменения размера и положения
FDialog
«мышью» теперь выполняются непосредственно перед выводом в консоль; - добавлен новый пример, демонстрирующий звезды с эффектом параллаксной прокрутки;
- добавлен новый пример, демонстрирующий просмотр изображений в формате X PixMap (XPM) в консоли.
>>> Подробности