summaryrefslogtreecommitdiffstats
path: root/native/src/window.rs
diff options
context:
space:
mode:
Diffstat (limited to 'native/src/window.rs')
-rw-r--r--native/src/window.rs15
1 files changed, 15 insertions, 0 deletions
diff --git a/native/src/window.rs b/native/src/window.rs
index 1b97e655..4bccc471 100644
--- a/native/src/window.rs
+++ b/native/src/window.rs
@@ -8,3 +8,18 @@ pub use action::Action;
pub use event::Event;
pub use mode::Mode;
pub use user_attention::UserAttention;
+
+use crate::subscription::{self, Subscription};
+
+use std::time::Instant;
+
+/// Subscribes to the frames of the window of the running application.
+///
+/// The resulting [`Subscription`] will produce items at a rate equal to the
+/// framerate of the monitor of said window.
+pub fn frames() -> Subscription<Instant> {
+ subscription::raw_events(|event, _status| match event {
+ crate::Event::Window(Event::RedrawRequested(at)) => Some(at),
+ _ => None,
+ })
+}