dear-imgui-test-engine-sys
Low-level FFI bindings for Dear ImGui Test Engine via a small C shim over the upstream C++ API.
This crate pairs with dear-imgui-sys and is intended for advanced users. Most applications should use dear-imgui-test-engine.
- Upstream: https://github.com/ocornut/imgui_test_engine
- Submodule path:
extensions/dear-imgui-test-engine-sys/third-party/imgui_test_engine
Features
freetype: passthrough todear-imgui-sys/freetype.capture(default): enable screenshot/video capture helpers (IMGUI_TEST_ENGINE_ENABLE_CAPTURE=1).
Build Modes
- Source build (default)
- Compiles Dear ImGui Test Engine sources + crate shim using
cc. - Inherits include paths/defines from
dear-imgui-sys.
- Compiles Dear ImGui Test Engine sources + crate shim using
- Docs.rs
- Uses pregenerated Rust bindings and skips native C/C++ compilation.
Environment Variables
IMGUI_TEST_ENGINE_SYS_SKIP_CC- If set, skip native C/C++ compilation and use pregenerated bindings.
- Useful for cross-target
cargo checkor constrained CI jobs.
The build script also consumes values exported by dear-imgui-sys:
DEP_DEAR_IMGUI_IMGUI_INCLUDE_PATH,DEP_DEAR_IMGUI_CIMGUI_INCLUDE_PATHDEP_DEAR_IMGUI_DEFINE_*(includingIMGUITESTfrom thetest-enginefeature)
Notes
- This crate requires
dear-imgui-systo be compiled withIMGUI_ENABLE_TEST_ENGINE(enabled automatically through dependency features). - Linking of the base ImGui static library is handled by
dear-imgui-sys. - A small built-in demo test set is bundled for validating integration via
imgui_test_engine_register_default_tests(). - Upstream Dear ImGui Test Engine has custom license terms. Review
LICENSE.txt(this crate) andthird-party/imgui_test_engine/imgui_test_engine/LICENSE.txt(upstream) for usage conditions.
Feature consistency:
- If you enable
dear-imgui-sys/test-engine, the compiled ImGui objects reference hook symbols (e.g.ImGuiTestEngineHook_*). When that feature is enabled,dear-imgui-sysprovides the hook symbols so workspace feature-unification won't cause linker errors. - To actually run tests, link a binary with
dear-imgui-test-engine(-sys), which registers the real hook implementations at runtime.