28. března, po více než jeden a půl roce vývoje, byly vydány verze 6.0.0 a 6.0.1 multiplatformní knihovny FTXUI, určené k vytváření aplikací s textovým uživatelským rozhraním v C++ a distribuované pod licencí MIT.
Funkce knihovny:
- funkcionální styl, podobně jako React JS;
- jednoduchý a elegantní styl (podle autora knihovny);
- zpracování událostí klávesnice a myši;
- podpora UTF8 a Unicode;
- podpora True Color;
- podpora změny stylu kurzoru;
- podpora animací;
- podpora kreslení;
- absence třetích závislostí;
- multiplatformnost (Linux/MacOS, WebAssembly, Windows).
Seznam změn:
- Komponenta:
- přidána podpora neformátovaného vstupu, což umožnilo definovat více kláves;
- přidána ScreenInteractive::ForceHandleCtrlC(false), která umožňuje komponentě plně přepsat standardní zpracovatel Ctrl+C;
- přidány události Mouse::WheelLeft a Mouse::WheelRight;
- přidána Event::DebugString();
- přidána podpora režimu vkládání Input a volba InputOption::insert;
- přidána volba DropdownOption pro nastavení rozbalovacího seznamu;
- přidána podpora výběru a funkce ScreenInteractive::GetSelection() a ScreenInteractive::SelectionChange(…);
- přidána ScreenInteractive::FullscreenPrimaryScreen(), která umožňuje zobrazit komponentu na celou obrazovku na hlavním displeji, nikoli na alternativním;
- přidána ComponentBase::Index(), která umožňuje získat index komponenty v jejím rodiči;
- přidána EntryState::index, která umožňuje získat index položky menu;
- přidána SliderOption::on_change, která umožňuje nastavit zpracovatel změny hodnoty posuvníku;
- DOM:
- přidán dekorátor kurzívy;
- přidán horizontální indikátor hscroll_indicator;
- Dimension::Fit(..) byla přidána volba extend_beyond_screen, která umožňuje prvku mít větší velikost než obrazovka;
- přidána podpora výběru a dekorátorů:
- selectionColor;
- selectionBackgroundColor;
- selectionForegroundColor;
- selectionStyle(style);
- selectionStyleReset;
- Obrazovka:
- přidána funkce Box::IsEmpty();
- přidána podpora průhlednosti a funkcí:
- Color::RGBA(r,g,b,a);
- Color::HSVA(r,g,b,a);
- Color::Blend(Color);
- Color::IsOpaque();
- Util:
- přidána podpora libovolného adaptéru pro ConstStringListRef;
- Budování:
- přidána podpora sestavení s CMake „unity/jumbo“;
- Opraveny chyby.
Na snímku obrazovky je nástroj rgb-tui od autora knihovny.
Zdroj: linux.org.ru
