Il 28 marzo, dopo oltre un anno e mezzo di sviluppo, sono state rilasciate le versioni 6.0.0 e 6.0.1 della libreria multipiattaforma. FTXUI, progettata per creare applicazioni con interfaccia testuale in C++ e distribuita con licenza MIT.
Caratteristiche della libreria:
- stile funzionale, simile a React JS;
- stile semplice ed elegante (secondo l'autore della libreria);
- gestione degli eventi da tastiera e mouse;
- supporto per UTF8 e Unicode;
- supporto per True Color;
- supporto per la modifica dello stile del cursore;
- supporto per animazioni;
- supporto per il disegno;
- assenza di dipendenze esterne;
- cross-platform (Linux/MacOS, WebAssembly, Windows).
Elenco delle modifiche:
- Componente:
- Aggiunta la supporto per l'input grezzo, che consente di rilevare un numero maggiore di tasti;
- Aggiunta ScreenInteractive::ForceHandleCtrlC(false), che consente al componente di sovrascrivere completamente il gestore predefinito di Ctrl+C;
- Aggiunti eventi Mouse::WheelLeft e Mouse::WheelRight;
- Aggiunta Event::DebugString();
- Aggiunta la supporto per la modalità di inserimento Input e l'opzione InputOption::insert;
- Aggiunta l'opzione DropdownOption per la configurazione del menu a discesa;
- Aggiunta la supporto per la selezione e le funzioni ScreenInteractive::GetSelection() e ScreenInteractive::SelectionChange(…);
- Aggiunta ScreenInteractive::FullscreenPrimaryScreen(), che permette di visualizzare il componente a schermo intero sullo schermo principale, anziché su quello secondario;
- Aggiunta ComponentBase::Index(), che consente di ottenere l'indice del componente nel suo genitore;
- Aggiunta EntryState::index, che consente di ottenere l'indice dell'elemento di menu;
- Aggiunta SliderOption::on_change, che consente di impostare un gestore per la modifica del valore del cursore;
- DOM:
- Aggiunto il decoratore per il corsivo;
- Aggiunto l'indicatore orizzontale hscroll_indicator;
- Dimension::Fit(..) è stata aggiunta l'opzione extend_beyond_screen, che consente all'elemento di avere una dimensione superiore allo schermo;
- aggiunta la supporto per la selezione e decoratori:
- selectionColor;
- selectionBackgroundColor;
- selectionForegroundColor;
- selectionStyle(style);
- selectionStyleReset;
- Schermo:
- aggiunta la funzione Box::IsEmpty();
- aggiunta la supporto per la trasparenza e funzioni:
- Color::RGBA(r,g,b,a);
- Color::HSVA(r,g,b,a);
- Color::Blend(Color);
- Color::IsOpaque();
- Util:
- aggiunta la supporto per un adattatore arbitrario per ConstStringListRef;
- Build:
- aggiunta la supporto per la build con CMake «unity/jumbo»;
- Correzioni di bug.
Nello screenshot - utilità rgb-tui dell'autore della libreria.
Fonte: linux.org.ru
