Skip to content

K4ugummi/imgui-glfw-rs

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

34 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

imgui-glfw-rs: GLFW Input handling for ImGui

EXPERIMENTAL!
crates.io Documentation on docs.rs Dependencies

GLFW input handling for imgui

How to use

// Use the reexported glfw crate to avoid version conflicts.
use imgui_glfw_rs::glfw;
// Use the reexported imgui crate to avoid version conflicts.
use imgui_glfw_rs::imgui;

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

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

Thanks to

About

No description, website, or topics provided.

Resources

License

Apache-2.0, MIT licenses found

Licenses found

Apache-2.0
LICENSE_APACHE
MIT
LICENSE_MIT

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages