@@ -18,8 +18,7 @@ impl ParentWindowHandler {
1818 let ctx = softbuffer:: Context :: new ( window. clone ( ) ) ?;
1919 let mut surface = softbuffer:: Surface :: new ( & ctx, window. clone ( ) ) ?;
2020 let size = window. size ( ) . physical ;
21- surface
22- . resize ( NonZeroU32 :: new ( size. width ) . unwrap ( ) , NonZeroU32 :: new ( size. height ) . unwrap ( ) ) ?;
21+ surface. resize ( size. width . try_into ( ) ?, size. height . try_into ( ) ?) ?;
2322
2423 let window_open_options = WindowOpenOptions :: new ( )
2524 . with_size ( LogicalSize :: new ( 256 , 256 ) )
@@ -37,25 +36,29 @@ impl ParentWindowHandler {
3736}
3837
3938impl WindowHandler for ParentWindowHandler {
40- fn on_frame ( & self ) {
39+ fn on_frame ( & self ) -> Result < ( ) , HandlerError > {
4140 let mut surface = self . surface . borrow_mut ( ) ;
42- let mut buf = surface. buffer_mut ( ) . unwrap ( ) ;
41+ let mut buf = surface. buffer_mut ( ) ? ;
4342 if self . damaged . get ( ) {
4443 buf. fill ( 0xFFAAAAAA ) ;
4544 self . damaged . set ( false ) ;
4645 }
47- buf. present ( ) . unwrap ( ) ;
46+ buf. present ( ) ?;
47+
48+ Ok ( ( ) )
4849 }
4950
50- fn resized ( & self , new_size : WindowSize ) {
51+ fn resized ( & self , new_size : WindowSize ) -> Result < ( ) , HandlerError > {
5152 println ! ( "Parent Resized: {new_size:?}" ) ;
5253
5354 if let ( Some ( width) , Some ( height) ) =
5455 ( NonZeroU32 :: new ( new_size. physical . width ) , NonZeroU32 :: new ( new_size. physical . height ) )
5556 {
56- self . surface . borrow_mut ( ) . resize ( width, height) . unwrap ( ) ;
57+ self . surface . borrow_mut ( ) . resize ( width, height) ? ;
5758 self . damaged . set ( true ) ;
5859 }
60+
61+ Ok ( ( ) )
5962 }
6063
6164 fn on_event ( & self , event : Event ) -> EventStatus {
@@ -80,33 +83,36 @@ impl ChildWindowHandler {
8083 let ctx = softbuffer:: Context :: new ( window. clone ( ) ) ?;
8184 let mut surface = softbuffer:: Surface :: new ( & ctx, window. clone ( ) ) ?;
8285 let size = window. size ( ) . physical ;
83- surface
84- . resize ( NonZeroU32 :: new ( size. width ) . unwrap ( ) , NonZeroU32 :: new ( size. height ) . unwrap ( ) ) ?;
86+ surface. resize ( size. width . try_into ( ) ?, size. height . try_into ( ) ?) ?;
8587
8688 Ok ( Self { surface : surface. into ( ) , damaged : true . into ( ) } )
8789 }
8890}
8991
9092impl WindowHandler for ChildWindowHandler {
91- fn on_frame ( & self ) {
93+ fn on_frame ( & self ) -> Result < ( ) , HandlerError > {
9294 let mut surface = self . surface . borrow_mut ( ) ;
93- let mut buf = surface. buffer_mut ( ) . unwrap ( ) ;
95+ let mut buf = surface. buffer_mut ( ) ? ;
9496 if self . damaged . get ( ) {
9597 buf. fill ( 0xFFAA0000 ) ;
9698 self . damaged . set ( false ) ;
9799 }
98- buf. present ( ) . unwrap ( ) ;
100+ buf. present ( ) ?;
101+
102+ Ok ( ( ) )
99103 }
100104
101- fn resized ( & self , new_size : WindowSize ) {
105+ fn resized ( & self , new_size : WindowSize ) -> Result < ( ) , HandlerError > {
102106 println ! ( "Child Resized: {new_size:?}" ) ;
103107
104108 if let ( Some ( width) , Some ( height) ) =
105109 ( NonZeroU32 :: new ( new_size. physical . width ) , NonZeroU32 :: new ( new_size. physical . height ) )
106110 {
107- self . surface . borrow_mut ( ) . resize ( width, height) . unwrap ( ) ;
111+ self . surface . borrow_mut ( ) . resize ( width, height) ? ;
108112 self . damaged . set ( true ) ;
109113 }
114+
115+ Ok ( ( ) )
110116 }
111117
112118 fn on_event ( & self , event : Event ) -> EventStatus {
@@ -121,10 +127,10 @@ impl WindowHandler for ChildWindowHandler {
121127 }
122128}
123129
124- fn main ( ) {
130+ fn main ( ) -> Result < ( ) , baseview :: Error > {
125131 let window_open_options = WindowOpenOptions :: new ( ) . with_size ( LogicalSize :: new ( 512.0 , 512.0 ) ) ;
126132
127- baseview:: create_window ( window_open_options, ParentWindowHandler :: new)
128- . unwrap ( )
129- . run_until_closed ( ) ;
133+ baseview:: create_window ( window_open_options, ParentWindowHandler :: new) ? . run_until_closed ( ) ;
134+
135+ Ok ( ( ) )
130136}
0 commit comments