28 de março, após mais de um ano e meio de desenvolvimento, foram lançadas as versões 6.0.0 e 6.0.1 da biblioteca multiplataforma FTXUI, projetada para criar aplicações em C++ com interface de texto e distribuída sob a licença MIT.
Recursos da biblioteca:
- estilo funcional, semelhante ao React JS;
- estilo simples e elegante (na opinião do autor da biblioteca);
- manipulação de eventos de teclado e mouse;
- suporte a UTF8 e Unicode;
- suporte a True Color;
- suporte à alteração do estilo do cursor;
- suporte a animações;
- suporte a desenho;
- sem dependências externas;
- multiplataforma (Linux/MacOS, WebAssembly, Windows).
Lista de mudanças:
- Componente:
- suporte adicionado para entrada crua, permitindo detectar um maior número de teclas;
- adicionada a função ScreenInteractive::ForceHandleCtrlC(false), permitindo ao componente substituir completamente o manipulador padrão Ctrl+C;
- adicionados os eventos Mouse::WheelLeft e Mouse::WheelRight;
- adicionada a função Event::DebugString();
- suporte adicionado para o modo de inserção Input e a opção InputOption::insert;
- adicionada a opção DropdownOption para configuração do menu suspenso;
- suporte adicionado para seleção e funções ScreenInteractive::GetSelection() e ScreenInteractive::SelectionChange(…);
- adicionada a função ScreenInteractive::FullscreenPrimaryScreen(), que permite exibir um componente em tela cheia no monitor principal, em vez de um alternativo;
- adicionada a função ComponentBase::Index(), que permite obter o índice do componente em seu pai;
- adicionada a EntryState::index, que permite obter o índice do item de menu;
- adicionada a SliderOption::on_change, que permite definir um manipulador para a mudança de valor do slider;
- Construtor File
- adicionado um decorador itálico;
- adicionado o indicador horizontal hscroll_indicator;
- Dimension::Fit(..) adicionada a opção extend_beyond_screen, permitindo que o elemento tenha um tamanho maior que a tela;
- suporte adicionado para seleção e decoradores:
- selectionColor;
- selectionBackgroundColor;
- selectionForegroundColor;
- selectionStyle(style);
- selectionStyleReset;
- Tela:
- adicionada a função Box::IsEmpty();
- suporte adicionado para transparência e funções:
- Color::RGBA(r,g,b,a);
- Color::HSVA(r,g,b,a);
- Color::Blend(Color);
- Color::IsOpaque();
- Util:
- suporte adicionado para adaptadores arbitrários para ConstStringListRef;
- Construção:
- suporte adicionado para a construção com CMake "unity/jumbo";
- Erros corrigidos.
Na captura de tela — utilitário rgb-tui do autor da biblioteca.
Fonte: linux.org.ru
