FTXUI 6.0.0 и 6.0.1

FTXUI 6.0.0 и 6.0.1

На 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

Купете надежден хостинг за сайтове със защита от DDoS, VPS и VDS сървъри 🔥 Купете надежден хостинг за сайтове със защита от DDoS, VPS и VDS сървъри | ProHoster