iced_core/window/
redraw_request.rs
1use crate::time::Instant;
2
3#[derive(Debug, Clone, Copy, PartialEq, Eq, PartialOrd, Ord)]
5pub enum RedrawRequest {
6 NextFrame,
8
9 At(Instant),
11}
12
13#[cfg(test)]
14mod tests {
15 use super::*;
16 use crate::time::Duration;
17
18 #[test]
19 fn ordering() {
20 let now = Instant::now();
21 let later = now + Duration::from_millis(10);
22
23 assert_eq!(RedrawRequest::NextFrame, RedrawRequest::NextFrame);
24 assert_eq!(RedrawRequest::At(now), RedrawRequest::At(now));
25
26 assert!(RedrawRequest::NextFrame < RedrawRequest::At(now));
27 assert!(RedrawRequest::At(now) > RedrawRequest::NextFrame);
28 assert!(RedrawRequest::At(now) < RedrawRequest::At(later));
29 assert!(RedrawRequest::At(later) > RedrawRequest::At(now));
30
31 assert!(RedrawRequest::NextFrame <= RedrawRequest::NextFrame);
32 assert!(RedrawRequest::NextFrame <= RedrawRequest::At(now));
33 assert!(RedrawRequest::At(now) >= RedrawRequest::NextFrame);
34 assert!(RedrawRequest::At(now) <= RedrawRequest::At(now));
35 assert!(RedrawRequest::At(now) <= RedrawRequest::At(later));
36 assert!(RedrawRequest::At(later) >= RedrawRequest::At(now));
37 }
38}