14 个版本 (6 个重大更改)
新版本 0.7.0 | 2024 年 8 月 7 日 |
---|---|
0.6.1 | 2024 年 7 月 10 日 |
0.5.0 | 2024 年 6 月 8 日 |
0.4.1 | 2024 年 5 月 13 日 |
0.1.1 | 2024 年 1 月 27 日 |
#1130 in GUI
273 每月下载次数
在 4 个 Crates 中使用 (3 个直接使用)
8.5MB
113K SLoC
包含 (静态库, 295KB) glfw3.lib, (静态库, 295KB) glfw3.lib, (静态库, 190KB) glfw3.lib, (静态库, 190KB) glfw3.lib
easy-imgui-rs
使用 Rust 和 Dear ImGui 构建完整的 GUI 应用程序。它目前使用版本 v1.90.9。
该仓库中包含几个 Crates
easy-imgui-sys
: 这是 C++ Dear ImGui 库的直接绑定。easy-imgui
: Dear ImGui API 的主要绑定。easy-imgui-renderer
: 使用 OpenGL 和glow
的 UI 渲染器。easy-imgui-window
: 基于winit
的完整集成且易于使用的 GUI 框架。
在 examples 目录中查看一些示例。最简单的一个只需要几行代码
use easy_imgui_window::{MainWindow, MainWindowWithRenderer,
winit::event_loop::EventLoopBuilder,
easy_imgui as imgui,
};
fn main() {
let event_loop = EventLoopBuilder::new().build().unwrap();
let main_window = MainWindow::new(&event_loop, "Example").unwrap();
let mut window = MainWindowWithRenderer::new(main_window);
let mut app = App;
event_loop.run(move |event, w| {
let res = window.do_event(&mut app, &event, w);
if res.is_break() {
w.exit();
}
}).unwrap();
}
struct App;
impl imgui::UiBuilder for App {
fn do_ui(&mut self, ui: &imgui::Ui<Self>) {
ui.show_demo_window(None);
}
}