sequoia-core 0.1.1

Sequoia GUI framework — core types (geometry, color, events)
Documentation
use std::time::Duration;

pub trait DurationExt {
    fn ms(self) -> Duration;

    fn secs(self) -> Duration;
}

impl DurationExt for u64 {
    fn ms(self) -> Duration {
        Duration::from_millis(self)
    }

    fn secs(self) -> Duration {
        Duration::from_secs(self)
    }
}

impl DurationExt for f64 {
    fn ms(self) -> Duration {
        Duration::from_secs_f64(self / 1000.0)
    }

    fn secs(self) -> Duration {
        Duration::from_secs_f64(self)
    }
}

#[cfg(test)]
mod tests {
    use super::*;

    #[test]
    fn conversions() {
        assert_eq!(250.ms(), Duration::from_millis(250));
        assert_eq!(2.secs(), Duration::from_secs(2));

        assert_eq!(1500.0.ms(), Duration::from_millis(1500));
        assert_eq!(1.5.secs(), Duration::from_millis(1500));
    }
}