diff options
-rw-r--r-- | native/Cargo.toml | 5 | ||||
-rw-r--r-- | native/src/debug/basic.rs | 4 | ||||
-rw-r--r-- | native/src/lib.rs | 1 | ||||
-rw-r--r-- | native/src/mouse/click.rs | 2 | ||||
-rw-r--r-- | native/src/time.rs | 7 | ||||
-rw-r--r-- | src/time.rs | 6 |
6 files changed, 19 insertions, 6 deletions
diff --git a/native/Cargo.toml b/native/Cargo.toml index d8e75a4e..499ad29e 100644 --- a/native/Cargo.toml +++ b/native/Cargo.toml @@ -14,7 +14,6 @@ debug = [] twox-hash = { version = "1.5", default-features = false } unicode-segmentation = "1.6" num-traits = "0.2" -instant = { version="0.1", features=["wasm-bindgen"] } [dependencies.iced_core] version = "0.4" @@ -28,3 +27,7 @@ features = ["thread-pool"] [dependencies.iced_style] version = "0.3" path = "../style" + +[target.'cfg(target_arch = "wasm32")'.dependencies.instant] +version = "0.1" +features = ["wasm-bindgen"] diff --git a/native/src/debug/basic.rs b/native/src/debug/basic.rs index a42f66ea..d706bb00 100644 --- a/native/src/debug/basic.rs +++ b/native/src/debug/basic.rs @@ -1,5 +1,7 @@ #![allow(missing_docs)] -use std::{collections::VecDeque, time}; +use crate::time; + +use std::collections::VecDeque; /// A bunch of time measurements for debugging purposes. #[derive(Debug)] diff --git a/native/src/lib.rs b/native/src/lib.rs index a5526e6d..bd50c6b2 100644 --- a/native/src/lib.rs +++ b/native/src/lib.rs @@ -49,6 +49,7 @@ pub mod renderer; pub mod subscription; pub mod svg; pub mod text; +pub mod time; pub mod touch; pub mod user_interface; pub mod widget; diff --git a/native/src/mouse/click.rs b/native/src/mouse/click.rs index 58cfda61..ec321387 100644 --- a/native/src/mouse/click.rs +++ b/native/src/mouse/click.rs @@ -1,6 +1,6 @@ //! Track mouse clicks. +use crate::time::Instant; use crate::Point; -use instant::Instant; /// A mouse click. #[derive(Debug, Clone, Copy)] diff --git a/native/src/time.rs b/native/src/time.rs new file mode 100644 index 00000000..5f95ee86 --- /dev/null +++ b/native/src/time.rs @@ -0,0 +1,7 @@ +//! Keep track of time, both in native and web platforms! + +#[cfg(target_arch = "wasm32")] +pub use instant::{Duration, Instant}; + +#[cfg(not(target_arch = "wasm32"))] +pub use std::time::{Duration, Instant}; diff --git a/src/time.rs b/src/time.rs index b8432895..943aa42f 100644 --- a/src/time.rs +++ b/src/time.rs @@ -1,12 +1,12 @@ //! Listen and react to time. +pub use crate::runtime::time::{Duration, Instant}; + use crate::Subscription; /// Returns a [`Subscription`] that produces messages at a set interval. /// /// The first message is produced after a `duration`, and then continues to /// produce more messages every `duration` after that. -pub fn every( - duration: std::time::Duration, -) -> Subscription<std::time::Instant> { +pub fn every(duration: Duration) -> Subscription<Instant> { iced_futures::time::every(duration) } |