From e2ddef74387bcd81859b56e47316c47d7b739a01 Mon Sep 17 00:00:00 2001 From: Héctor Ramón Jiménez Date: Thu, 12 Jan 2023 05:18:25 +0100 Subject: Replace `Option` with `RedrawRequest` enum --- native/src/shell.rs | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) (limited to 'native/src/shell.rs') diff --git a/native/src/shell.rs b/native/src/shell.rs index 81d2a0e6..f1ddb48e 100644 --- a/native/src/shell.rs +++ b/native/src/shell.rs @@ -1,4 +1,4 @@ -use std::time::Instant; +use crate::window; /// A connection to the state of a shell. /// @@ -9,7 +9,7 @@ use std::time::Instant; #[derive(Debug)] pub struct Shell<'a, Message> { messages: &'a mut Vec, - redraw_requested_at: Option, + redraw_request: Option, is_layout_invalid: bool, are_widgets_invalid: bool, } @@ -19,7 +19,7 @@ impl<'a, Message> Shell<'a, Message> { pub fn new(messages: &'a mut Vec) -> Self { Self { messages, - redraw_requested_at: None, + redraw_request: None, is_layout_invalid: false, are_widgets_invalid: false, } @@ -31,21 +31,21 @@ impl<'a, Message> Shell<'a, Message> { } /// Requests a new frame to be drawn at the given [`Instant`]. - pub fn request_redraw(&mut self, at: Instant) { - match self.redraw_requested_at { + pub fn request_redraw(&mut self, request: window::RedrawRequest) { + match self.redraw_request { None => { - self.redraw_requested_at = Some(at); + self.redraw_request = Some(request); } - Some(current) if at < current => { - self.redraw_requested_at = Some(at); + Some(current) if request < current => { + self.redraw_request = Some(request); } _ => {} } } /// Returns the requested [`Instant`] a redraw should happen, if any. - pub fn redraw_requested_at(&self) -> Option { - self.redraw_requested_at + pub fn redraw_request(&self) -> Option { + self.redraw_request } /// Returns whether the current layout is invalid or not. @@ -90,7 +90,7 @@ impl<'a, Message> Shell<'a, Message> { pub fn merge(&mut self, other: Shell<'_, B>, f: impl Fn(B) -> Message) { self.messages.extend(other.messages.drain(..).map(f)); - if let Some(at) = other.redraw_requested_at { + if let Some(at) = other.redraw_request { self.request_redraw(at); } -- cgit