@@ -31,14 +31,24 @@ fn main() {
3131 elwt. set_control_flow ( ControlFlow :: Poll ) ;
3232
3333 match event {
34+ Event :: WindowEvent {
35+ window_id,
36+ event : WindowEvent :: Resized ( size) ,
37+ } if window_id == window. id ( ) => {
38+ if let ( Some ( width) , Some ( height) ) =
39+ ( NonZeroU32 :: new ( size. width ) , NonZeroU32 :: new ( size. height ) )
40+ {
41+ surface. resize ( width, height) . unwrap ( ) ;
42+ }
43+ }
3444 Event :: WindowEvent {
3545 window_id,
3646 event : WindowEvent :: RedrawRequested ,
3747 } if window_id == window. id ( ) => {
38- if let ( Some ( width ) , Some ( height ) ) = {
39- let size = window . inner_size ( ) ;
48+ let size = window . inner_size ( ) ;
49+ if let ( Some ( width ) , Some ( height ) ) =
4050 ( NonZeroU32 :: new ( size. width ) , NonZeroU32 :: new ( size. height ) )
41- } {
51+ {
4252 let elapsed = start. elapsed ( ) . as_secs_f64 ( ) % 1.0 ;
4353
4454 if ( width. get ( ) , height. get ( ) ) != * old_size {
@@ -48,7 +58,6 @@ fn main() {
4858
4959 let frame = & frames[ ( ( elapsed * 60.0 ) . round ( ) as usize ) . clamp ( 0 , 59 ) ] ;
5060
51- surface. resize ( width, height) . unwrap ( ) ;
5261 let mut buffer = surface. buffer_mut ( ) . unwrap ( ) ;
5362 buffer. copy_from_slice ( frame) ;
5463 buffer. present ( ) . unwrap ( ) ;
0 commit comments