Le 28 mars, après plus d'un an et demi de développement, les versions 6.0.0 et 6.0.1 de la bibliothèque multiplateforme ont été publiées. FTXUI, destinée à la création d'applications C++ avec interface textuelle et distribuée sous licence MIT.
Fonctionnalités de la bibliothèque :
- style fonctionnel, similaire à React JS ;
- style simple et élégant (selon l'auteur de la bibliothèque) ;
- traitement des événements du clavier et de la « souris » ;
- prise en charge de l'UTF8 et de l'Unicode ;
- prise en charge des vraies couleurs ;
- prise en charge du changement de style du curseur ;
- prise en charge des animations ;
- prise en charge du dessin ;
- absence de dépendances externes ;
- multiplateforme (Linux/MacOS, WebAssembly, Windows).
Liste des changements :
- Composant :
- ajout de la prise en charge de l'entrée brute, permettant de détecter un plus grand nombre de touches ;
- ajout de ScreenInteractive::ForceHandleCtrlC(false), permettant au composant de remplacer complètement le gestionnaire standard de Ctrl+C ;
- ajout des événements Mouse::WheelLeft et Mouse::WheelRight ;
- ajout de Event::DebugString();
- ajout de la prise en charge du mode d'insertion Input et de l'option InputOption::insert ;
- ajout de l'option DropdownOption pour configurer la liste déroulante ;
- ajout de la prise en charge de la sélection et des fonctions ScreenInteractive::GetSelection() et ScreenInteractive::SelectionChange(…) ;
- ajout de ScreenInteractive::FullscreenPrimaryScreen(), permettant d'afficher le composant en plein écran sur l'écran principal, et non sur un écran alternatif ;
- ajout de ComponentBase::Index(), permettant d'obtenir l'index du composant dans son parent ;
- ajout de EntryState::index, permettant d'obtenir l'index de l'élément de menu ;
- ajout de SliderOption::on_change, permettant d'établir un gestionnaire pour le changement de valeur du curseur ;
- DOM :
- ajout d'un décorateur italique ;
- ajout d'un indicateur horizontal hscroll_indicator ;
- Dimension::Fit(..) ajout de l'option extend_beyond_screen, permettant à l'élément d'être plus grand que l'écran ;
- ajout de la prise en charge de la sélection et des décorateurs :
- selectionColor ;
- selectionBackgroundColor ;
- selectionForegroundColor ;
- selectionStyle(style) ;
- selectionStyleReset ;
- Écran :
- ajout de la fonction Box::IsEmpty();
- ajout de la prise en charge de la transparence et des fonctions ;
- Color::RGBA(r,g,b,a) ;
- Color::HSVA(r,g,b,a) ;
- Color::Blend(Color) ;
- Color::IsOpaque();
- Utilitaire :
- ajout de la prise en charge d'un adaptateur arbitraire pour ConstStringListRef ;
- Build :
- ajout de la prise en charge de la construction avec CMake « unity/jumbo » ;
- Des corrections de bogues ont été effectuées.
Sur la capture d'écran - l'outil rgb-tui de l'auteur de la bibliothèque.
Source : linux.org.ru
