#imgui #graphics #ui #gui-applications #ui-framework #bindings

easy-imgui-renderer

Default renderer for the easy-imgui crate, using OpenGl via glow

20 releases (11 breaking)

0.12.0 Dec 12, 2024
0.11.0 Nov 8, 2024
0.10.0 Oct 26, 2024
0.6.1 Jul 10, 2024
0.2.4 Mar 22, 2024

#1252 in GUI

Download history 173/week @ 2024-09-12 229/week @ 2024-09-19 66/week @ 2024-09-26 163/week @ 2024-10-03 47/week @ 2024-10-10 9/week @ 2024-10-17 139/week @ 2024-10-24 50/week @ 2024-10-31 125/week @ 2024-11-07 14/week @ 2024-11-14 11/week @ 2024-11-21 7/week @ 2024-11-28 54/week @ 2024-12-05 176/week @ 2024-12-12 7/week @ 2024-12-19 1/week @ 2024-12-26

239 downloads per month
Used in 2 crates (via easy-imgui-window)

MIT license

210KB
5.5K SLoC

easy-imgui-rs

build

Build full GUI applications with Rust and Dear ImGui. It currently uses version v1.91.6.

There are several crates in this repository:

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);
    }
}

Dependencies

~2.7–6MB
~120K SLoC