dear-imgui-test-engine-sys 0.10.3

Low-level FFI bindings for Dear ImGui Test Engine
Documentation

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.

Features

  • freetype: passthrough to dear-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.
  • 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 check or 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_PATH
  • DEP_DEAR_IMGUI_DEFINE_* (including IMGUITEST from the test-engine feature)

Notes

  • This crate requires dear-imgui-sys to be compiled with IMGUI_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) and third-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-sys provides 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.