Skip to content

Commit 4d8db21

Browse files
committed
Add test-engine mouse control and zoom/pan
Enhance the ImGui test engine and interactive image controls. - Introduces TestEngineMouseSpaceState and env-driven mouse resolution (absolute, viewport-relative, image-relative) plus helpers to read int/float env values and resolve mouse position. - Implements apply_test_engine_mouse_actions to simulate move/click/wheel/drag from environment variables, and exposes corresponding CLI flags in imiv_gui_test_run.py to set those env vars. - Adds a pending-zoom/request API and compute/apply zoom pivot logic so zooms snap or scale around a sensible pivot (mouse or viewport center); integrates requests from shortcuts, mouse wheel, clicks and drag gestures. - Improves mouse/viewport hit testing, pan/zoom drag handling, and ensures per-image preview state is reset when loading a different image. - Adds deterministic window centering utilities and startup centering behavior (make window initially hidden, show and force-center) to stabilize test screenshots. - Minor cleanup: removed persisted per-image preview fields from prefs output and other small refactors. Files changed: src/imiv/imiv_app.cpp, src/imiv/tools/imiv_gui_test_run.py.
1 parent 0ce4cf1 commit 4d8db21

2 files changed

Lines changed: 555 additions & 122 deletions

File tree

0 commit comments

Comments
 (0)