summaryrefslogtreecommitdiffstats
path: root/native/src/user_interface.rs
diff options
context:
space:
mode:
authorLibravatar Héctor Ramón Jiménez <hector0193@gmail.com>2023-01-12 05:18:25 +0100
committerLibravatar Héctor Ramón Jiménez <hector0193@gmail.com>2023-01-12 05:18:25 +0100
commite2ddef74387bcd81859b56e47316c47d7b739a01 (patch)
tree03864b74535a2abc6fdcfd5d08f3f9539e8b4004 /native/src/user_interface.rs
parent502c9bfbf6eb6193adf6c88abdc4cef90816a04b (diff)
downloadiced-e2ddef74387bcd81859b56e47316c47d7b739a01.tar.gz
iced-e2ddef74387bcd81859b56e47316c47d7b739a01.tar.bz2
iced-e2ddef74387bcd81859b56e47316c47d7b739a01.zip
Replace `Option<Instant>` with `RedrawRequest` enum
Diffstat (limited to '')
-rw-r--r--native/src/user_interface.rs23
1 files changed, 10 insertions, 13 deletions
diff --git a/native/src/user_interface.rs b/native/src/user_interface.rs
index 49a6b00e..025f28a1 100644
--- a/native/src/user_interface.rs
+++ b/native/src/user_interface.rs
@@ -5,10 +5,9 @@ use crate::layout;
use crate::mouse;
use crate::renderer;
use crate::widget;
+use crate::window;
use crate::{Clipboard, Element, Layout, Point, Rectangle, Shell, Size};
-use std::time::Instant;
-
/// A set of interactive graphical elements with a specific [`Layout`].
///
/// It can be updated and drawn.
@@ -191,7 +190,7 @@ where
use std::mem::ManuallyDrop;
let mut outdated = false;
- let mut redraw_requested_at = None;
+ let mut redraw_request = None;
let mut manual_overlay =
ManuallyDrop::new(self.root.as_widget_mut().overlay(
@@ -221,12 +220,12 @@ where
event_statuses.push(event_status);
- match (redraw_requested_at, shell.redraw_requested_at()) {
+ match (redraw_request, shell.redraw_request()) {
(None, Some(at)) => {
- redraw_requested_at = Some(at);
+ redraw_request = Some(at);
}
(Some(current), Some(new)) if new < current => {
- redraw_requested_at = Some(new);
+ redraw_request = Some(new);
}
_ => {}
}
@@ -303,12 +302,12 @@ where
self.overlay = None;
}
- match (redraw_requested_at, shell.redraw_requested_at()) {
+ match (redraw_request, shell.redraw_request()) {
(None, Some(at)) => {
- redraw_requested_at = Some(at);
+ redraw_request = Some(at);
}
(Some(current), Some(new)) if new < current => {
- redraw_requested_at = Some(new);
+ redraw_request = Some(new);
}
_ => {}
}
@@ -334,9 +333,7 @@ where
if outdated {
State::Outdated
} else {
- State::Updated {
- redraw_requested_at,
- }
+ State::Updated { redraw_request }
},
event_statuses,
)
@@ -594,6 +591,6 @@ pub enum State {
/// rebuilding.
Updated {
/// The [`Instant`] when a redraw should be performed.
- redraw_requested_at: Option<Instant>,
+ redraw_request: Option<window::RedrawRequest>,
},
}