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.