Replace Option<Instant> with RedrawRequest enum

This commit is contained in:
Héctor Ramón Jiménez 2023-01-12 05:18:25 +01:00
parent 502c9bfbf6
commit e2ddef7438
No known key found for this signature in database
GPG key ID: 140CC052C94F138E
8 changed files with 84 additions and 31 deletions

View file

@ -332,6 +332,7 @@ async fn run_instance<A, E, C>(
redraw_pending = matches!(
start_cause,
event::StartCause::Init
| event::StartCause::Poll
| event::StartCause::ResumeTimeReached { .. }
);
}
@ -440,8 +441,15 @@ async fn run_instance<A, E, C>(
let _ = control_sender.start_send(match interface_state {
user_interface::State::Updated {
redraw_requested_at: Some(at),
} => ControlFlow::WaitUntil(at),
redraw_request: Some(redraw_request),
} => match redraw_request {
crate::window::RedrawRequest::NextFrame => {
ControlFlow::Poll
}
crate::window::RedrawRequest::At(at) => {
ControlFlow::WaitUntil(at)
}
},
_ => ControlFlow::Wait,
});