pub mod framerate {
use std::time::Duration;
pub const TWENTY_FPS: Duration = Duration::from_nanos(50_000_000); pub const THIRTY_FPS: Duration = Duration::from_nanos(33_333_333); pub const SIXTY_FPS: Duration = Duration::from_nanos(16_666_667); pub const NINETY_FPS: Duration = Duration::from_nanos(11_111_111); pub const ONE_TWENTY_FPS: Duration = Duration::from_nanos(8_333_333); pub const ONE_FORTY_FOUR_FPS: Duration = Duration::from_nanos(6_944_444); pub const TWO_FORTY_FPS: Duration = Duration::from_nanos(4_166_667);
pub fn ms_per_frame(fps: u32) -> Duration {
Duration::from_millis(1000) / fps
}
}
pub mod macros {
#[allow(unused_macros)]
macro_rules! create_constants {
($struct_name:ident { $($const_name:ident: $type:ty = $value:expr),* }) => {
impl $struct_name {
$(pub const $const_name: $type = $value;)*
}
}
}
}