File tree Expand file tree Collapse file tree
crates/rnote-ui/src/canvas Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -62,17 +62,20 @@ mod imp {
6262 let canvas = widget. downcast_ref :: < RnCanvas > ( ) . unwrap ( ) ;
6363
6464 let new_size = na:: vector![ width as f64 , height as f64 ] ;
65- let _ = canvas. engine_mut ( ) . camera_set_size ( new_size ) ;
65+ let offset = canvas. engine_ref ( ) . camera . offset ( ) ;
6666
6767 // Configure adjustments using new size
6868 let ( surface_mins, surface_maxs) = canvas. engine_ref ( ) . camera_surface_mins_maxs ( ) ;
69- let offset = canvas. engine_ref ( ) . camera . offset ( ) ;
7069
7170 let adjustment_maxs = RnCanvas :: surface_to_adjustment ( surface_maxs, surface_mins) ;
7271 let adjustment_value = RnCanvas :: surface_to_adjustment ( offset, surface_mins) ;
7372
7473 canvas. configure_adjustments ( new_size, adjustment_maxs, adjustment_value) ;
7574
75+ // Update the camera size and re-clamp the offset to the new size
76+ let _ = canvas. engine_mut ( ) . camera_set_size ( new_size) ;
77+ let _ = canvas. engine_mut ( ) . camera_set_offset ( offset) ;
78+
7679 // Calculate new viewport from the updated camera state
7780 let old_viewport = self . old_viewport . get ( ) ;
7881 let new_viewport = canvas. engine_ref ( ) . camera . viewport ( ) ;
You can’t perform that action at this time.
0 commit comments