feat(viewer): implement keyboard and button zoom/pan controls
- Fork cosmic::iced viewer widget to enable external state control - Add bidirectional state synchronization between viewer and AppModel - Implement ViewerStateChanged message for mouse interaction feedback - Fix pixel-perfect rendering at 100% zoom (ActualSize mode) - Ensure smooth interaction between mouse, keyboard, and button controls This allows zoom/pan to work via: - Keyboard shortcuts (+/-, Ctrl+arrows) - Future toolbar buttons - Mouse wheel and drag (existing functionality preserved) The viewer state now properly syncs in both directions: - External controls (keyboard/buttons) → update viewer state via diff() - Mouse interactions → update AppModel via ViewerStateChanged message Closes: Zoom/pan via keyboard and buttons now functional
This commit is contained in:
parent
2905a3f6f1
commit
69f22bafcd
5 changed files with 564 additions and 39 deletions
|
|
@ -6,6 +6,7 @@
|
|||
mod canvas;
|
||||
pub mod footer;
|
||||
pub mod header;
|
||||
mod image_viewer;
|
||||
pub mod panels;
|
||||
|
||||
use cosmic::Element;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue