Op 28 maart, na meer dan anderhalf jaar ontwikkeling, zijn de versies 6.0.0 en 6.0.1 van de cross-platform bibliotheek uitgebracht. FTXUI, ontworpen voor het maken van applicaties met een tekstinterface in C++ en verspreid onder de MIT-licentie.
Mogelijkheden van de bibliotheek:
- functionele stijl, vergelijkbaar met React JS;
- eenvoudige en elegante stijl (volgens de auteur van de bibliotheek);
- verwerking van toetsenbord- en muisgebeurtenissen;
- ondersteuning voor UTF8 en Unicode;
- ondersteuning voor True Color;
- ondersteuning voor het wijzigen van de cursorstijl;
- ondersteuning voor animaties;
- ondersteuning voor tekenen;
- afwezigheid van externe afhankelijkheden;
- cross-platform (Linux/MacOS, WebAssembly, Windows).
Wijzigingenlijst:
- Component:
- ondersteuning voor onbewerkte invoer toegevoegd, wat het mogelijk maakt om meer toetsen te detecteren;
- ScreenInteractive::ForceHandleCtrlC(false) toegevoegd, waarmee de component de standaard Ctrl+C-handler volledig kan overschrijven;
- evenementen Mouse::WheelLeft en Mouse::WheelRight toegevoegd;
- Event::DebugString() toegevoegd;
- ondersteuning voor invoegmodus Input en optie InputOption::insert toegevoegd;
- DropdownOption toegevoegd voor het configureren van een dropdownlijst;
- ondersteuning voor selectie en functies ScreenInteractive::GetSelection() en ScreenInteractive::SelectionChange(ā¦) toegevoegd;
- ScreenInteractive::FullscreenPrimaryScreen() toegevoegd, waardoor een fullscreencomponent op het primaire scherm kan worden weergegeven in plaats van op een alternatieve;
- ComponentBase::Index() toegevoegd, waarmee de index van de component in zijn ouder kan worden verkregen;
- EntryState::index toegevoegd, waarmee de index van een menu item kan worden verkregen;
- SliderOption::on_change toegevoegd, waarmee een handler voor het wijzigen van de sliderwaarde kan worden ingesteld;
- DOM:
- cursief decorateur toegevoegd;
- horizontale indicator hscroll_indicator toegevoegd;
- Dimension::Fit(..) optie extend_beyond_screen toegevoegd, waardoor het element groter kan zijn dan het scherm;
- ondersteuning voor selectie en decorateurs toegevoegd:
- selectionColor;
- selectionBackgroundColor;
- selectionForegroundColor;
- selectionStyle(style);
- selectionStyleReset;
- Screen:
- functie Box::IsEmpty() toegevoegd;
- ondersteuning voor transparantie en functies toegevoegd:
- Color::RGBA(r,g,b,a);
- Color::HSVA(r,g,b,a);
- Color::Blend(Color);
- Color::IsOpaque();
- Util:
- ondersteuning voor willekeurige adapter voor ConstStringListRef toegevoegd;
- Build:
- ondersteuning voor het bouwen met CMake 'unity/jumbo' toegevoegd;
- Fouten zijn verholpen.
Op de screenshot - de utility rgb-tui van de auteur van de bibliotheek.
Bron: linux.org.ru
