imgui-glfw-rs 0.2.4

ImGui imput handling for GLFW
Documentation

imgui-glfw-rs: GLFW Input handling for ImGui

EXPERIMENTAL!
crates.io Documentation on docs.rs

GLFW input handling for imgui

How to use

// ImGui uses { ... }
use imgui_glfw_rs::ImguiGLFW;

fn main() {
    // Initialize imgui and glfw and imgui renderer.
    // { ... }

    let mut imgui_glfw = ImguiGLFW::new(&mut imgui);

    while !window.should_close() {
        let ui = imgui_glfw.frame(&mut window, &mut imgui);

        // Draw your ui.
        // { ... }

        window.swap_buffers();

        // Handle imgui events
        glfw.poll_events();
        for (_, event) in glfw::flush_messages(&events) {
            imgui_glfw.handle_event(&mut imgui, &event);
        }
    }
}

Current implemented things

  • MouseButton press and release
  • CursorPos movement
  • Scroll movement
  • Char input
  • Key press and release
  • Modifier handling
  • Cursor icons
  • Clipboard copying/pasting

Unimplemented things and known issues

Compiling and running the example

git clone https://github.com/K4ugummi/imgui-glfw-rs.git
cd imgui-glfw-rs
cargo run --example helloworld

Contributing

  1. Make some changes
  2. Run rustfmt for code style conformance
    cargo fmt
  3. Open a pull request