diff options
author | 2023-01-12 05:18:25 +0100 | |
---|---|---|
committer | 2023-01-12 05:18:25 +0100 | |
commit | e2ddef74387bcd81859b56e47316c47d7b739a01 (patch) | |
tree | 03864b74535a2abc6fdcfd5d08f3f9539e8b4004 /native/src/shell.rs | |
parent | 502c9bfbf6eb6193adf6c88abdc4cef90816a04b (diff) | |
download | iced-e2ddef74387bcd81859b56e47316c47d7b739a01.tar.gz iced-e2ddef74387bcd81859b56e47316c47d7b739a01.tar.bz2 iced-e2ddef74387bcd81859b56e47316c47d7b739a01.zip |
Replace `Option<Instant>` with `RedrawRequest` enum
Diffstat (limited to 'native/src/shell.rs')
-rw-r--r-- | native/src/shell.rs | 22 |
1 files changed, 11 insertions, 11 deletions
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<Message>, - redraw_requested_at: Option<Instant>, + redraw_request: Option<window::RedrawRequest>, 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<Message>) -> 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<Instant> { - self.redraw_requested_at + pub fn redraw_request(&self) -> Option<window::RedrawRequest> { + 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<B>(&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); } |