На 28 март, след повече от година и половина разработка, бяха пуснати версиите 6.0.0 и 6.0.1 на кросплатформената библиотека FTXUI, предназначена за създаване на приложения с текстов интерфейс на C++ и разпространявана под MIT лиценз.
Възможности на библиотеката:
- функционален стил, подобен на React JS;
- прост и елегантен стил (според автора на библиотеката);
- обработка на събития от клавиатурата и мишката;
- поддръжка на UTF8 и Unicode;
- поддръжка на True Color;
- поддръжка за промяна на стила на курсора;
- поддръжка за анимации;
- поддръжка за рисуване;
- липса на външни зависимости;
- кросплатформеност (Linux/MacOS, WebAssembly, Windows).
Списък с промени:
- Компонент:
- добавена е поддръжка за необработен вход, което позволява определянето на повече клавиши;
- добавена е ScreenInteractive::ForceHandleCtrlC(false), позволяваща на компонента напълно да замести стандартния обработчик на Ctrl+C;
- добавени са събития Mouse::WheelLeft и Mouse::WheelRight;
- добавена е Event::DebugString();
- добавена е поддръжка за режим на вмъкване Input и опция InputOption::insert;
- добавена е опция DropdownOption за конфигуриране на падащото меню;
- добавени са поддръжка за селекция и функции ScreenInteractive::GetSelection() и ScreenInteractive::SelectionChange(…);
- добавена е ScreenInteractive::FullscreenPrimaryScreen(), позволяваща показването на компонент на цял екран на основния екран, а не на алтернативния;
- добавена е ComponentBase::Index(), позволяваща получаването на индекса на компонента в родителя му;
- добавена е EntryState::index, позволяваща получаването на индекса на елемента в менюто;
- добавена е SliderOption::on_change, позволяваща задаването на обработчик за промяна на стойността на плъзгача;
- DOM:
- добавен е курсивен декоратор;
- добавен е хоризонтален индикатор hscroll_indicator;
- Dimension::Fit(..) добавена е опция extend_beyond_screen, позволяваща на елемента да има размер, по-голям от екрана;
- добавени са поддръжка за селекция и декоратори:
- selectionColor;
- selectionBackgroundColor;
- selectionForegroundColor;
- selectionStyle(style);
- selectionStyleReset;
- Екран:
- добавена е функция Box::IsEmpty();
- добавени са поддръжка за прозрачност и функции:
- Color::RGBA(r,g,b,a);
- Color::HSVA(r,g,b,a);
- Color::Blend(Color);
- Color::IsOpaque();
- Util:
- добавена е поддръжка за произволен адаптер за ConstStringListRef;
- Build:
- добавена е поддръжка за компилиране с CMake „unity/jumbo“;
- Коригирани са бъгове.
На скриншота — утилитата rgb-tui от автора на библиотеката.
Източник: linux.org.ru
