FTXUI 6.0.0 and 6.0.1

FTXUI 6.0.0 and 6.0.1

On March 28, after more than a year and a half of development, versions 6.0.0 and 6.0.1 of the cross-platform library were released. FTXUI, designed for creating C++ applications with a text user interface and distributed under the MIT license.

Library capabilities:

  • functional style, similar to React JS;
  • simple and elegant style (in the author's opinion);
  • keyboard and mouse event handling;
  • support for UTF8 and Unicode;
  • support for True Color;
  • support for changing cursor style;
  • support for animations;
  • support for drawing;
  • no third-party dependencies;
  • cross-platform compatibility (Linux/MacOS, WebAssembly, Windows).

Change log:

  • Component:
    • added support for raw input, allowing for the recognition of more keys;
    • added ScreenInteractive::ForceHandleCtrlC(false), allowing the component to fully override the standard Ctrl+C handler;
    • added Mouse::WheelLeft and Mouse::WheelRight events;
    • added Event::DebugString();
    • added support for Input mode and InputOption::insert;
    • added DropdownOption for customizing the dropdown list;
    • added selection support and ScreenInteractive::GetSelection() and ScreenInteractive::SelectionChange(…) functions;
    • added ScreenInteractive::FullscreenPrimaryScreen(), allowing the component to display on the main screen in full screen rather than on an alternative;
    • added ComponentBase::Index(), allowing retrieval of the component index in its parent;
    • added EntryState::index, allowing retrieval of the menu item index;
    • added SliderOption::on_change, allowing the setting of a handler for slider value changes;
  • Notification
    • added italic decorator;
    • added horizontal indicator hscroll_indicator;
    • Dimension::Fit(..) added extend_beyond_screen option, allowing the element to be larger than the screen;
    • added selection support and decorators:
      • selectionColor;
      • selectionBackgroundColor;
      • selectionForegroundColor;
      • selectionStyle(style);
      • selectionStyleReset;
  • Screen:
    • added function Box::IsEmpty();
    • added support for transparency and functions:
      • Color::RGBA(r,g,b,a);
      • Color::HSVA(r,g,b,a);
      • Color::Blend(Color);
      • Color::IsOpaque();
  • Util:
    • added support for arbitrary adapter for ConstStringListRef;
  • Build:
    • added support for building with CMake 'unity/jumbo';
  • Bugs have been fixed.

In the screenshot — the utility rgb-tui by the author of the library.

Source: linux.org.ru

Buy reliable website hosting with DDoS protection, VPS VDS servers 🔥 Buy reliable website hosting with DDoS protection, VPS VDS servers | ProHoster