このプロジェクトについて

egui(「イーグーイー」と発音)は、Rust向けのシンプルで高速、かつ移植性の高い即時モードGUIライブラリです。Web上、ネイティブ上で動作し、ゲームエンジンにも統合できます。このライブラリは、シンプルさ、応答性、移植性に重点を置き、Rustで最も使いやすいGUIライブラリとなるよう設計されています。 主な機能は以下の通りです: - **ウィジェット**:ラベル、ボタン、スライダー、テキスト編集、カラーピッカーなど。 - **レイアウト**:水平、垂直、列、自動折り返し。 - **テキスト編集**:複数行、コピー/ペースト、元に戻す、絵文字サポート。 - **ウィンドウ**:自動サイズ調整と配置による移動、リサイズ、最小化、閉じる。 - **領域**:リサイズ、スクロール、折りたたみヘッダー、パネル。 - **レンダリング**:アンチエイリアス処理された線、円、テキスト、凸多角形。 - **アクセシビリティ**:スクリーンリーダー用のオプションのAccessKitサポート。 - **カスタマイズ**:`Context::set_style`による色、間隔、フォント、サイズの設定。 即時モードパラダイムを使用し、UIは毎フレーム再構築されるため、コールバックや状態同期の問題を排除してコードを簡素化します。このアプローチにより使いやすくなりますが、複雑なレイアウトにはあまり強力ではない場合があります。 公式統合には、Webおよびネイティブアプリ用の`eframe`、OpenGLレンダリング用の`egui_glow`、WebGPU用の`egui-wgpu`、ウィンドウ処理用の`egui-winit`が含まれます。Bevyなどのゲームエンジン向けのサードパーティ統合も利用可能です。 開発者にとって、eguiはRustでシンプルなGUIを作成したり、ゲームエンジンにGUIを追加したりするのに理想的です。これはフレームワークではなく、呼び出すライブラリであり、ネイティブな外観のインターフェースや複雑な保持モードアプリケーションを意図したものではありません。