1 个不稳定版本
使用旧的 Rust 2015
0.0.21 | 2018 年 10 月 11 日 |
---|
#1263 在 GUI
660KB
13K SLoC
此 crate 提供了支持函数,简化了 imgui-rs 与 glutin 的集成。
使用库
在您的初始化代码中调用 configure_keys
use imgui::ImGui;
let mut imgui = ImGui::init();
imgui_glutin_support::configure_keys(&mut imgui);
在您的主循环中,您应该已经从 glutin 中检索事件并处理它们。您需要做的只是将每个事件传递给 imgui_glutin_support
。
events_loop.poll_events(|event| {
// do application-specific stuff with event
imgui_glutin_support::handle_event(&mut imgui, &event);
});
高级用例
在更高级的用例中,您可能希望自行处理和过滤事件,并调用库中导出的各种小型辅助函数。
例如,您可能想自定义鼠标滚轮的行滚动量
events_loop.poll_events(|event| {
// do application-specific stuff with event
// default handling for events
imgui_glutin_support::handle_event(&mut imgui, &event);
// Scroll 10 times the pixels per line by handling LineDelta events again and
// overriding the mouse wheel value
if let Event::WindowEvent { event, .. } = event {
match event {
WindowEvent::MouseWheel {
delta: MouseScrollDelta::LineDelta(_, lines),
phase: TouchPhase::Moved,
..
} => {
imgui.set_mouse_wheel(lines * 10.0);
}
_ => ()
}
}
});
依赖关系
~15MB
~283K SLoC