31 releases (19 breaking)
Uses new Rust 2024
| 0.20.1 | Jan 8, 2026 |
|---|---|
| 0.20.0 | Dec 1, 2025 |
| 0.19.0 | Oct 26, 2025 |
| 0.16.1 | Jul 12, 2025 |
| 0.2.4 | Mar 22, 2024 |
#2244 in GUI
39 downloads per month
Used in 5 crates
(4 directly)
5MB
70K
SLoC
Contains (static library, 295KB) glfw3.lib, (static library, 190KB) glfw3.lib
easy-imgui-rs
Build full GUI applications with Rust and Dear ImGui. It currently uses version v1.92.5.
There are several crates in this repository:
easy-imgui-sys: This is the direct binding of the C++ Dear ImGui library.easy-imgui: The main binding of Dear ImGui API.easy-imgui-renderer: A UI renderer using OpenGL andglow.easy-imgui-window: A fully integrated and easy to use GUI framework based onwinit.easy-imgui-sdl3: Binding of the SDL3 Dear ImGui back, plus OpenGL. It makes it possible to use ImGui viewports.
See some examples at the examples directory. The simplest one is just a few lines of code:
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);
}
}