@@ -657,7 +657,7 @@ pub fn winit_runner(mut app: App) {
657
657
} ) ;
658
658
}
659
659
WindowEvent :: RedrawRequested => {
660
- redraw_requested (
660
+ run_app_update_if_should (
661
661
& mut runner_state,
662
662
& mut app,
663
663
& mut focused_windows_state,
@@ -762,24 +762,7 @@ pub fn winit_runner(mut app: App) {
762
762
}
763
763
}
764
764
765
- fn react_to_resize (
766
- window : & mut Mut < ' _ , Window > ,
767
- size : winit:: dpi:: PhysicalSize < u32 > ,
768
- event_writers : & mut WindowAndInputEventWriters < ' _ > ,
769
- window_entity : Entity ,
770
- ) {
771
- window
772
- . resolution
773
- . set_physical_resolution ( size. width , size. height ) ;
774
-
775
- event_writers. window_resized . send ( WindowResized {
776
- window : window_entity,
777
- width : window. width ( ) ,
778
- height : window. height ( ) ,
779
- } ) ;
780
- }
781
-
782
- fn redraw_requested (
765
+ fn run_app_update_if_should (
783
766
runner_state : & mut WinitAppRunnerState ,
784
767
app : & mut App ,
785
768
focused_windows_state : & mut SystemState < ( Res < WinitSettings > , Query < & Window > ) > ,
@@ -814,13 +797,11 @@ fn redraw_requested(
814
797
let ( config, windows) = focused_windows_state. get ( & app. world ) ;
815
798
let focused = windows. iter ( ) . any ( |window| window. focused ) ;
816
799
let should_update = match config. update_mode ( focused) {
817
- UpdateMode :: Continuous | UpdateMode :: Reactive { .. } => {
818
- // `Reactive`: In order for `event_handler` to have been called, either
819
- // we received a window or raw input event, the `wait` elapsed, or a
820
- // redraw was requested (by the app or the OS). There are no other
821
- // conditions, so we can just return `true` here.
822
- true
823
- }
800
+ // `Reactive`: In order for `event_handler` to have been called, either
801
+ // we received a window or raw input event, the `wait` elapsed, or a
802
+ // redraw was requested (by the app or the OS). There are no other
803
+ // conditions, so we can just return `true` here.
804
+ UpdateMode :: Continuous | UpdateMode :: Reactive { .. } => true ,
824
805
UpdateMode :: ReactiveLowPower { .. } => {
825
806
runner_state. wait_elapsed
826
807
|| runner_state. redraw_requested
@@ -898,3 +879,20 @@ fn redraw_requested(
898
879
899
880
create_window_system_state. apply ( & mut app. world ) ;
900
881
}
882
+
883
+ fn react_to_resize (
884
+ window : & mut Mut < ' _ , Window > ,
885
+ size : winit:: dpi:: PhysicalSize < u32 > ,
886
+ event_writers : & mut WindowAndInputEventWriters < ' _ > ,
887
+ window_entity : Entity ,
888
+ ) {
889
+ window
890
+ . resolution
891
+ . set_physical_resolution ( size. width , size. height ) ;
892
+
893
+ event_writers. window_resized . send ( WindowResized {
894
+ window : window_entity,
895
+ width : window. width ( ) ,
896
+ height : window. height ( ) ,
897
+ } ) ;
898
+ }
0 commit comments