Sobre o projeto
egui (pronunciado "e-gooey") é uma biblioteca GUI de modo imediato, simples, rápida e altamente portátil para Rust. Ela roda na web, nativamente e pode ser integrada a engines de jogos. A biblioteca é projetada para ser a biblioteca GUI de Rust mais fácil de usar, com foco em simplicidade, responsividade e portabilidade.
Os principais recursos incluem:
- **Widgets**: Rótulos, botões, controles deslizantes, edição de texto, seletores de cor e mais.
- **Layouts**: Horizontal, vertical, colunas e quebra automática.
- **Edição de texto**: Multilinha, copiar/colar, desfazer e suporte a emojis.
- **Janelas**: Mover, redimensionar, minimizar e fechar com dimensionamento e posicionamento automáticos.
- **Regiões**: Redimensionamento, rolagem, cabeçalhos recolhíveis e painéis.
- **Renderização**: Linhas, círculos, texto e polígonos convexos com anti-aliasing.
- **Acessibilidade**: Suporte opcional ao AccessKit para leitores de tela.
- **Personalização**: Cores, espaçamento, fontes e tamanhos via `Context::set_style`.
Ele usa o paradigma de modo imediato, onde a interface é reconstruída a cada quadro, simplificando o código ao eliminar callbacks e problemas de sincronização de estado. Essa abordagem facilita o uso, mas pode ser menos poderosa para layouts complexos.
As integrações oficiais incluem `eframe` para aplicativos web e nativos, `egui_glow` para renderização OpenGL, `egui-wgpu` para WebGPU e `egui-winit` para janelas. Integrações de terceiros estão disponíveis para engines de jogos como Bevy.
Para desenvolvedores, egui é ideal para criar GUIs simples em Rust ou adicionar uma GUI a um engine de jogos. Não é um framework, mas uma biblioteca que você chama, e não é destinada a interfaces com aparência nativa ou aplicações complexas de modo retido.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.