IMGUI-RS provides Rust bindings for IMGUI, a bloat-free intermediate mode GUI library for C/C++.
IMGUI outputs vertex buffers that you can render in your 3D-pipeline enabled application. It is fast, portable, renderer agnostic and self-contained.
IMGUI does away with state synchronization by requiring the application to explicitly pass all state required in real-time. The user interface only retains the minimal amount of state required to facilitate the functionality required by each type of widget supported by the system.
#[cfg(feature="pkg-config")]externcrate pkg_config;externcrate gcc;#[cfg(not(feature="pkg-config"))]fnbuild_pkgconfig()->bool{false}#[cfg(feature="pkg-config")]fnbuild_pkgconfig()->bool{ifpkg_config::find_library("sdl2").is_err(){panic!("Could not find SDL2 via pkgconfig");}true}fnmain(){println!("cargo:rustc-flags=-l GL");if!build_pkgconfig(){println!("cargo:rustc-flags=-l SDL2");}gcc::Config::new().cpp(true).include("src/cimgui/imgui/").file("src/cimgui/imgui/imgui.cpp").file("src/cimgui/imgui/imgui_draw.cpp").file("src/cimgui/imgui/imgui_demo.cpp").compile("libimgui.a");gcc::Config::new().file("src/cimgui/cimgui/cimgui.cpp").file("src/cimgui/cimgui/fontAtlas.cpp").file("src/cimgui/cimgui/drawList.cpp").compile("libcimgui.a");gcc::Config::new().include("src/cimgui/imgui/").include("src/cimgui/imgui/examples/libs/gl3w/").file("src/cimgui/imgui/examples/libs/gl3w/GL/gl3w.c").file("src/sdlgl3/imgui_impl_sdl_gl3.cpp").compile("libimgui_sdl_gl3.a");}