1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42
// Take a look at the license at the top of the repository in the LICENSE file. use crate::FrameClock; use glib::translate::*; impl FrameClock { /// Using the frame history stored in the frame clock, finds the last /// known presentation time and refresh interval, and assuming that /// presentation times are separated by the refresh interval, /// predicts a presentation time that is a multiple of the refresh /// interval after the last presentation time, and later than `base_time`. /// ## `base_time` /// base time for determining a presentaton time /// /// # Returns /// /// /// ## `refresh_interval_return` /// a location to store the /// determined refresh interval, or [`None`]. A default refresh interval of /// 1/60th of a second will be stored if no history is present. /// /// ## `presentation_time_return` /// a location to store the next /// candidate presentation time after the given base time. /// 0 will be will be stored if no history is present. #[doc(alias = "gdk_frame_clock_get_refresh_info")] #[doc(alias = "get_refresh_info")] pub fn refresh_info(&self, base_time: i64) -> (i64, i64) { unsafe { let mut refresh_interval = 0; let mut presentation_time = 0; ffi::gdk_frame_clock_get_refresh_info( self.to_glib_none().0, base_time, &mut refresh_interval, &mut presentation_time, ); (refresh_interval, presentation_time) } } }