@@ -4,8 +4,8 @@ mod util;
44
55#[ cfg( not( target_family = "wasm" ) ) ]
66pub mod ex {
7- use std:: num:: NonZeroU32 ;
87 use std:: sync:: { mpsc, Arc , Mutex } ;
8+ use winit:: dpi:: PhysicalSize ;
99 use winit:: event:: { KeyEvent , WindowEvent } ;
1010 use winit:: event_loop:: { ControlFlow , EventLoop , OwnedDisplayHandle } ;
1111 use winit:: keyboard:: { Key , NamedKey } ;
@@ -16,20 +16,20 @@ pub mod ex {
1616 type Surface = softbuffer:: Surface < OwnedDisplayHandle , Arc < Window > > ;
1717
1818 fn render_thread (
19- do_render : mpsc:: Receiver < ( Arc < Mutex < Surface > > , NonZeroU32 , NonZeroU32 ) > ,
19+ do_render : mpsc:: Receiver < ( Arc < Mutex < Surface > > , PhysicalSize < u32 > ) > ,
2020 done : mpsc:: Sender < ( ) > ,
2121 ) {
2222 loop {
2323 tracing:: info!( "waiting for render..." ) ;
24- let Ok ( ( surface, width , height ) ) = do_render. recv ( ) else {
24+ let Ok ( ( surface, size ) ) = do_render. recv ( ) else {
2525 tracing:: info!( "main thread destroyed" ) ;
2626 break ;
2727 } ;
2828
2929 // Perform the rendering.
3030 let mut surface = surface. lock ( ) . unwrap ( ) ;
3131 tracing:: info!( "resizing..." ) ;
32- surface. resize ( width, height) . unwrap ( ) ;
32+ surface. resize ( size . width , size . height ) . unwrap ( ) ;
3333
3434 let mut buffer = surface. buffer_mut ( ) . unwrap ( ) ;
3535 for y in 0 ..buffer. height ( ) {
@@ -96,13 +96,9 @@ pub mod ex {
9696
9797 let size = window. inner_size ( ) ;
9898 tracing:: info!( "got size: {size:?}" ) ;
99- if let ( Some ( width) , Some ( height) ) =
100- ( NonZeroU32 :: new ( size. width ) , NonZeroU32 :: new ( size. height ) )
101- {
102- // Start the render and then finish it.
103- start_render. send ( ( surface. clone ( ) , width, height) ) . unwrap ( ) ;
104- finish_render. recv ( ) . unwrap ( ) ;
105- }
99+ // Start the render and then finish it.
100+ start_render. send ( ( surface. clone ( ) , size) ) . unwrap ( ) ;
101+ finish_render. recv ( ) . unwrap ( ) ;
106102 }
107103 WindowEvent :: CloseRequested
108104 | WindowEvent :: KeyboardInput {
0 commit comments