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

easy-imgui-renderer

easy-imgui 包的默认渲染器,通过 glow 使用 OpenGL

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 日

#1015GUI 类别中

Download history 318/week @ 2024-05-09 53/week @ 2024-05-16 133/week @ 2024-05-23 13/week @ 2024-05-30 204/week @ 2024-06-06 27/week @ 2024-06-13 2/week @ 2024-06-20 214/week @ 2024-07-04 71/week @ 2024-07-11 14/week @ 2024-07-18 15/week @ 2024-07-25 40/week @ 2024-08-01 124/week @ 2024-08-08 18/week @ 2024-08-15

199 每月下载量
2 个 Crates 中使用 (通过 easy-imgui-window)

MIT 许可证

9MB
119K SLoC

C++ 101K SLoC // 0.2% comments Rust 6.5K SLoC // 0.0% comments Visual Studio Project 6.5K SLoC Objective-C++ 3.5K SLoC // 0.2% comments C 731 SLoC // 0.3% comments Visual Studio Solution 341 SLoC Batch 273 SLoC GLSL 85 SLoC Kotlin 59 SLoC // 0.1% comments Shell 3 SLoC // 0.7% comments GDB Script 1 SLoC // 0.9% comments

easy-imgui-rs

build

使用 Rust 和 Dear ImGui 构建 GUI 应用程序。它目前使用版本 v1.90.9。

此存储库中有几个 Crates

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

依赖关系

~4–8MB
~167K SLoC