maplibre_native_ffi/generated/frame_pacer.rs
1// Generated from C headers by tools/bindgen. Do not edit.
2use super::*;
3
4native_owner! {
5 /// Owns one native handle.
6 ///
7 /// Demands render sessions' frames at a display's refreshes.
8 ///
9 /// See `mln_frame_pacer` in the
10 /// [C API reference](https://maplibre.org/maplibre-native-ffi/reference/c/base_8h.html).
11 pub struct FramePacerHandle(mln_frame_pacer) dispose |raw| { unsafe { sys::mln_frame_pacer_release(raw) }; Ok(()) };
12 /// Returns the native handle value.
13 fn id;
14}
15
16impl FramePacerHandle {
17 /// Releases a frame pacer.
18 ///
19 /// Render sessions that use the pacer stay paced until you release them or
20 /// set another pacer.
21 ///
22 /// See `mln_frame_pacer_release` in the
23 /// [C API reference](https://maplibre.org/maplibre-native-ffi/reference/c/render__session_8h.html).
24 pub fn release(self) -> std::result::Result<(), ReleaseError<Self>> {
25 self.consume(|pacer| {
26 let mut call = Call::new(pacer);
27 call.run(|pacer| unsafe { sys::mln_frame_pacer_release(pacer) });
28 Ok(())
29 })
30 }
31}