Commit 4d8db21
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
0 commit comments