À propos du projet

egui (prononcé « e-gooey ») est une bibliothèque d'interface graphique à mode immédiat, simple, rapide et hautement portable pour Rust. Elle fonctionne sur le web, nativement, et peut être intégrée dans des moteurs de jeu. La bibliothèque est conçue pour être la bibliothèque GUI Rust la plus facile à utiliser, avec un accent sur la simplicité, la réactivité et la portabilité. Les fonctionnalités clés incluent : - **Widgets** : Étiquettes, boutons, curseurs, édition de texte, sélecteurs de couleurs, et plus. - **Mises en page** : Horizontales, verticales, colonnes, et enveloppement automatique. - **Édition de texte** : Multiligne, copier/coller, annulation, et prise en charge des emojis. - **Fenêtres** : Déplacer, redimensionner, minimiser, et fermer avec dimensionnement et positionnement automatiques. - **Régions** : Redimensionnement, défilement, en-têtes repliables, et panneaux. - **Rendu** : Lignes anticrénelées, cercles, texte, et polygones convexes. - **Accessibilité** : Prise en charge optionnelle d'AccessKit pour les lecteurs d'écran. - **Personnalisation** : Couleurs, espacement, polices, et tailles via `Context::set_style`. Elle utilise un paradigme à mode immédiat, où l'interface est reconstruite à chaque image, simplifiant le code en éliminant les rappels et les problèmes de synchronisation d'état. Cette approche la rend facile à utiliser mais peut être moins puissante pour des mises en page complexes. Les intégrations officielles incluent `eframe` pour les applications web et natives, `egui_glow` pour le rendu OpenGL, `egui-wgpu` pour WebGPU, et `egui-winit` pour la gestion des fenêtres. Des intégrations tierces sont disponibles pour des moteurs de jeu comme Bevy. Pour les développeurs, egui est idéal pour créer des interfaces graphiques simples en Rust ou ajouter une interface à un moteur de jeu. Ce n'est pas un framework mais une bibliothèque que vous appelez, et elle n'est pas destinée aux interfaces d'apparence native ou aux applications complexes à mode retenu.