28 martie, după mai bine de un an și jumătate de dezvoltare, au fost lansate versiunile 6.0.0 și 6.0.1 ale bibliotecii multiplatformă FTXUI, destinată creării de aplicații în C++ cu interfață text și distribuită sub licența MIT.
Capabilitățile bibliotecii:
- stil funcțional, asemănător cu React JS;
- stil simplu și elegant (conform autorului bibliotecii);
- tratamentul evenimentelor de tastatură și „mouse”;
- suport pentru UTF8 și Unicode;
- suport pentru True Color;
- suport pentru schimbarea stilului cursorului;
- suport pentru animații;
- suport pentru desenare;
- fără dependențe externe;
- multiplatformă (Linux/MacOS, WebAssembly, Windows).
Lista modificărilor:
- Component:
- a fost adăugat suport pentru input brut, permițând definirea unui număr mai mare de taste;
- a fost adăugată ScreenInteractive::ForceHandleCtrlC(false), permițând componentei să redefinească complet handler-ul standard Ctrl+C;
- au fost adăugate evenimentele Mouse::WheelLeft și Mouse::WheelRight;
- a fost adăugată Event::DebugString();
- a fost adăugat suport pentru modul de inserție Input și opțiunea InputOption::insert;
- a fost adăugată opțiunea DropdownOption pentru configurarea listei derulante;
- au fost adăugate suportul pentru selectare și funcțiile ScreenInteractive::GetSelection() și ScreenInteractive::SelectionChange(…);
- a fost adăugată ScreenInteractive::FullscreenPrimaryScreen(), permițând afișarea componentei în modul fullscreen pe ecranul principal, nu pe cel alternativ;
- a fost adăugată ComponentBase::Index(), permițând obținerea indexului componentei în părintele său;
- a fost adăugată EntryState::index, permițând obținerea indexului punctului de meniu;
- a fost adăugată SliderOption::on_change, permițând setarea unui handler pentru modificarea valorii slider-ului;
- DOM:
- a fost adăugat decoratorul pentru italic;
- a fost adăugat indicatorul orizontal hscroll_indicator;
- Dimension::Fit(..) a fost adăugată opțiunea extend_beyond_screen, permițând elementului să aibă o dimensiune mai mare decât ecranul;
- au fost adăugate suportul pentru selectare și decoratori:
- selectionColor;
- selectionBackgroundColor;
- selectionForegroundColor;
- selectionStyle(style);
- selectionStyleReset;
- Screen:
- a fost adăugată funcția Box::IsEmpty();
- au fost adăugate suportul pentru transparență și funcții:
- Color::RGBA(r,g,b,a);
- Color::HSVA(r,g,b,a);
- Color::Blend(Color);
- Color::IsOpaque();
- Util:
- a fost adăugat suport pentru adaptorul arbitrar pentru ConstStringListRef;
- Build:
- a fost adăugat suport pentru construirea cu CMake „unity/jumbo”;
- Disponibile Wine 11.8, Wine-staging 11.8 și Proton-CachyOS 11
În captură este utilitarul rgb-tui de la autorul bibliotecii.
Sursa: linux.org.ru
