El 28 de marzo, después de más de un año y medio de desarrollo, se lanzaron las versiones 6.0.0 y 6.0.1 de la biblioteca multiplataforma. FTXUI, diseñada para crear aplicaciones con interfaz de texto en C++ y distribuida bajo la licencia MIT.
Funciones de la biblioteca:
- estilo funcional, similar a React JS;
- estilo simple y elegante (según el autor de la biblioteca);
- manejo de eventos del teclado y del ratón;
- soporte para UTF8 y Unicode;
- soporte para True Color;
- soporte para cambiar el estilo del cursor;
- soporte para animaciones;
- soporte para dibujo;
- sin dependencias externas;
- multiplataforma (Linux/MacOS, WebAssembly, Windows).
Lista de cambios:
- Componente:
- se añadió soporte para entradas sin procesar, lo que permitió detectar un mayor número de teclas;
- se añadió ScreenInteractive::ForceHandleCtrlC(false), que permite al componente anular completamente el controlador estándar de Ctrl+C;
- se añadieron eventos Mouse::WheelLeft y Mouse::WheelRight;
- se añadió Event::DebugString();
- se añadió soporte para el modo de inserción Input y la opción InputOption::insert;
- se añadió la opción DropdownOption para personalizar la lista desplegable;
- se añadió soporte para selección y funciones ScreenInteractive::GetSelection() y ScreenInteractive::SelectionChange(…);
- se añadió ScreenInteractive::FullscreenPrimaryScreen(), que permite mostrar un componente en pantalla completa en la pantalla principal, no en la alternativa;
- se añadió ComponentBase::Index(), que permite obtener el índice del componente en su padre;
- se añadió EntryState::index, que permite obtener el índice del elemento del menú;
- se añadió SliderOption::on_change, que permite establecer un controlador para el cambio de valor del control deslizante;
- DOM:
- se añadió un decorador en cursiva;
- se añadió un indicador horizontal hscroll_indicator;
- Dimension::Fit(..) se añadió la opción extend_beyond_screen, que permite al elemento tener un tamaño mayor que la pantalla;
- se añadió soporte para selección y decoradores:
- selectionColor;
- selectionBackgroundColor;
- selectionForegroundColor;
- selectionStyle(style);
- selectionStyleReset;
- Pantalla:
- se añadió la función Box::IsEmpty();
- se añadió soporte para transparencia y funciones:
- Color::RGBA(r,g,b,a);
- Color::HSVA(r,g,b,a);
- Color::Blend(Color);
- Color::IsOpaque();
- Util:
- se añadió soporte para un adaptador arbitrario para ConstStringListRef;
- Construcción:
- se añadió soporte para construir con CMake «unity/jumbo»;
- Se han corregido errores.
En la captura de pantalla — utilidad rgb-tui del autor de la biblioteca.
Fuente: linux.org.ru
