FTXUI 6.0.0 и 6.0.1

good-penguin.png

28 марта, после более полутора лет разработки, состоялись выпуски 6.0.0 и 6.0.1 кроссплатформенной библиотеки FTXUI, предназначенной для создания на C++ приложений с текстовым интерфейсом и распространяемой по лицензии MIT.

Возможности библиотеки:

  • функциональный стиль, наподобие React JS;
  • простой и элегантный стиль (по мнению автора библиотеки);
  • обработка событий клавиатуры и «мыши»;
  • поддержка UTF8 и Unicode;
  • поддержка True Color;
  • поддержка изменения стиля курсора;
  • поддержка анимаций;
  • поддержка рисования;
  • отсутствие сторонних зависимостей;
  • кроссплатформенность (Linux/MacOS, WebAssembly, Windows).

Список изменений:

  • Component:
    • добавлена поддержка необработанного ввода, что позволило определять большее количество клавиш;
    • добавлена 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;
  • Screen:
    • добавлена функция 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 от автора библиотеки.

>>> Подробности на GitHub

©  Linux.org.ru