///|
priv struct Clock {
mut last_time_ms : Double?
}
///|
fn Clock::new() -> Clock {
{ last_time_ms: None, }
}
///|
fn Clock::frame(self : Clock, time_ms : Double) -> Frame {
let delta = match self.last_time_ms {
Some(last) => (time_ms - last).max(0.0)
None => 0.0
}
self.last_time_ms = Some(time_ms)
{ time_ms, delta_ms: delta, }
}